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

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

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Supporting Structure</b></em>'.
 * <!-- end-user-doc -->
 *
 * @generated
 */
public class SupportingStructureImpl extends HardwareImpl implements SupportingStructure {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SupportingStructureImpl() {
		super();
	}

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

} // SupportingStructureImpl
