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

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

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Water Surface</b></em>'.
 * <!-- end-user-doc -->
 *
 * @generated
 */
public class WaterSurfaceImpl extends SurfaceImpl implements WaterSurface {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected WaterSurfaceImpl() {
		super();
	}

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

} // WaterSurfaceImpl
