Skip to content
Snippets Groups Projects
graphics3D.ecore 8.88 KiB
Newer Older
Florian Hölzl's avatar
Florian Hölzl committed
<?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="model"
    nsURI="http://www.fortiss.org/tooling/graphics3D" nsPrefix="org-fortiss-tooling-graphics3D">
  <eClassifiers xsi:type="ecore:EClass" name="Vector3D">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="z" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Color3D">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="red" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="green" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="blue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Positioned3DBase" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EReference" name="position" eType="#//Vector3D"
        containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LightSystemEntity3DBase" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ambient" eType="#//Color3D"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="diffuse" eType="#//Color3D"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specular" eType="#//Color3D"
        containment="true"/>
  </eClassifiers>
  <eSubpackages name="graph" nsURI="http://www.fortiss.org/tooling/graphics3D/graph"
      nsPrefix="org-fortiss-tooling-graphics3D-graph">
    <eClassifiers xsi:type="ecore:EClass" name="CoordinateSystem3D">
      <eStructuralFeatures xsi:type="ecore:EReference" name="xAxis" eType="#//graph/Axis3D"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="yAxis" eType="#//graph/Axis3D"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="zAxis" eType="#//graph/Axis3D"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Axis3D">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="color" eType="#//Color3D"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="GraphPoint3D" eSuperTypes="#//Positioned3DBase">
      <eStructuralFeatures xsi:type="ecore:EReference" name="color" eType="#//Color3D"/>
    </eClassifiers>
Florian Hölzl's avatar
Florian Hölzl committed
    <eClassifiers xsi:type="ecore:EClass" name="GraphLine3D">
      <eStructuralFeatures xsi:type="ecore:EReference" name="start" eType="#//graph/GraphPoint3D"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="end" eType="#//graph/GraphPoint3D"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="color" eType="#//Color3D"/>
Florian Hölzl's avatar
Florian Hölzl committed
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Graph3D">
      <eStructuralFeatures xsi:type="ecore:EReference" name="coordinateSystem" eType="#//graph/CoordinateSystem3D"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="points" upperBound="-1"
          eType="#//graph/GraphPoint3D" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="lines" upperBound="-1"
          eType="#//graph/GraphLine3D" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="texts" upperBound="-1"
          eType="#//graph/GraphText3D"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="GraphText3D">
      <eStructuralFeatures xsi:type="ecore:EReference" name="position" eType="#//graph/GraphPoint3D"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Florian Hölzl's avatar
Florian Hölzl committed
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="mesh" nsURI="http://www.fortiss.org/tooling/graphics3D/mesh"
      nsPrefix="org-fortiss-tooling-graphics3D-mesh">
    <eClassifiers xsi:type="ecore:EClass" name="Mesh3D">
      <eStructuralFeatures xsi:type="ecore:EReference" name="materialGroups" upperBound="-1"
          eType="#//mesh/MaterialGroup3D" containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Vertex3D" eSuperTypes="#//Vector3D"/>
    <eClassifiers xsi:type="ecore:EClass" name="Normal3D" eSuperTypes="#//Vector3D"/>
    <eClassifiers xsi:type="ecore:EClass" name="Face3D">
      <eStructuralFeatures xsi:type="ecore:EReference" name="vertices" upperBound="-1"
          eType="#//mesh/Vertex3D" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="normals" upperBound="-1"
          eType="#//mesh/Normal3D" containment="true"/>
Florian Hölzl's avatar
Florian Hölzl committed
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Material3D" eSuperTypes="#//LightSystemEntity3DBase">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="specularCoeff" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="MaterialGroup3D">
      <eStructuralFeatures xsi:type="ecore:EReference" name="faces" upperBound="-1"
          eType="#//mesh/Face3D" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="material" eType="#//mesh/Material3D"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="smoothShading" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="scene" nsURI="http://www.fortiss.org/tooling/graphics3D/scene"
      nsPrefix="org-fortiss-tooling-graphics3D-scene">
    <eClassifiers xsi:type="ecore:EClass" name="Object3D" eSuperTypes="#//Positioned3DBase platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//INamedCommentedElement">
Florian Hölzl's avatar
Florian Hölzl committed
      <eStructuralFeatures xsi:type="ecore:EReference" name="mesh" eType="#//mesh/Mesh3D"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Camera3D" eSuperTypes="#//Positioned3DBase platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//INamedCommentedElement">
Florian Hölzl's avatar
Florian Hölzl committed
      <eStructuralFeatures xsi:type="ecore:EReference" name="lookAtLocation" eType="#//Vector3D"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Light3D" eSuperTypes="#//LightSystemEntity3DBase #//Positioned3DBase platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//INamedCommentedElement">
Florian Hölzl's avatar
Florian Hölzl committed
      <eOperations name="getConstantAttenuation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Florian Hölzl's avatar
Florian Hölzl committed
          <details key="body" value="return Light3DStaticImpl.getConstantAttenuation(this);"/>
Florian Hölzl's avatar
Florian Hölzl committed
        </eAnnotations>
      </eOperations>
      <eOperations name="getLinearAttenuation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Florian Hölzl's avatar
Florian Hölzl committed
          <details key="body" value="return Light3DStaticImpl.getLinearAttenuation(this);"/>
Florian Hölzl's avatar
Florian Hölzl committed
        </eAnnotations>
      </eOperations>
      <eOperations name="getQuadraticAttenuation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Florian Hölzl's avatar
Florian Hölzl committed
          <details key="body" value="return Light3DStaticImpl.getQuadraticAttenuation(this);"/>
Florian Hölzl's avatar
Florian Hölzl committed
        </eAnnotations>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="attenuation" eType="#//Vector3D"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="directional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
Florian Hölzl's avatar
Florian Hölzl committed
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Scene3D" eSuperTypes="platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//IIdLabeled">
Florian Hölzl's avatar
Florian Hölzl committed
      <eStructuralFeatures xsi:type="ecore:EReference" name="cameras" upperBound="-1"
          eType="#//scene/Camera3D" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="lights" upperBound="-1"
          eType="#//scene/Light3D" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="objects" upperBound="-1"
          eType="#//scene/Object3D" containment="true"/>
    </eClassifiers>
  </eSubpackages>
</ecore:EPackage>