| <?xml version="1.0" encoding="UTF-8"?> |
| <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="rpygeometry" nsURI="http://www.eclipse.org/papyrus/rpygeometry/1.0.0" |
| nsPrefix="rpygeom"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="RpyGeometry"/> |
| </eAnnotations> |
| <eClassifiers xsi:type="ecore:EClass" name="TransformMatrix"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="Refer to https://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace for the meaning of each matrix member"/> |
| </eAnnotations> |
| <eOperations name="add" ordered="false" lowerBound="1" eType="#//TransformMatrix"> |
| <eParameters name="matrix" ordered="false" lowerBound="1" eType="#//TransformMatrix"/> |
| </eOperations> |
| <eOperations name="minus" ordered="false" lowerBound="1" eType="#//TransformMatrix"/> |
| <eOperations name="minus" ordered="false" lowerBound="1" eType="#//TransformMatrix"> |
| <eParameters name="matrix" ordered="false" lowerBound="1" eType="#//TransformMatrix"/> |
| </eOperations> |
| <eOperations name="multiply" ordered="false" lowerBound="1" eType="#//Point"> |
| <eParameters name="point" ordered="false" lowerBound="1" eType="#//Point"/> |
| </eOperations> |
| <eOperations name="multiply" ordered="false" lowerBound="1" eType="#//TransformMatrix"> |
| <eParameters name="matrix" ordered="false" lowerBound="1" eType="#//TransformMatrix"/> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="a" ordered="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="b" ordered="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="c" ordered="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="d" ordered="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="e" ordered="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="f" ordered="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Point"> |
| <eOperations name="minus" ordered="false" lowerBound="1" eType="#//Point"/> |
| <eOperations name="minus" ordered="false" lowerBound="1" eType="#//Point"> |
| <eParameters name="point" ordered="false" lowerBound="1" eType="#//Point"/> |
| </eOperations> |
| <eOperations name="add" ordered="false" lowerBound="1" eType="#//Point"> |
| <eParameters name="point" ordered="false" lowerBound="1" eType="#//Point"/> |
| </eOperations> |
| <eOperations name="getIntX" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> |
| <eOperations name="getIntY" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="X" ordered="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="Y" ordered="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="RpyShape"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="All the values are expressed in the root coordinate system (transformation matrixes are applied)
The only attribute to set is the rpyMetamodelObject. All the other attributes will be derived from it if possible"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="transform" ordered="false" |
| lowerBound="1" eType="#//TransformMatrix" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="rectangle" ordered="false" |
| lowerBound="1" eType="#//Rectangle" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parent" ordered="false" |
| eType="#//RpyShape"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="rpyMetamodelObject" ordered="false" |
| lowerBound="1" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parentRelativePosition" |
| ordered="false" lowerBound="1" eType="#//Point" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="height" ordered="false" |
| lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" ordered="false" |
| lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="absolutePosition" ordered="false" |
| lowerBound="1" eType="#//Point" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Rectangle" eSuperTypes="#//Polygon"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="topLeft" ordered="false" |
| lowerBound="1" eType="#//Point" volatile="true" transient="true" unsettable="true" |
| derived="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="topRight" ordered="false" |
| lowerBound="1" eType="#//Point" volatile="true" transient="true" unsettable="true" |
| derived="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="bottomLeft" ordered="false" |
| lowerBound="1" eType="#//Point" volatile="true" transient="true" unsettable="true" |
| derived="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="bottomRight" ordered="false" |
| lowerBound="1" eType="#//Point" volatile="true" transient="true" unsettable="true" |
| derived="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Polygon"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="points" ordered="false" |
| lowerBound="1" upperBound="-1" eType="#//Point" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="Position"> |
| <eLiterals name="NORTH"/> |
| <eLiterals name="SOUTH" value="1"/> |
| <eLiterals name="EAST" value="2"/> |
| <eLiterals name="WEST" value="3"/> |
| <eLiterals name="NORTH_EAST" value="4"/> |
| <eLiterals name="NORTH_WEST" value="5"/> |
| <eLiterals name="SOUTH_EAST" value="6"/> |
| <eLiterals name="SOUTH_WEST" value="7"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="RpyPort" eSuperTypes="#//RpyShape"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="position" ordered="false" |
| lowerBound="1" eType="#//Position"/> |
| </eClassifiers> |
| </ecore:EPackage> |