<?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/base/model" nsPrefix="org-fortiss-tooling-base-model">
  <eSubpackages name="element" nsURI="http://www.fortiss.org/tooling/base/model/element"
      nsPrefix="org-fortiss-tooling-base-model-element">
    <eClassifiers xsi:type="ecore:EClass" name="IModelElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of first class model elements."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="specifications" upperBound="-1"
          eType="#//element/IModelElementSpecification" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="List of model element specifications providing additional model element properties."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referencedBy" upperBound="-1"
          eType="#//element/IModelElementReference" eOpposite="#//element/IModelElementReference/reference">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="List of model element references."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IModelElementSpecification" abstract="true"
        interface="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of model element specifications. Such specifications provide additional plugable properties."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IModelElementReference" abstract="true"
        interface="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of EObjects referencing model elements."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="reference" eType="#//element/IModelElement"
          eOpposite="#//element/IModelElement/referencedBy">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The referenced model element."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IHierarchicElement" abstract="true"
        interface="true" eSuperTypes="#//element/IHierarchicElementContainer #//element/IModelElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of hierarchic model elements."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1"
          eType="#//element/IConnection" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="List of aggregated connection model elements. Usually a hierarchic element aggregates all connections of its direct sub-structure."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="connectors" upperBound="-1"
          eType="#//element/IConnector" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="List of aggregated connectors."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IHierarchicElementContainer" abstract="true"
        interface="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of containers of hierarchic model elements."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="containedElements" upperBound="-1"
          eType="#//element/IHierarchicElement" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The contained hierarchic model elements."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IConnector" abstract="true" interface="true"
        eSuperTypes="#//element/IModelElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of connectors. Connectors reference incoming and outgoing connection model elements."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" upperBound="-1"
          eType="#//element/IConnection" eOpposite="#//element/IConnection/target">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The incoming connections."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" upperBound="-1"
          eType="#//element/IConnection" eOpposite="#//element/IConnection/source">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The outgoing connections."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IConnection" abstract="true" interface="true"
        eSuperTypes="#//element/IModelElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of connections. Connections are aggregated in a hierarchic model element and reference two connectors from that element or any direct sub-elenent."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//element/IConnector"
          eOpposite="#//element/IConnector/outgoing">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The connection's source connector."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//element/IConnector"
          eOpposite="#//element/IConnector/incoming">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The connection's target connector."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IHiddenSpecification" abstract="true"
        interface="true" eSuperTypes="#//element/IModelElementSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of model element specifications, which should be excluded from the navigator view."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IAnnotatedSpecification" eSuperTypes="#//element/IModelElementSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of hidden model element specifications that represent annotations."/>
      </eAnnotations>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="layout" nsURI="http://www.fortiss.org/tooling/base/model/layout"
      nsPrefix="org-fortiss-tooling-base-model-layout">
    <eClassifiers xsi:type="ecore:EClass" name="ILayoutedModelElement" abstract="true"
        interface="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of model elements with layout data."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="layoutData" upperBound="-1"
          eType="#//layout/ILayoutData" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Stores the aggregated layout data."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ILayoutData" abstract="true" interface="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Super class of all layout data objects."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The layout key indicating how the layout data is to be interpreted."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Point" eSuperTypes="#//layout/ILayoutData">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Layout data for 2D locations."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The horizontal X coordinate."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The vertical Y coordinate."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Dimension" eSuperTypes="#//layout/ILayoutData">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Layout data for 2D dimensions."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
          defaultValueLiteral="10">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The width."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="height" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
          defaultValueLiteral="10">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The height."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="EOrientation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Enumeration of 2D directions and orientations."/>
      </eAnnotations>
      <eLiterals name="NORTH"/>
      <eLiterals name="EAST" value="1"/>
      <eLiterals name="SOUTH" value="2"/>
      <eLiterals name="WEST" value="3"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Orientation" eSuperTypes="#//layout/ILayoutData">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Layout data for 2D orientations."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="orientation" lowerBound="1"
          eType="#//layout/EOrientation" defaultValueLiteral="NORTH">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The orientation."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Points" eSuperTypes="#//layout/ILayoutData">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Layout data for a sequence of 2D locations."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="points" upperBound="-1"
          eType="#//layout/Point" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The aggregated locations."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Angle" eSuperTypes="#//layout/ILayoutData">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Layout data for an angle (the interpretation of the double value is application dependent)."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="angle" lowerBound="1"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
          defaultValueLiteral="0">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The double value of the angle."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Offset" eSuperTypes="#//layout/ILayoutData">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Layout data of a single dimensional offset."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" lowerBound="1"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The offset value."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OffsetOrientation" eSuperTypes="#//layout/Offset #//layout/Orientation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Combines an offset with an orientation."/>
      </eAnnotations>
    </eClassifiers>
  </eSubpackages>
</ecore:EPackage>