/**
 */
package org.eclipse.papyrus.RobotML.impl;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.papyrus.RobotML.InertialMeasurementUnitSystem;
import org.eclipse.papyrus.RobotML.RobotMLPackage;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Inertial Measurement Unit System</b></em>'.
 * <!-- end-user-doc -->
 *
 * @generated
 */
public class InertialMeasurementUnitSystemImpl extends SensorSystemImpl implements InertialMeasurementUnitSystem {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected InertialMeasurementUnitSystemImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return RobotMLPackage.Literals.INERTIAL_MEASUREMENT_UNIT_SYSTEM;
	}

} // InertialMeasurementUnitSystemImpl
