浏览代码

Reverting back

Panagiotis Christopoulos Charitos 14 年之前
父节点
当前提交
1846d1e64b

+ 345 - 345
docs/drafts/scene.xmi

@@ -1,526 +1,526 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<XMI verified="false" xmi.version="1.2" timestamp="2011-10-06T19:17:02" xmlns:UML="http://schema.omg.org/spec/UML/1.3" >
+<XMI verified="false" xmi.version="1.2" timestamp="2011-10-06T22:42:48" xmlns:UML="http://schema.omg.org/spec/UML/1.3">
  <XMI.header>
   <XMI.documentation>
    <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
    <XMI.exporterVersion>1.5.8</XMI.exporterVersion>
    <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
   </XMI.documentation>
-  <XMI.metamodel xmi.version="1.3" href="UML.xml" xmi.name="UML" />
+  <XMI.metamodel xmi.version="1.3" href="UML.xml" xmi.name="UML"/>
  </XMI.header>
  <XMI.content>
-  <UML:Model isSpecification="false" isAbstract="false" isLeaf="false" xmi.id="m1" isRoot="false" name="UML Model" >
+  <UML:Model isSpecification="false" isAbstract="false" isLeaf="false" xmi.id="m1" isRoot="false" name="UML Model">
    <UML:Namespace.ownedElement>
-    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="folder" name="folder" />
-    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="datatype" name="datatype" />
-    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Logical View" name="Logical View" >
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="folder" name="folder"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="datatype" name="datatype"/>
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Logical View" name="Logical View">
      <UML:Namespace.ownedElement>
-      <UML:Package stereotype="folder" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Datatypes" name="Datatypes" >
+      <UML:Package stereotype="folder" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Datatypes" name="Datatypes">
        <UML:Namespace.ownedElement>
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="kzAJrVD4EJ76" name="int" />
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="cX4NFIZFaUzG" name="char" />
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="IOPQJxo1uxLj" name="bool" />
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="QWncpthQOjne" name="float" />
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="2Nraprq5DFWU" name="double" />
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="AIU3DpmeJYG7" name="short" />
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="PxVlhGPhdFHQ" name="long" />
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="46UFJyjSGDVS" name="unsigned int" />
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="0F6IlKP8Guux" name="unsigned short" />
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="AHcmWrAaxepH" name="unsigned long" />
-        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="cXhriCJhPNzB" name="string" />
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="kzAJrVD4EJ76" name="int"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="cX4NFIZFaUzG" name="char"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="IOPQJxo1uxLj" name="bool"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="QWncpthQOjne" name="float"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="2Nraprq5DFWU" name="double"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="AIU3DpmeJYG7" name="short"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="PxVlhGPhdFHQ" name="long"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="46UFJyjSGDVS" name="unsigned int"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="0F6IlKP8Guux" name="unsigned short"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="AHcmWrAaxepH" name="unsigned long"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="cXhriCJhPNzB" name="string"/>
        </UML:Namespace.ownedElement>
       </UML:Package>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="HxGBsOTUAxKJ" name="SceneNode" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="HxGBsOTUAxKJ" name="SceneNode">
        <UML:Classifier.feature>
-        <UML:Attribute visibility="public" isSpecification="false" xmi.id="ZNeGl1DugbBe" type="pNUDqxMlHfJY" name="getWorldTransform" />
+        <UML:Attribute visibility="public" isSpecification="false" xmi.id="ZNeGl1DugbBe" type="pNUDqxMlHfJY" name="getWorldTransform"/>
        </UML:Classifier.feature>
       </UML:Class>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="pNUDqxMlHfJY" name="Transform" />
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="TEV0c7GN8THn" name="Renderable" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="pNUDqxMlHfJY" name="Transform"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="TEV0c7GN8THn" name="Renderable">
        <UML:Classifier.feature>
-        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="Vj0SWP8oBlwP" name="getMaterialRuntime" />
-        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="BshfFnROWMlJ" name="getVao" >
+        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="Vj0SWP8oBlwP" name="getMaterialRuntime"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="BshfFnROWMlJ" name="getVao">
          <UML:BehavioralFeature.parameter>
-          <UML:Parameter kind="return" xmi.id="0tLfLwPX5SXx" type="gIneAG4GVUoA" />
-          <UML:Parameter visibility="private" isSpecification="false" xmi.id="8x4sNu7XmmC0" type="WeWTgTZTNfM1" value="" name="pass" />
-          <UML:Parameter visibility="private" isSpecification="false" xmi.id="acM6y8OSmsvQ" type="WeWTgTZTNfM1" value="" name="level" />
+          <UML:Parameter kind="return" xmi.id="0tLfLwPX5SXx" type="gIneAG4GVUoA"/>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="8x4sNu7XmmC0" type="WeWTgTZTNfM1" value="" name="pass"/>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="acM6y8OSmsvQ" type="WeWTgTZTNfM1" value="" name="level"/>
          </UML:BehavioralFeature.parameter>
         </UML:Operation>
-        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="vYJ3CpWBc5wv" name="getWorldTransform" >
+        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="vYJ3CpWBc5wv" name="getWorldTransform">
          <UML:BehavioralFeature.parameter>
-          <UML:Parameter kind="return" xmi.id="DRQPEuYrzSkL" type="pNUDqxMlHfJY" />
+          <UML:Parameter kind="return" xmi.id="DRQPEuYrzSkL" type="pNUDqxMlHfJY"/>
          </UML:BehavioralFeature.parameter>
         </UML:Operation>
-        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="l4JnaMDzhFxy" name="isDebug" >
+        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="l4JnaMDzhFxy" name="isDebug">
          <UML:BehavioralFeature.parameter>
-          <UML:Parameter kind="return" xmi.id="qTw93hxLNgPh" type="IOPQJxo1uxLj" />
+          <UML:Parameter kind="return" xmi.id="qTw93hxLNgPh" type="IOPQJxo1uxLj"/>
          </UML:BehavioralFeature.parameter>
         </UML:Operation>
        </UML:Classifier.feature>
       </UML:Class>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ysUP7HSYgHLa" name="MaterialRuntime" />
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="gIneAG4GVUoA" name="Vao" />
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="WeWTgTZTNfM1" name="uint" />
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="DiEBl5WfC3Qx" name="" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ysUP7HSYgHLa" name="MaterialRuntime"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="gIneAG4GVUoA" name="Vao"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="WeWTgTZTNfM1" name="uint"/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="DiEBl5WfC3Qx" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="GOXqkboqxGaq" type="TEV0c7GN8THn" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="C19csqk6ZxHI" type="HxGBsOTUAxKJ" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="GOXqkboqxGaq" type="TEV0c7GN8THn" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="C19csqk6ZxHI" type="HxGBsOTUAxKJ" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="SEhGBvr17s9i" name="GroupNode" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="SEhGBvr17s9i" name="GroupNode">
        <UML:Classifier.feature>
-        <UML:Attribute visibility="private" isSpecification="false" xmi.id="ag3jjlMcBaJR" type="HxGBsOTUAxKJ" name="sceneNodes" />
-        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="F64WpOehOVZp" name="getSceneNodes" />
-        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="vfy5qYycou7n" name="nodesInheritCollisionShape" >
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="ag3jjlMcBaJR" type="HxGBsOTUAxKJ" name="sceneNodes"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="F64WpOehOVZp" name="getSceneNodes"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="vfy5qYycou7n" name="nodesInheritCollisionShape">
          <UML:BehavioralFeature.parameter>
-          <UML:Parameter kind="return" xmi.id="T6RUUyK6uUOj" type="IOPQJxo1uxLj" />
+          <UML:Parameter kind="return" xmi.id="T6RUUyK6uUOj" type="IOPQJxo1uxLj"/>
          </UML:BehavioralFeature.parameter>
         </UML:Operation>
        </UML:Classifier.feature>
       </UML:Class>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="XuMNHEaNI6Df" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="XuMNHEaNI6Df" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="lu1GRqRMVPSK" type="SEhGBvr17s9i" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="xQwlI1WpvsAC" type="HxGBsOTUAxKJ" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="lu1GRqRMVPSK" type="SEhGBvr17s9i" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="xQwlI1WpvsAC" type="HxGBsOTUAxKJ" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="yadzq4qGRJfr" name="CollisionCheckable" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="yadzq4qGRJfr" name="CollisionCheckable">
        <UML:Classifier.feature>
-        <UML:Attribute visibility="private" isSpecification="false" xmi.id="SdkC951t3ZU2" type="IOPQJxo1uxLj" name="visible" />
-        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="YzfQjsvGP9S4" name="getContainingCollisionShape" />
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="SdkC951t3ZU2" type="IOPQJxo1uxLj" name="visible"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="YzfQjsvGP9S4" name="getContainingCollisionShape"/>
        </UML:Classifier.feature>
       </UML:Class>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="cgnrSMEmnc2W" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="cgnrSMEmnc2W" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="daC1ewsFcDvi" type="SEhGBvr17s9i" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="z3l6HigsMThm" type="yadzq4qGRJfr" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="daC1ewsFcDvi" type="SEhGBvr17s9i" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="z3l6HigsMThm" type="yadzq4qGRJfr" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="XbVZ567I8mC0" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="XbVZ567I8mC0" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="1oBuVBxEFDut" type="TEV0c7GN8THn" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="5ENk19fYi95n" type="yadzq4qGRJfr" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="1oBuVBxEFDut" type="TEV0c7GN8THn" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="5ENk19fYi95n" type="yadzq4qGRJfr" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="wFIw2ToXckls" name="VisiblesContainableNode" />
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="77X4NlyEiqyl" name="" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="wFIw2ToXckls" name="VisiblesContainableNode"/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="77X4NlyEiqyl" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="SX0PVDrs4zpg" type="SEhGBvr17s9i" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="9IIYAsiFxFJK" type="yadzq4qGRJfr" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="SX0PVDrs4zpg" type="SEhGBvr17s9i" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="9IIYAsiFxFJK" type="yadzq4qGRJfr" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="0FWi5VSV0SvT" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="0FWi5VSV0SvT" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="dkJik8OrPfNX" type="TEV0c7GN8THn" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="V5nTK4lJKI1N" type="yadzq4qGRJfr" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="dkJik8OrPfNX" type="TEV0c7GN8THn" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="V5nTK4lJKI1N" type="yadzq4qGRJfr" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="T3ttaEIqk3ma" name="Patch" />
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="dCBUqHNJKHDt" name="Light" />
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="TjDWTnRyaQ0W" name="PointLight" />
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="dzv0D2dND6ET" name="SpotLight" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="T3ttaEIqk3ma" name="Patch"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="dCBUqHNJKHDt" name="Light"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="TjDWTnRyaQ0W" name="PointLight"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="dzv0D2dND6ET" name="SpotLight">
        <UML:Classifier.feature>
-        <UML:Attribute visibility="private" isSpecification="false" xmi.id="M6jeAA4abaKS" type="A5llWlH7jA7w" name="cam" />
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="M6jeAA4abaKS" type="A5llWlH7jA7w" name="cam"/>
        </UML:Classifier.feature>
       </UML:Class>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="TXniieBBNNgp" name="Camera" />
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="A5llWlH7jA7w" name="PerspectiveCamera" />
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="HOpVrG1czhH8" name="OrthographicCamera" />
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="VXPgcBP8weGd" name="" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="TXniieBBNNgp" name="Camera"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="A5llWlH7jA7w" name="PerspectiveCamera"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="HOpVrG1czhH8" name="OrthographicCamera"/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="VXPgcBP8weGd" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="mLZx4pLrKA8J" type="A5llWlH7jA7w" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="k71zDscjPzN1" type="TXniieBBNNgp" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="mLZx4pLrKA8J" type="A5llWlH7jA7w" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="k71zDscjPzN1" type="TXniieBBNNgp" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="Am85OMiAfG7k" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="Am85OMiAfG7k" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="5QbNYhfJoeG2" type="HOpVrG1czhH8" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="Wqjtq6syqy3E" type="TXniieBBNNgp" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="5QbNYhfJoeG2" type="HOpVrG1czhH8" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="Wqjtq6syqy3E" type="TXniieBBNNgp" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="IkOyyUg1sHOR" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="IkOyyUg1sHOR" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="x1ilfyl9pU2f" type="TjDWTnRyaQ0W" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="YtbOrfcANz6L" type="dCBUqHNJKHDt" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="x1ilfyl9pU2f" type="TjDWTnRyaQ0W" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="YtbOrfcANz6L" type="dCBUqHNJKHDt" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="RmMJ1ikykQkN" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="RmMJ1ikykQkN" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="PTXCwZpUSQtI" type="dzv0D2dND6ET" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="3TSQQWjrI5BJ" type="dCBUqHNJKHDt" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="PTXCwZpUSQtI" type="dzv0D2dND6ET" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="3TSQQWjrI5BJ" type="dCBUqHNJKHDt" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="xInVBdwOO3TW" name="ModelNode" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="xInVBdwOO3TW" name="ModelNode">
        <UML:Classifier.feature>
-        <UML:Attribute visibility="private" isSpecification="false" xmi.id="IAImSxAqINJD" type="8mpvtL6s4SPG" name="patchNodes" />
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="IAImSxAqINJD" type="8mpvtL6s4SPG" name="patchNodes"/>
        </UML:Classifier.feature>
       </UML:Class>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="C8WhVkflKFB1" name="SkinNode" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="C8WhVkflKFB1" name="SkinNode">
        <UML:Classifier.feature>
-        <UML:Attribute visibility="private" isSpecification="false" xmi.id="GL5m8JCvDqf3" type="k5hXMmPl060e" name="patchNodes" />
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="GL5m8JCvDqf3" type="k5hXMmPl060e" name="patchNodes"/>
        </UML:Classifier.feature>
       </UML:Class>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="L7oVklr8mLf1" name="Frustum" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="L7oVklr8mLf1" name="Frustum">
        <UML:Classifier.feature>
-        <UML:Attribute visibility="private" isSpecification="false" xmi.id="4wVLCq3WHaGJ" type="TEV0c7GN8THn" name="renderables" />
-        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="EGQi77xHauqN" name="insideFrustum" >
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="4wVLCq3WHaGJ" type="TEV0c7GN8THn" name="renderables"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="EGQi77xHauqN" name="insideFrustum">
          <UML:BehavioralFeature.parameter>
-          <UML:Parameter kind="return" xmi.id="FHuKqVZFis0K" type="IOPQJxo1uxLj" />
-          <UML:Parameter visibility="private" isSpecification="false" xmi.id="okFjFR0d77k4" type="J7G5adHPDLld" value="" name="cs" />
+          <UML:Parameter kind="return" xmi.id="FHuKqVZFis0K" type="IOPQJxo1uxLj"/>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="okFjFR0d77k4" type="J7G5adHPDLld" value="" name="cs"/>
          </UML:BehavioralFeature.parameter>
         </UML:Operation>
        </UML:Classifier.feature>
       </UML:Class>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="J7G5adHPDLld" name="CollisionShape" />
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="b018El0j4vC9" name="" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="J7G5adHPDLld" name="CollisionShape"/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="b018El0j4vC9" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="gqTHO5kR5RML" type="T3ttaEIqk3ma" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="YiAJQmYzkZ8y" type="TEV0c7GN8THn" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="gqTHO5kR5RML" type="T3ttaEIqk3ma" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="YiAJQmYzkZ8y" type="TEV0c7GN8THn" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="6hOzrXgiyx43" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="6hOzrXgiyx43" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="hV66pRcVZtwJ" type="dCBUqHNJKHDt" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="Sv3112M5hk5X" type="TEV0c7GN8THn" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="hV66pRcVZtwJ" type="dCBUqHNJKHDt" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="Sv3112M5hk5X" type="TEV0c7GN8THn" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="LwB5xWTgr9qF" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="LwB5xWTgr9qF" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="ghRFT77Qc4sP" type="TXniieBBNNgp" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="ZZUglnN5jWAf" type="L7oVklr8mLf1" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="ghRFT77Qc4sP" type="TXniieBBNNgp" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="ZZUglnN5jWAf" type="L7oVklr8mLf1" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="2bLsk97OqWbH" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="2bLsk97OqWbH" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="biiEkYbJ55xr" type="dCBUqHNJKHDt" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="tKwcr6FrhajP" type="L7oVklr8mLf1" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="biiEkYbJ55xr" type="dCBUqHNJKHDt" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="tKwcr6FrhajP" type="L7oVklr8mLf1" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="nu4V8o2k57n0" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="nu4V8o2k57n0" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="weLsFAwUzb3j" type="dCBUqHNJKHDt" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="ykXjGq52l9Vr" type="HxGBsOTUAxKJ" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="weLsFAwUzb3j" type="dCBUqHNJKHDt" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="ykXjGq52l9Vr" type="HxGBsOTUAxKJ" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="ZyfNzbzKSESO" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="ZyfNzbzKSESO" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="hRyk8wSeghUj" type="TXniieBBNNgp" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="jDrE5mkclPzk" type="HxGBsOTUAxKJ" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="hRyk8wSeghUj" type="TXniieBBNNgp" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="jDrE5mkclPzk" type="HxGBsOTUAxKJ" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="yx2Q9SnqtlY0" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="yx2Q9SnqtlY0" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="fzeJg63NKuZN" type="C8WhVkflKFB1" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="eJzNix7fu751" type="HxGBsOTUAxKJ" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="fzeJg63NKuZN" type="C8WhVkflKFB1" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="eJzNix7fu751" type="HxGBsOTUAxKJ" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="ZqsRZORFN3W3" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="ZqsRZORFN3W3" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="9ZORRyo6HmRy" type="xInVBdwOO3TW" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="jZdbegcCXSd6" type="HxGBsOTUAxKJ" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="9ZORRyo6HmRy" type="xInVBdwOO3TW" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="jZdbegcCXSd6" type="HxGBsOTUAxKJ" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="KqvrRUW77ieZ" name="TriggerNode" />
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="T854ZwujGkd8" name="" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="KqvrRUW77ieZ" name="TriggerNode"/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="T854ZwujGkd8" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="B7cIEIvmbgAu" type="KqvrRUW77ieZ" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="ilEbckr4tu8Q" type="HxGBsOTUAxKJ" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="B7cIEIvmbgAu" type="KqvrRUW77ieZ" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="ilEbckr4tu8Q" type="HxGBsOTUAxKJ" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="4qfk1XRml0NU" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="4qfk1XRml0NU" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="rRNjZnZZudJh" type="KqvrRUW77ieZ" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="qCZcLdhQUK8V" type="L7oVklr8mLf1" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="rRNjZnZZudJh" type="KqvrRUW77ieZ" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="qCZcLdhQUK8V" type="L7oVklr8mLf1" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="LWWoU59L1oad" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="LWWoU59L1oad" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="tinxx4UtbrZl" type="yadzq4qGRJfr" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="7aiw4aaN659Y" type="T3ttaEIqk3ma" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="tinxx4UtbrZl" type="yadzq4qGRJfr" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="7aiw4aaN659Y" type="T3ttaEIqk3ma" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="AIrB6Qmy8Zv3" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="AIrB6Qmy8Zv3" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="dNvCCUvH4dD7" type="yadzq4qGRJfr" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="BoUFtcn1udAz" type="dCBUqHNJKHDt" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="dNvCCUvH4dD7" type="yadzq4qGRJfr" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="BoUFtcn1udAz" type="dCBUqHNJKHDt" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="3wx9TqA4B5HN" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="3wx9TqA4B5HN" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="YCecqshzeCFV" type="yadzq4qGRJfr" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="o2Wgdedeaal3" type="xInVBdwOO3TW" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="YCecqshzeCFV" type="yadzq4qGRJfr" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="o2Wgdedeaal3" type="xInVBdwOO3TW" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="Ow5Z1MwZZZAN" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="Ow5Z1MwZZZAN" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="PrM31bWnc0SD" type="yadzq4qGRJfr" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="e5sEgdF4XKcZ" type="C8WhVkflKFB1" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="PrM31bWnc0SD" type="yadzq4qGRJfr" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="e5sEgdF4XKcZ" type="C8WhVkflKFB1" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="6E5EZU6tX5T3" name="RenderablesContainableNode" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="6E5EZU6tX5T3" name="RenderablesContainableNode">
        <UML:Classifier.feature>
-        <UML:Attribute visibility="private" isSpecification="false" xmi.id="P6mJow8joMsD" type="TEV0c7GN8THn" name="renderables" />
-        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="o4bgFCEoF1hf" name="renderablesInheritContainingCollisionShape" >
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="P6mJow8joMsD" type="TEV0c7GN8THn" name="renderables"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="true" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="o4bgFCEoF1hf" name="renderablesInheritContainingCollisionShape">
          <UML:BehavioralFeature.parameter>
-          <UML:Parameter kind="return" xmi.id="onDcroH4zVqC" type="IOPQJxo1uxLj" />
+          <UML:Parameter kind="return" xmi.id="onDcroH4zVqC" type="IOPQJxo1uxLj"/>
          </UML:BehavioralFeature.parameter>
         </UML:Operation>
        </UML:Classifier.feature>
       </UML:Class>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="t33LGhQ6t4i8" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="t33LGhQ6t4i8" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="7FRjm8FrKL5r" type="6E5EZU6tX5T3" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="p9kLFBM6EORT" type="HxGBsOTUAxKJ" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="7FRjm8FrKL5r" type="6E5EZU6tX5T3" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="p9kLFBM6EORT" type="HxGBsOTUAxKJ" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="3pZxsF3xTUgF" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="3pZxsF3xTUgF" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="at6uEAl2JULW" type="xInVBdwOO3TW" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="fhcu31L7ps2f" type="6E5EZU6tX5T3" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="at6uEAl2JULW" type="xInVBdwOO3TW" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="fhcu31L7ps2f" type="6E5EZU6tX5T3" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="83cbWGo69tzM" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="83cbWGo69tzM" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="3iMKAhpqMPiQ" type="C8WhVkflKFB1" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="R3VEtVt1YTa2" type="6E5EZU6tX5T3" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="3iMKAhpqMPiQ" type="C8WhVkflKFB1" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="R3VEtVt1YTa2" type="6E5EZU6tX5T3" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="jP7sI6CJmYbx" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="jP7sI6CJmYbx" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="DQlaqR0FSTRL" type="TEV0c7GN8THn" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="yKNUnvVUKcMa" type="T3ttaEIqk3ma" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="DQlaqR0FSTRL" type="TEV0c7GN8THn" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="yKNUnvVUKcMa" type="T3ttaEIqk3ma" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="rS5RPJp8rfZp" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="rS5RPJp8rfZp" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="s1IJNEbigMdB" type="T3ttaEIqk3ma" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="qwnBWTiMwlnJ" type="TEV0c7GN8THn" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="s1IJNEbigMdB" type="T3ttaEIqk3ma" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="qwnBWTiMwlnJ" type="TEV0c7GN8THn" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="cStG1i63yOQC" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="cStG1i63yOQC" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="z8rKj2AfoJCH" type="dCBUqHNJKHDt" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="zWBlHTlrvf7u" type="yadzq4qGRJfr" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="z8rKj2AfoJCH" type="dCBUqHNJKHDt" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="zWBlHTlrvf7u" type="yadzq4qGRJfr" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="PTfWL4xJYs5g" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="PTfWL4xJYs5g" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="r8bzzQ21bmHM" type="6E5EZU6tX5T3" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="zG3fiFR5g6bz" type="yadzq4qGRJfr" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="r8bzzQ21bmHM" type="6E5EZU6tX5T3" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="zG3fiFR5g6bz" type="yadzq4qGRJfr" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="2FVwxdbo4TYi" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="2FVwxdbo4TYi" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="8xMbQWFMLfIE" type="T3ttaEIqk3ma" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="c3OIQEjQTDMP" type="yadzq4qGRJfr" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="8xMbQWFMLfIE" type="T3ttaEIqk3ma" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="c3OIQEjQTDMP" type="yadzq4qGRJfr" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="k5hXMmPl060e" name="SkinPatch" />
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="8mpvtL6s4SPG" name="ModelPatch" />
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="bMhnnLTWO83i" name="" >
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="k5hXMmPl060e" name="SkinPatch"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="8mpvtL6s4SPG" name="ModelPatch"/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="bMhnnLTWO83i" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="sTUtXSVdEKY8" type="k5hXMmPl060e" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="deyh6NvgjdRU" type="T3ttaEIqk3ma" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="sTUtXSVdEKY8" type="k5hXMmPl060e" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="deyh6NvgjdRU" type="T3ttaEIqk3ma" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="wt0J121uTTl0" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="wt0J121uTTl0" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="vGd8YAGAoCrt" type="8mpvtL6s4SPG" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="XlXGOyiIphbr" type="T3ttaEIqk3ma" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="vGd8YAGAoCrt" type="8mpvtL6s4SPG" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="XlXGOyiIphbr" type="T3ttaEIqk3ma" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="L9wzvgLFO61j" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="L9wzvgLFO61j" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="Pu37Gr5xm7ZD" type="TXniieBBNNgp" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="9oPQuHdGOZFH" type="TEV0c7GN8THn" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="Pu37Gr5xm7ZD" type="TXniieBBNNgp" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="9oPQuHdGOZFH" type="TEV0c7GN8THn" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="L9fACcxH98Qy" name="" >
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="L9fACcxH98Qy" name="">
        <UML:Association.connection>
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="VoqnR69zJRDs" type="TEV0c7GN8THn" name="" aggregation="none" />
-        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="xlVV5XsOeWYo" type="yadzq4qGRJfr" name="" aggregation="none" />
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="false" isSpecification="false" xmi.id="VoqnR69zJRDs" type="TEV0c7GN8THn" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="xlVV5XsOeWYo" type="yadzq4qGRJfr" name="" aggregation="none"/>
        </UML:Association.connection>
       </UML:Association>
-      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Bpu6BGkYvCYw" name="ShadowCaster" />
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Bpu6BGkYvCYw" name="ShadowCaster"/>
      </UML:Namespace.ownedElement>
-     <XMI.extension xmi.extender="umbrello" >
+     <XMI.extension xmi.extender="umbrello">
       <diagrams>
-       <diagram showopsig="1" linecolor="#ff0000" snapx="10" showattribassocs="1" snapy="10" linewidth="2" showattsig="1" showpubliconly="1" showpackage="1" showstereotype="1" name="class diagram" font="Sans Serif,9,-1,0,50,0,0,0,0,0" canvasheight="796" canvaswidth="1132" localid="" snapcsgrid="0" showgrid="1" showops="1" usefillcolor="1" fillcolor="#ffff00" zoom="81" xmi.id="JS0nkGE0Iukh" documentation="" showscope="1" snapgrid="1" showatts="1" type="1" >
+       <diagram showopsig="1" linecolor="#ff0000" snapx="10" showattribassocs="1" snapy="10" linewidth="2" showattsig="1" showpubliconly="1" showpackage="1" showstereotype="1" name="class diagram" font="Sans Serif,9,-1,0,50,0,0,0,0,0" canvasheight="867" canvaswidth="1625" localid="" snapcsgrid="0" showgrid="1" showops="1" usefillcolor="1" fillcolor="#ffff00" zoom="100" xmi.id="JS0nkGE0Iukh" documentation="" showscope="1" snapgrid="1" showatts="1" type="1">
         <widgets>
-         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="340" showattsigs="601" y="170" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="218" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="HxGBsOTUAxKJ" showscope="1" height="40" showopsigs="601" />
-         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="10" showattsigs="601" y="640" showattributes="1" font="Sans Serif,10,-1,5,75,1,0,0,0,0" width="256" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="TEV0c7GN8THn" showscope="1" height="88" showopsigs="601" />
-         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="370" showattsigs="601" y="620" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="222" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="yadzq4qGRJfr" showscope="1" height="40" showopsigs="601" />
-         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="160" showattsigs="601" y="480" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="53" isinstance="0" usefillcolor="1" fillcolor="#ffff00" xmi.id="T3ttaEIqk3ma" showscope="1" height="32" showopsigs="601" />
-         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="450" showattsigs="601" y="280" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="47" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="dCBUqHNJKHDt" showscope="1" height="32" showopsigs="601" />
-         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="380" showattsigs="601" y="460" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="85" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="TjDWTnRyaQ0W" showscope="1" height="32" showopsigs="601" />
-         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="490" showattsigs="601" y="550" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="81" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="dzv0D2dND6ET" showscope="1" height="32" showopsigs="601" />
-         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="660" showattsigs="601" y="280" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="68" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="TXniieBBNNgp" showscope="1" height="32" showopsigs="601" />
-         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="570" showattsigs="601" y="420" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="154" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="A5llWlH7jA7w" showscope="1" height="32" showopsigs="601" />
-         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="790" showattsigs="601" y="460" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="164" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="HOpVrG1czhH8" showscope="1" height="32" showopsigs="601" />
-         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="20" showattsigs="601" y="390" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="96" isinstance="0" usefillcolor="1" fillcolor="#ffff00" xmi.id="xInVBdwOO3TW" showscope="1" height="32" showopsigs="601" />
-         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="200" showattsigs="601" y="390" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="83" isinstance="0" usefillcolor="1" fillcolor="#ffff00" xmi.id="C8WhVkflKFB1" showscope="1" height="32" showopsigs="601" />
-         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="640" showattsigs="601" y="670" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="282" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="L7oVklr8mLf1" showscope="1" height="40" showopsigs="601" />
-         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="1020" showattsigs="601" y="280" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="101" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="KqvrRUW77ieZ" showscope="1" height="32" showopsigs="601" />
-         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="10" showattsigs="601" y="280" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="361" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="6E5EZU6tX5T3" showscope="1" height="40" showopsigs="601" />
-         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="1" x="260" showattsigs="601" showstereotype="1" y="470" showattributes="1" font="Sans Serif,9,-1,0,50,0,0,0,0,0" width="79" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="k5hXMmPl060e" showscope="1" height="28" showopsigs="601" />
-         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="1" x="20" showattsigs="601" showstereotype="1" y="490" showattributes="1" font="Sans Serif,9,-1,0,50,0,0,0,0,0" width="90" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="8mpvtL6s4SPG" showscope="1" height="28" showopsigs="601" />
-         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="1" x="770" showattsigs="601" showstereotype="1" y="280" showattributes="1" font="Sans Serif,9,-1,0,75,0,0,0,0,0" width="114" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="Bpu6BGkYvCYw" showscope="1" height="29" showopsigs="601" />
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="340" showattsigs="601" y="170" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="218" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="HxGBsOTUAxKJ" showscope="1" height="40" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="10" showattsigs="601" y="640" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="256" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="TEV0c7GN8THn" showscope="1" height="88" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="370" showattsigs="601" y="620" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="222" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="yadzq4qGRJfr" showscope="1" height="40" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="160" showattsigs="601" y="480" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="53" isinstance="0" usefillcolor="1" fillcolor="#ffff00" xmi.id="T3ttaEIqk3ma" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="450" showattsigs="601" y="280" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="47" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="dCBUqHNJKHDt" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="390" showattsigs="601" y="460" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="85" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="TjDWTnRyaQ0W" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="490" showattsigs="601" y="550" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="81" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="dzv0D2dND6ET" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="660" showattsigs="601" y="280" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="68" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="TXniieBBNNgp" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="570" showattsigs="601" y="420" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="154" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="A5llWlH7jA7w" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="790" showattsigs="601" y="460" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="164" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="HOpVrG1czhH8" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="20" showattsigs="601" y="390" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="96" isinstance="0" usefillcolor="1" fillcolor="#ffff00" xmi.id="xInVBdwOO3TW" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="200" showattsigs="601" y="390" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="83" isinstance="0" usefillcolor="1" fillcolor="#ffff00" xmi.id="C8WhVkflKFB1" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="640" showattsigs="601" y="670" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="282" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="L7oVklr8mLf1" showscope="1" height="40" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="0" x="1020" showattsigs="601" y="280" showattributes="1" font="Sans,10,-1,5,50,0,0,0,0,0" width="101" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="KqvrRUW77ieZ" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="0" x="10" showattsigs="601" y="280" showattributes="1" font="Sans Serif,10,-1,5,50,0,0,0,0,0" width="361" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="6E5EZU6tX5T3" showscope="1" height="40" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="1" x="260" showattsigs="601" showstereotype="1" y="470" showattributes="1" font="Sans Serif,9,-1,0,50,0,0,0,0,0" width="79" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="k5hXMmPl060e" showscope="1" height="28" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="1" x="20" showattsigs="601" showstereotype="1" y="490" showattributes="1" font="Sans Serif,9,-1,0,50,0,0,0,0,0" width="90" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="8mpvtL6s4SPG" showscope="1" height="28" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="1" showpackage="1" x="770" showattsigs="601" showstereotype="1" y="280" showattributes="1" font="Sans Serif,9,-1,0,50,0,0,0,0,0" width="114" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="Bpu6BGkYvCYw" showscope="1" height="29" showopsigs="601"/>
         </widgets>
         <messages/>
         <associations>
-         <assocwidget indexa="1" indexb="2" widgetaid="A5llWlH7jA7w" linecolor="none" totalcounta="2" xmi.id="VXPgcBP8weGd" widgetbid="TXniieBBNNgp" totalcountb="5" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="2" widgetaid="A5llWlH7jA7w" linecolor="none" totalcounta="2" xmi.id="VXPgcBP8weGd" widgetbid="TXniieBBNNgp" totalcountb="5" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="650" starty="420" />
-           <endpoint endx="690" endy="312" />
+           <startpoint startx="690" starty="420"/>
+           <endpoint endx="690" endy="310"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="4" widgetaid="HOpVrG1czhH8" linecolor="none" totalcounta="2" xmi.id="Am85OMiAfG7k" widgetbid="TXniieBBNNgp" totalcountb="5" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="4" widgetaid="HOpVrG1czhH8" linecolor="none" totalcounta="2" xmi.id="Am85OMiAfG7k" widgetbid="TXniieBBNNgp" totalcountb="5" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="870" starty="460" />
-           <endpoint endx="710" endy="312" />
+           <startpoint startx="790" starty="460"/>
+           <endpoint endx="730" endy="310"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="2" widgetaid="TjDWTnRyaQ0W" linecolor="none" totalcounta="2" xmi.id="IkOyyUg1sHOR" widgetbid="dCBUqHNJKHDt" totalcountb="5" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="2" widgetaid="TjDWTnRyaQ0W" linecolor="none" totalcounta="2" xmi.id="IkOyyUg1sHOR" widgetbid="dCBUqHNJKHDt" totalcountb="5" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="420" starty="460" />
-           <endpoint endx="470" endy="312" />
+           <startpoint startx="460" starty="460"/>
+           <endpoint endx="460" endy="310"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="3" widgetaid="dzv0D2dND6ET" linecolor="none" totalcounta="3" xmi.id="RmMJ1ikykQkN" widgetbid="dCBUqHNJKHDt" totalcountb="5" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="3" widgetaid="dzv0D2dND6ET" linecolor="none" totalcounta="3" xmi.id="RmMJ1ikykQkN" widgetbid="dCBUqHNJKHDt" totalcountb="5" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="520" starty="550" />
-           <endpoint endx="480" endy="312" />
+           <startpoint startx="490" starty="550"/>
+           <endpoint endx="490" endy="310"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="2" indexb="1" visibilityA="0" widgetaid="dzv0D2dND6ET" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="3" xmi.id="M6jeAA4abaKS" changeabilityB="900" widgetbid="A5llWlH7jA7w" totalcountb="2" type="510" linewidth="none" >
+         <assocwidget indexa="2" indexb="1" visibilityA="0" widgetaid="dzv0D2dND6ET" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="3" xmi.id="M6jeAA4abaKS" changeabilityB="900" widgetbid="A5llWlH7jA7w" totalcountb="2" type="510" linewidth="none">
           <linepath>
-           <startpoint startx="540" starty="550" />
-           <endpoint endx="650" endy="452" />
+           <startpoint startx="570" starty="550"/>
+           <endpoint endx="570" endy="450"/>
           </linepath>
-          <floatingtext width="41" x="560" y="460" usesdiagramusefillcolor="1" posttext="" usesdiagramfillcolor="1" isinstance="0" fillcolor="none" height="20" role="710" linecolor="none" xmi.id="8TNZstRs94wy" usefillcolor="1" linewidth="none" font="Sans,10,-1,5,50,0,0,0,0,0" text="cam" pretext="-" />
+          <floatingtext width="41" x="560" y="460" usesdiagramusefillcolor="1" posttext="" usesdiagramfillcolor="1" isinstance="0" fillcolor="none" height="20" role="710" linecolor="none" xmi.id="v8XJZfNg55nb" usefillcolor="1" linewidth="none" font="Sans,10,-1,5,50,0,0,0,0,0" text="cam" pretext="-"/>
          </assocwidget>
-         <assocwidget indexa="1" indexb="3" widgetaid="dCBUqHNJKHDt" linecolor="none" totalcounta="5" xmi.id="6hOzrXgiyx43" widgetbid="TEV0c7GN8THn" totalcountb="5" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="3" widgetaid="dCBUqHNJKHDt" linecolor="none" totalcounta="5" xmi.id="6hOzrXgiyx43" widgetbid="TEV0c7GN8THn" totalcountb="5" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="460" starty="312" />
-           <endpoint endx="160" endy="640" />
+           <startpoint startx="450" starty="310"/>
+           <endpoint endx="270" endy="640"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="2" visibilityA="0" widgetaid="L7oVklr8mLf1" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="2" xmi.id="4wVLCq3WHaGJ" changeabilityB="900" widgetbid="TEV0c7GN8THn" totalcountb="3" type="510" linewidth="none" >
+         <assocwidget indexa="1" indexb="2" visibilityA="0" widgetaid="L7oVklr8mLf1" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="2" xmi.id="4wVLCq3WHaGJ" changeabilityB="900" widgetbid="TEV0c7GN8THn" totalcountb="3" type="510" linewidth="none">
           <linepath>
-           <startpoint startx="640" starty="690" />
-           <endpoint endx="266" endy="700" />
+           <startpoint startx="640" starty="700"/>
+           <endpoint endx="270" endy="700"/>
           </linepath>
-          <floatingtext width="89" x="265" y="676" usesdiagramusefillcolor="1" posttext="" usesdiagramfillcolor="1" isinstance="0" fillcolor="none" height="20" role="710" linecolor="none" xmi.id="YmkP3vBocfzE" usefillcolor="1" linewidth="none" font="Sans,10,-1,5,50,0,0,0,0,0" text="renderables" pretext="-" />
+          <floatingtext width="89" x="270" y="680" usesdiagramusefillcolor="1" posttext="" usesdiagramfillcolor="1" isinstance="0" fillcolor="none" height="20" role="710" linecolor="none" xmi.id="JTvLxQpSSMca" usefillcolor="1" linewidth="none" font="Sans,10,-1,5,50,0,0,0,0,0" text="renderables" pretext="-"/>
          </assocwidget>
-         <assocwidget indexa="3" indexb="2" widgetaid="TXniieBBNNgp" linecolor="none" totalcounta="5" xmi.id="LwB5xWTgr9qF" widgetbid="L7oVklr8mLf1" totalcountb="4" type="512" linewidth="none" >
+         <assocwidget indexa="3" indexb="2" widgetaid="TXniieBBNNgp" linecolor="none" totalcounta="5" xmi.id="LwB5xWTgr9qF" widgetbid="L7oVklr8mLf1" totalcountb="4" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="700" starty="312" />
-           <endpoint endx="780" endy="670" />
+           <startpoint startx="730" starty="310"/>
+           <endpoint endx="730" endy="670"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="4" indexb="1" widgetaid="dCBUqHNJKHDt" linecolor="none" totalcounta="5" xmi.id="2bLsk97OqWbH" widgetbid="L7oVklr8mLf1" totalcountb="4" type="512" linewidth="none" >
+         <assocwidget indexa="4" indexb="1" widgetaid="dCBUqHNJKHDt" linecolor="none" totalcounta="5" xmi.id="2bLsk97OqWbH" widgetbid="L7oVklr8mLf1" totalcountb="4" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="490" starty="312" />
-           <endpoint endx="710" endy="670" />
+           <startpoint startx="500" starty="310"/>
+           <endpoint endx="640" endy="670"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="2" widgetaid="dCBUqHNJKHDt" linecolor="none" totalcounta="2" xmi.id="nu4V8o2k57n0" widgetbid="HxGBsOTUAxKJ" totalcountb="4" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="2" widgetaid="dCBUqHNJKHDt" linecolor="none" totalcounta="2" xmi.id="nu4V8o2k57n0" widgetbid="HxGBsOTUAxKJ" totalcountb="4" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="470" starty="280" />
-           <endpoint endx="450" endy="210" />
+           <startpoint startx="450" starty="280"/>
+           <endpoint endx="450" endy="210"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="3" widgetaid="TXniieBBNNgp" linecolor="none" totalcounta="2" xmi.id="ZyfNzbzKSESO" widgetbid="HxGBsOTUAxKJ" totalcountb="4" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="3" widgetaid="TXniieBBNNgp" linecolor="none" totalcounta="2" xmi.id="ZyfNzbzKSESO" widgetbid="HxGBsOTUAxKJ" totalcountb="4" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="660" starty="300" />
-           <endpoint endx="500" endy="210" />
+           <startpoint startx="660" starty="280"/>
+           <endpoint endx="560" endy="210"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="1" widgetaid="KqvrRUW77ieZ" linecolor="none" totalcounta="2" xmi.id="T854ZwujGkd8" widgetbid="HxGBsOTUAxKJ" totalcountb="2" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="1" widgetaid="KqvrRUW77ieZ" linecolor="none" totalcounta="2" xmi.id="T854ZwujGkd8" widgetbid="HxGBsOTUAxKJ" totalcountb="2" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="1020" starty="300" />
-           <endpoint endx="558" endy="190" />
+           <startpoint startx="1020" starty="280"/>
+           <endpoint endx="560" endy="210"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="3" widgetaid="KqvrRUW77ieZ" linecolor="none" totalcounta="2" xmi.id="4qfk1XRml0NU" widgetbid="L7oVklr8mLf1" totalcountb="4" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="3" widgetaid="KqvrRUW77ieZ" linecolor="none" totalcounta="2" xmi.id="4qfk1XRml0NU" widgetbid="L7oVklr8mLf1" totalcountb="4" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="1070" starty="312" />
-           <endpoint endx="850" endy="670" />
+           <startpoint startx="1020" starty="310"/>
+           <endpoint endx="920" endy="670"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="1" widgetaid="6E5EZU6tX5T3" linecolor="none" totalcounta="2" xmi.id="t33LGhQ6t4i8" widgetbid="HxGBsOTUAxKJ" totalcountb="4" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="1" widgetaid="6E5EZU6tX5T3" linecolor="none" totalcounta="2" xmi.id="t33LGhQ6t4i8" widgetbid="HxGBsOTUAxKJ" totalcountb="4" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="190" starty="280" />
-           <endpoint endx="390" endy="210" />
+           <startpoint startx="370" starty="280"/>
+           <endpoint endx="370" endy="210"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="1" widgetaid="xInVBdwOO3TW" linecolor="none" totalcounta="2" xmi.id="3pZxsF3xTUgF" widgetbid="6E5EZU6tX5T3" totalcountb="5" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="1" widgetaid="xInVBdwOO3TW" linecolor="none" totalcounta="2" xmi.id="3pZxsF3xTUgF" widgetbid="6E5EZU6tX5T3" totalcountb="5" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="70" starty="390" />
-           <endpoint endx="80" endy="320" />
+           <startpoint startx="80" starty="390"/>
+           <endpoint endx="80" endy="320"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="3" widgetaid="C8WhVkflKFB1" linecolor="none" totalcounta="2" xmi.id="83cbWGo69tzM" widgetbid="6E5EZU6tX5T3" totalcountb="5" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="3" widgetaid="C8WhVkflKFB1" linecolor="none" totalcounta="2" xmi.id="83cbWGo69tzM" widgetbid="6E5EZU6tX5T3" totalcountb="5" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="240" starty="390" />
-           <endpoint endx="230" endy="320" />
+           <startpoint startx="230" starty="390"/>
+           <endpoint endx="230" endy="320"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="2" widgetaid="T3ttaEIqk3ma" linecolor="none" totalcounta="2" xmi.id="rS5RPJp8rfZp" widgetbid="TEV0c7GN8THn" totalcountb="5" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="2" widgetaid="T3ttaEIqk3ma" linecolor="none" totalcounta="2" xmi.id="rS5RPJp8rfZp" widgetbid="TEV0c7GN8THn" totalcountb="5" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="190" starty="512" />
-           <endpoint endx="110" endy="640" />
+           <startpoint startx="160" starty="510"/>
+           <endpoint endx="160" endy="640"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="2" indexb="1" visibilityA="0" widgetaid="6E5EZU6tX5T3" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="5" xmi.id="P6mJow8joMsD" changeabilityB="900" widgetbid="TEV0c7GN8THn" totalcountb="5" type="510" linewidth="none" >
+         <assocwidget indexa="2" indexb="1" visibilityA="0" widgetaid="6E5EZU6tX5T3" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="5" xmi.id="P6mJow8joMsD" changeabilityB="900" widgetbid="TEV0c7GN8THn" totalcountb="5" type="510" linewidth="none">
           <linepath>
-           <startpoint startx="150" starty="320" />
-           <endpoint endx="60" endy="640" />
+           <startpoint startx="60" starty="320"/>
+           <endpoint endx="60" endy="640"/>
           </linepath>
-          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="0" showstereotype="1" y="0" text="renderables" font="Sans Serif,9,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="83" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="kb2dNtNVNi2F" height="18" />
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="0" showstereotype="1" y="0" text="renderables" font="Sans Serif,9,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="83" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="gGw7exAZ3fta" height="18"/>
          </assocwidget>
-         <assocwidget indexa="4" indexb="1" widgetaid="6E5EZU6tX5T3" linecolor="none" totalcounta="5" xmi.id="PTfWL4xJYs5g" widgetbid="yadzq4qGRJfr" totalcountb="2" type="512" linewidth="none" >
+         <assocwidget indexa="4" indexb="1" widgetaid="6E5EZU6tX5T3" linecolor="none" totalcounta="5" xmi.id="PTfWL4xJYs5g" widgetbid="yadzq4qGRJfr" totalcountb="2" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="300" starty="320" />
-           <endpoint endx="480" endy="620" />
+           <startpoint startx="370" starty="320"/>
+           <endpoint endx="370" endy="620"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="1" widgetaid="k5hXMmPl060e" linecolor="none" totalcounta="2" xmi.id="bMhnnLTWO83i" widgetbid="T3ttaEIqk3ma" totalcountb="2" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="1" widgetaid="k5hXMmPl060e" linecolor="none" totalcounta="2" xmi.id="bMhnnLTWO83i" widgetbid="T3ttaEIqk3ma" totalcountb="2" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="260" starty="480" />
-           <endpoint endx="213" endy="500" />
+           <startpoint startx="260" starty="500"/>
+           <endpoint endx="210" endy="500"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="1" widgetaid="8mpvtL6s4SPG" linecolor="none" totalcounta="2" xmi.id="wt0J121uTTl0" widgetbid="T3ttaEIqk3ma" totalcountb="2" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="1" widgetaid="8mpvtL6s4SPG" linecolor="none" totalcounta="2" xmi.id="wt0J121uTTl0" widgetbid="T3ttaEIqk3ma" totalcountb="2" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="110" starty="500" />
-           <endpoint endx="160" endy="500" />
+           <startpoint startx="110" starty="500"/>
+           <endpoint endx="160" endy="500"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="xInVBdwOO3TW" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="2" xmi.id="IAImSxAqINJD" changeabilityB="900" widgetbid="8mpvtL6s4SPG" totalcountb="2" type="510" linewidth="none" >
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="xInVBdwOO3TW" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="2" xmi.id="IAImSxAqINJD" changeabilityB="900" widgetbid="8mpvtL6s4SPG" totalcountb="2" type="510" linewidth="none">
           <linepath>
-           <startpoint startx="70" starty="422" />
-           <endpoint endx="70" endy="490" />
+           <startpoint startx="70" starty="420"/>
+           <endpoint endx="70" endy="490"/>
           </linepath>
-          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="10" showstereotype="1" y="470" text="patchNodes" font="Sans Serif,9,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="84" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="bT6jV2h4oPRq" height="18" />
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="10" showstereotype="1" y="470" text="patchNodes" font="Sans Serif,9,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="84" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="KEGNJ2ycVuvQ" height="18"/>
          </assocwidget>
-         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="C8WhVkflKFB1" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="2" xmi.id="GL5m8JCvDqf3" changeabilityB="900" widgetbid="k5hXMmPl060e" totalcountb="2" type="510" linewidth="none" >
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="C8WhVkflKFB1" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="2" xmi.id="GL5m8JCvDqf3" changeabilityB="900" widgetbid="k5hXMmPl060e" totalcountb="2" type="510" linewidth="none">
           <linepath>
-           <startpoint startx="240" starty="422" />
-           <endpoint endx="300" endy="470" />
+           <startpoint startx="280" starty="420"/>
+           <endpoint endx="280" endy="470"/>
           </linepath>
-          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="190" showstereotype="1" y="450" text="patchNodes" font="Sans Serif,9,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="84" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="LdevGb90C9bX" height="18" />
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="190" showstereotype="1" y="450" text="patchNodes" font="Sans Serif,9,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="84" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="Ilql7TJljDsM" height="18"/>
          </assocwidget>
-         <assocwidget indexa="1" indexb="4" widgetaid="TXniieBBNNgp" linecolor="none" totalcounta="5" xmi.id="L9wzvgLFO61j" widgetbid="TEV0c7GN8THn" totalcountb="5" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="4" widgetaid="TXniieBBNNgp" linecolor="none" totalcounta="5" xmi.id="L9wzvgLFO61j" widgetbid="TEV0c7GN8THn" totalcountb="5" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="670" starty="312" />
-           <endpoint endx="210" endy="640" />
+           <startpoint startx="660" starty="310"/>
+           <endpoint endx="270" endy="640"/>
           </linepath>
          </assocwidget>
-         <assocwidget indexa="1" indexb="1" widgetaid="TEV0c7GN8THn" linecolor="none" totalcounta="3" xmi.id="L9fACcxH98Qy" widgetbid="yadzq4qGRJfr" totalcountb="2" type="512" linewidth="none" >
+         <assocwidget indexa="1" indexb="1" widgetaid="TEV0c7GN8THn" linecolor="none" totalcounta="3" xmi.id="L9fACcxH98Qy" widgetbid="yadzq4qGRJfr" totalcountb="2" type="512" linewidth="none">
           <linepath>
-           <startpoint startx="266" starty="670" />
-           <endpoint endx="370" endy="640" />
+           <startpoint startx="270" starty="640"/>
+           <endpoint endx="370" endy="640"/>
           </linepath>
          </assocwidget>
         </associations>
@@ -528,100 +528,100 @@
       </diagrams>
      </XMI.extension>
     </UML:Model>
-    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Use Case View" name="Use Case View" >
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Use Case View" name="Use Case View">
      <UML:Namespace.ownedElement/>
     </UML:Model>
-    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Component View" name="Component View" >
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Component View" name="Component View">
      <UML:Namespace.ownedElement/>
     </UML:Model>
-    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Deployment View" name="Deployment View" >
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Deployment View" name="Deployment View">
      <UML:Namespace.ownedElement/>
     </UML:Model>
-    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Entity Relationship Model" name="Entity Relationship Model" >
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Entity Relationship Model" name="Entity Relationship Model">
      <UML:Namespace.ownedElement/>
     </UML:Model>
    </UML:Namespace.ownedElement>
   </UML:Model>
  </XMI.content>
- <XMI.extensions xmi.extender="umbrello" >
-  <docsettings viewid="JS0nkGE0Iukh" uniqueid="Bpu6BGkYvCYw" documentation="" />
+ <XMI.extensions xmi.extender="umbrello">
+  <docsettings viewid="JS0nkGE0Iukh" uniqueid="Bpu6BGkYvCYw" documentation=""/>
   <listview>
-   <listitem open="1" type="800" label="Views" >
-    <listitem open="1" type="801" id="Logical View" >
-     <listitem open="0" type="807" id="JS0nkGE0Iukh" label="class diagram" />
-     <listitem open="1" type="813" id="TXniieBBNNgp" />
-     <listitem open="1" type="813" id="yadzq4qGRJfr" >
-      <listitem open="0" type="814" id="SdkC951t3ZU2" />
-      <listitem open="0" type="815" id="YzfQjsvGP9S4" />
+   <listitem open="1" type="800" id="Views">
+    <listitem open="1" type="801" id="Logical View">
+     <listitem open="0" type="807" id="JS0nkGE0Iukh" label="class diagram"/>
+     <listitem open="1" type="813" id="TXniieBBNNgp"/>
+     <listitem open="1" type="813" id="yadzq4qGRJfr">
+      <listitem open="0" type="814" id="SdkC951t3ZU2"/>
+      <listitem open="0" type="815" id="YzfQjsvGP9S4"/>
      </listitem>
-     <listitem open="1" type="813" id="J7G5adHPDLld" />
-     <listitem open="1" type="813" id="L7oVklr8mLf1" >
-      <listitem open="0" type="814" id="4wVLCq3WHaGJ" />
-      <listitem open="0" type="815" id="EGQi77xHauqN" />
+     <listitem open="1" type="813" id="J7G5adHPDLld"/>
+     <listitem open="1" type="813" id="L7oVklr8mLf1">
+      <listitem open="0" type="814" id="4wVLCq3WHaGJ"/>
+      <listitem open="0" type="815" id="EGQi77xHauqN"/>
      </listitem>
-     <listitem open="1" type="813" id="SEhGBvr17s9i" >
-      <listitem open="0" type="814" id="ag3jjlMcBaJR" />
-      <listitem open="0" type="815" id="F64WpOehOVZp" />
-      <listitem open="0" type="815" id="vfy5qYycou7n" />
+     <listitem open="1" type="813" id="SEhGBvr17s9i">
+      <listitem open="0" type="814" id="ag3jjlMcBaJR"/>
+      <listitem open="0" type="815" id="F64WpOehOVZp"/>
+      <listitem open="0" type="815" id="vfy5qYycou7n"/>
      </listitem>
-     <listitem open="1" type="813" id="dCBUqHNJKHDt" />
-     <listitem open="1" type="813" id="ysUP7HSYgHLa" />
-     <listitem open="1" type="813" id="xInVBdwOO3TW" >
-      <listitem open="0" type="814" id="IAImSxAqINJD" />
+     <listitem open="1" type="813" id="dCBUqHNJKHDt"/>
+     <listitem open="1" type="813" id="ysUP7HSYgHLa"/>
+     <listitem open="1" type="813" id="xInVBdwOO3TW">
+      <listitem open="0" type="814" id="IAImSxAqINJD"/>
      </listitem>
-     <listitem open="1" type="813" id="8mpvtL6s4SPG" />
-     <listitem open="1" type="813" id="HOpVrG1czhH8" />
-     <listitem open="1" type="813" id="T3ttaEIqk3ma" />
-     <listitem open="1" type="813" id="A5llWlH7jA7w" />
-     <listitem open="1" type="813" id="TjDWTnRyaQ0W" />
-     <listitem open="1" type="813" id="TEV0c7GN8THn" >
-      <listitem open="0" type="815" id="Vj0SWP8oBlwP" />
-      <listitem open="0" type="815" id="BshfFnROWMlJ" />
-      <listitem open="0" type="815" id="vYJ3CpWBc5wv" />
-      <listitem open="0" type="815" id="l4JnaMDzhFxy" />
+     <listitem open="1" type="813" id="8mpvtL6s4SPG"/>
+     <listitem open="1" type="813" id="HOpVrG1czhH8"/>
+     <listitem open="1" type="813" id="T3ttaEIqk3ma"/>
+     <listitem open="1" type="813" id="A5llWlH7jA7w"/>
+     <listitem open="1" type="813" id="TjDWTnRyaQ0W"/>
+     <listitem open="1" type="813" id="TEV0c7GN8THn">
+      <listitem open="0" type="815" id="Vj0SWP8oBlwP"/>
+      <listitem open="0" type="815" id="BshfFnROWMlJ"/>
+      <listitem open="0" type="815" id="vYJ3CpWBc5wv"/>
+      <listitem open="0" type="815" id="l4JnaMDzhFxy"/>
      </listitem>
-     <listitem open="1" type="813" id="6E5EZU6tX5T3" >
-      <listitem open="0" type="814" id="P6mJow8joMsD" />
-      <listitem open="0" type="815" id="o4bgFCEoF1hf" />
+     <listitem open="1" type="813" id="6E5EZU6tX5T3">
+      <listitem open="0" type="814" id="P6mJow8joMsD"/>
+      <listitem open="0" type="815" id="o4bgFCEoF1hf"/>
      </listitem>
-     <listitem open="1" type="813" id="HxGBsOTUAxKJ" >
-      <listitem open="0" type="814" id="ZNeGl1DugbBe" />
+     <listitem open="1" type="813" id="HxGBsOTUAxKJ">
+      <listitem open="0" type="814" id="ZNeGl1DugbBe"/>
      </listitem>
-     <listitem open="1" type="813" id="Bpu6BGkYvCYw" />
-     <listitem open="1" type="813" id="C8WhVkflKFB1" >
-      <listitem open="0" type="814" id="GL5m8JCvDqf3" />
+     <listitem open="1" type="813" id="Bpu6BGkYvCYw"/>
+     <listitem open="1" type="813" id="C8WhVkflKFB1">
+      <listitem open="0" type="814" id="GL5m8JCvDqf3"/>
      </listitem>
-     <listitem open="1" type="813" id="k5hXMmPl060e" />
-     <listitem open="1" type="813" id="dzv0D2dND6ET" >
-      <listitem open="0" type="814" id="M6jeAA4abaKS" />
+     <listitem open="1" type="813" id="k5hXMmPl060e"/>
+     <listitem open="1" type="813" id="dzv0D2dND6ET">
+      <listitem open="0" type="814" id="M6jeAA4abaKS"/>
      </listitem>
-     <listitem open="1" type="813" id="pNUDqxMlHfJY" />
-     <listitem open="1" type="813" id="KqvrRUW77ieZ" />
-     <listitem open="1" type="813" id="gIneAG4GVUoA" />
-     <listitem open="1" type="813" id="wFIw2ToXckls" />
-     <listitem open="1" type="813" id="WeWTgTZTNfM1" />
-     <listitem open="0" type="830" id="Datatypes" >
-      <listitem open="1" type="829" id="IOPQJxo1uxLj" />
-      <listitem open="1" type="829" id="cX4NFIZFaUzG" />
-      <listitem open="1" type="829" id="2Nraprq5DFWU" />
-      <listitem open="1" type="829" id="QWncpthQOjne" />
-      <listitem open="1" type="829" id="kzAJrVD4EJ76" />
-      <listitem open="1" type="829" id="PxVlhGPhdFHQ" />
-      <listitem open="1" type="829" id="AIU3DpmeJYG7" />
-      <listitem open="1" type="829" id="cXhriCJhPNzB" />
-      <listitem open="1" type="829" id="46UFJyjSGDVS" />
-      <listitem open="1" type="829" id="AHcmWrAaxepH" />
-      <listitem open="1" type="829" id="0F6IlKP8Guux" />
+     <listitem open="1" type="813" id="pNUDqxMlHfJY"/>
+     <listitem open="1" type="813" id="KqvrRUW77ieZ"/>
+     <listitem open="1" type="813" id="gIneAG4GVUoA"/>
+     <listitem open="1" type="813" id="wFIw2ToXckls"/>
+     <listitem open="1" type="813" id="WeWTgTZTNfM1"/>
+     <listitem open="0" type="830" id="Datatypes">
+      <listitem open="1" type="829" id="IOPQJxo1uxLj"/>
+      <listitem open="1" type="829" id="cX4NFIZFaUzG"/>
+      <listitem open="1" type="829" id="2Nraprq5DFWU"/>
+      <listitem open="1" type="829" id="QWncpthQOjne"/>
+      <listitem open="1" type="829" id="kzAJrVD4EJ76"/>
+      <listitem open="1" type="829" id="PxVlhGPhdFHQ"/>
+      <listitem open="1" type="829" id="AIU3DpmeJYG7"/>
+      <listitem open="1" type="829" id="cXhriCJhPNzB"/>
+      <listitem open="1" type="829" id="46UFJyjSGDVS"/>
+      <listitem open="1" type="829" id="AHcmWrAaxepH"/>
+      <listitem open="1" type="829" id="0F6IlKP8Guux"/>
      </listitem>
     </listitem>
-    <listitem open="1" type="802" id="Use Case View" />
-    <listitem open="1" type="821" id="Component View" />
-    <listitem open="1" type="827" id="Deployment View" />
-    <listitem open="1" type="836" id="Entity Relationship Model" />
+    <listitem open="1" type="802" id="Use Case View"/>
+    <listitem open="1" type="821" id="Component View"/>
+    <listitem open="1" type="827" id="Deployment View"/>
+    <listitem open="1" type="836" id="Entity Relationship Model"/>
    </listitem>
   </listview>
   <codegeneration>
-   <codegenerator language="C++" />
+   <codegenerator language="C++"/>
   </codegeneration>
  </XMI.extensions>
 </XMI>

+ 5 - 5
src/cln/PerspectiveCameraShape.cpp

@@ -1,9 +1,9 @@
-#include "ProjectionCameraShape.h"
+#include "PerspectiveCameraShape.h"
 #include "LineSegment.h"
 
 
 //==============================================================================
-void ProjectionCameraShape::setAll(float fovX, float fovY,
+void PerspectiveCameraShape::setAll(float fovX, float fovY,
 	float zNear, float zFar, const Transform& trf)
 {
 	eye = Vec3(0.0, 0.0, -zNear);
@@ -26,10 +26,10 @@ void ProjectionCameraShape::setAll(float fovX, float fovY,
 
 
 //==============================================================================
-ProjectionCameraShape ProjectionCameraShape::getTransformed(
+PerspectiveCameraShape PerspectiveCameraShape::getTransformed(
 	const Transform& trf) const
 {
-	ProjectionCameraShape o;
+	PerspectiveCameraShape o;
 	o.eye = eye.getTransformed(trf);
 
 	for(uint i = 0; i < 4; i++)
@@ -42,7 +42,7 @@ ProjectionCameraShape ProjectionCameraShape::getTransformed(
 
 
 //==============================================================================
-float ProjectionCameraShape::testPlane(const Plane& p) const
+float PerspectiveCameraShape::testPlane(const Plane& p) const
 {
 	float o = 0.0;
 

+ 5 - 11
src/rsrc/Material.h

@@ -44,12 +44,8 @@ class ShaderProgram;
 ///
 /// 	<wireframe>true | false</wireframe>
 ///
-/// 	<passes><pass>PASS_NAME</pass></passes>
-///
-/// 	[<levels>n</levels>] *
-///
 /// 	<shaderProgram>
-/// 		<vertexShader | geometryShader | fragmentShader>
+/// 		<fragmentShader>
 /// 			<includes>
 /// 				<include>file.glsl</include>
 /// 				<include>file2.glsl</include>
@@ -58,8 +54,7 @@ class ShaderProgram;
 /// 			<inputs>
 /// 				<input>
 /// 					<name>xx</name>
-/// 					<type>float | vec2 | vec3 | vec4 | sampler2D</type>
-/// 					<value> **
+/// 					<value> *
 /// 						<float>0.0</float> |
 /// 						<vec2><x>0.0</x><y>0.0</y></vec2> |
 /// 						<vec3><x>0.0</x><y>0.0</y><z>0.0</z></vec3> |
@@ -79,13 +74,12 @@ class ShaderProgram;
 /// 					</arguments>
 /// 				</operation>
 /// 			</operations>
-/// 		</vertexShader | geometryShader | fragmentShader>
+/// 		</fragmentShader>
 /// 	</shaderProgram>
 /// </material>
 /// @endcode
-/// *: If not present then level assumed to be 1. It should be > 0
-/// **: If the value tag is not present then the in variable is assumed to be
-/// buildin
+/// *: If the value tag is not present then the in variable is assumed to be
+///    build
 class Material: public MaterialProperties
 {
 	public:

+ 3 - 9
src/scene/Camera.h

@@ -3,7 +3,7 @@
 
 #include "cln/Collision.h"
 #include "SceneNode.h"
-#include "VisibilityNode.h"
+#include "VisibilityInfo.h"
 #include <boost/array.hpp>
 #include <deque>
 #include <vector>
@@ -17,7 +17,7 @@ class PointLight;
 /// @{
 
 /// Camera SceneNode interface class
-class Camera: public VisibilityNode
+class Camera: public SceneNode, public VisibilityInfo
 {
 	public:
 		/// @note Don't EVER change the order
@@ -125,10 +125,6 @@ class Camera: public VisibilityNode
 		/// Calculate projectionMat and invProjectionMat
 		virtual void calcProjectionMatrix() = 0;
 		virtual void calcLSpaceFrustumPlanes() = 0;
-
-		/// Calculate collision shape in local space
-		virtual void calcColShape() = 0;
-
 		void updateViewMatrix();
 		void updateWSpaceFrustumPlanes();
 
@@ -141,7 +137,7 @@ class Camera: public VisibilityNode
 
 inline Camera::Camera(CameraType t, Scene& scene, ulong flags,
 	SceneNode* parent)
-:	VisibilityNode(VNT_CAMERA, scene, flags, parent),
+:	SceneNode(SNT_CAMERA, scene, flags, parent),
  	type(t)
 {
 	name = "Camera:" + name;
@@ -153,7 +149,6 @@ inline void Camera::setZNear(float znear_)
 	zNear = znear_;
 	calcProjectionMatrix();
 	calcLSpaceFrustumPlanes();
-	calcColShape();
 }
 
 
@@ -162,7 +157,6 @@ inline void Camera::setZFar(float zfar_)
 	zFar = zfar_;
 	calcProjectionMatrix();
 	calcLSpaceFrustumPlanes();
-	calcColShape();
 }
 
 

+ 1 - 1
src/scene/Light.h

@@ -24,7 +24,7 @@
 /// Specular intensity of light:    Sl
 /// Specular intensity of material: Sm
 /// @endcode
-class Light: public SceneNode, public VisibilityNode
+class Light: public SceneNode, public VisibilityInfo
 {
 	public:
 		enum LightType

+ 2 - 1
src/scene/PerspectiveCamera.cpp

@@ -11,7 +11,8 @@ void PerspectiveCamera::setAll(float fovx_, float fovy_, float znear_,
 	fovY = fovy_;
 	zNear = znear_;
 	zFar = zfar_;
-	updateLocals();
+	calcProjectionMatrix();
+	calcLSpaceFrustumPlanes();
 }
 
 

+ 4 - 9
src/scene/PerspectiveCamera.h

@@ -63,13 +63,6 @@ class PerspectiveCamera: public Camera
 		/// Implements Camera::calcProjectionMatrix
 		void calcProjectionMatrix();
 
-		/// Implements Camera::calcColShape
-		void calcColShape()
-		{
-			lspaceCShape.setAll(fovX, fovY, zNear, zFar,
-				Transform::getIdentity());
-		}
-
 		/// Update:
 		/// - The projection matrix
 		/// - The planes
@@ -78,7 +71,8 @@ class PerspectiveCamera: public Camera
 		{
 			calcProjectionMatrix();
 			calcLSpaceFrustumPlanes();
-			calcColShape();
+			lspaceCShape.setAll(fovX, fovY, zNear, zFar,
+				Transform::getIdentity());
 		}
 };
 
@@ -101,7 +95,8 @@ inline void PerspectiveCamera::setFovX(float fovx_)
 inline void PerspectiveCamera::setFovY(float fovy_)
 {
 	fovY = fovy_;
-	updateLocals();
+	calcProjectionMatrix();
+	calcLSpaceFrustumPlanes();
 }
 
 

+ 8 - 0
src/scene/VisibilityInfo.cpp

@@ -0,0 +1,8 @@
+#include "VisibilityInfo.h"
+
+
+//==============================================================================
+// Destructor                                                                  =
+//==============================================================================
+VisibilityInfo::~VisibilityInfo()
+{}

+ 22 - 20
src/scene/VisibilityInfo.h

@@ -1,6 +1,7 @@
 #ifndef VISIBILITY_INFO_H
 #define VISIBILITY_INFO_H
 
+#include <deque>
 #include <vector>
 
 
@@ -14,59 +15,60 @@ class SpotLight;
 class VisibilityInfo
 {
 	public:
-		template<typename T>
-		class Types
-		{
-			typedef std::vector<T*> Container;
-		};
+		typedef std::deque<const RenderableNode*> RContainer;
+		typedef std::vector<const PointLight*> PLContainer;
+		typedef std::vector<SpotLight*> SLContainer;
+
+		VisibilityInfo() {}
+		~VisibilityInfo();
 
 		/// @name Accessors
 		/// @{
-		const Types<RenderableNode>::Container&
-			getVisibleMsRenderableNodes() const
+		const RContainer& getVisibleMsRenderableNodes() const
 		{
 			return msRNodes;
 		}
-		Types<RenderableNode>::Container& getVisibleMsRenderableNodes()
+		RContainer& getVisibleMsRenderableNodes()
 		{
 			return msRNodes;
 		}
 
-		const Types<RenderableNode>::Container&
-			getVisibleBsRenderableNodes() const
+		const RContainer& getVisibleBsRenderableNodes() const
 		{
 			return bsRNodes;
 		}
-		Types<RenderableNode>::Container& getVisibleBsRenderableNodes()
+		RContainer& getVisibleBsRenderableNodes()
 		{
 			return bsRNodes;
 		}
 
-		const Types<PointLight>::Container& getVisiblePointLights() const
+		const PLContainer& getVisiblePointLights() const
 		{
 			return pLights;
 		}
-		Types<PointLight>::Container& getVisiblePointLights()
+		PLContainer& getVisiblePointLights()
 		{
 			return pLights;
 		}
 
-		const Types<SpotLight>::Container& getVisibleSpotLights() const
+		const SLContainer& getVisibleSpotLights() const
 		{
 			return sLights;
 		}
-		Types<SpotLight>::Container& getVisibleSpotLights()
+		SLContainer& getVisibleSpotLights()
 		{
 			return sLights;
 		}
 		/// @}
 
-	protected:
-		Types<RenderableNode>::Container msRNodes;
-		Types<RenderableNode>::Container bsRNodes;
-		Types<PointLight>::Container pLights;
-		Types<SpotLight>::Container sLights;
+	private:
+		RContainer msRNodes;
+		RContainer bsRNodes;
+		PLContainer pLights; ///< Used only for non-light cameras
+		SLContainer sLights; ///< Used only for non-light cameras
 };
 
 
 #endif
+
+

+ 0 - 16
src/scene/VisibilityNode.cpp

@@ -1,16 +0,0 @@
-#include "VisibilityNode.h"
-
-
-//==============================================================================
-VisibilityNode::~VisibilityNode()
-{}
-
-
-//==============================================================================
-void VisibilityNode::clearAll()
-{
-	msRNodes.clear();
-	bsRNodes.clear();
-	pLights.clear();
-	sLights.clear();
-}

+ 0 - 67
src/scene/VisibilityNode.h

@@ -1,67 +0,0 @@
-#ifndef VISIBILITY_NODE_H
-#define VISIBILITY_NODE_H
-
-#include "SceneNode.h"
-#include <deque>
-#include <vector>
-
-
-class VisibilityInfo;
-
-
-/// XXX
-class VisibilityNode: public SceneNode
-{
-	public:
-		enum VisibilityNodeType
-		{
-			VNT_LIGHT,
-			VNT_CAMERA
-		};
-
-		VisibilityNode(VisibilityNodeType type, Scene& scene, ulong flags,
-			SceneNode* parent)
-		:	SceneNode(SNT_VISIBILITY_NODE, scene, flags, parent),
-		 	type(type)
-		{}
-
-		virtual ~VisibilityNode();
-
-		/// @name For casting
-		/// @{
-		static bool classof(const SceneNode* x)
-		{
-			return x->getSceneNodeType() == SNT_VISIBILITY_NODE;
-		}
-		static bool classof(const VisibilityNode* x)
-		{
-			return true;
-		}
-		/// @}
-
-		/// @name Accessors
-		/// @{
-		VisibilityNodeType getVisibilityNodeType() const
-		{
-			return type;
-		}
-
-		const VisibilityInfo& getVisibilityInfo() const = 0;
-		VisibilityInfo& getVisibilityInfo() = 0;
-		/// @}
-
-		/// Clear all containers
-		void clearAll();
-
-	private:
-		VisibilityNodeType type;
-		RContainer msRNodes;
-		RContainer bsRNodes;
-		PLContainer pLights; ///< Used only for non-light cameras
-		SLContainer sLights; ///< Used only for non-light cameras
-};
-
-
-#endif
-
-

+ 26 - 46
src/scene/VisibilityTester.cpp

@@ -12,6 +12,15 @@
 #include "core/Logger.h"
 
 
+//==============================================================================
+// Destructor                                                                  =
+//==============================================================================
+VisibilityTester::~VisibilityTester()
+{}
+
+
+//==============================================================================
+// CmpDistanceFromOrigin::operator()                                           =
 //==============================================================================
 bool VisibilityTester::CmpDistanceFromOrigin::operator()(const SceneNode* a,
 	const SceneNode* b) const
@@ -22,20 +31,26 @@ bool VisibilityTester::CmpDistanceFromOrigin::operator()(const SceneNode* a,
 
 
 //==============================================================================
-void VisibilityTester::test(Camera& cam, Scene& scene_)
-{
-	scene = &scene_;
+// Constructor                                                                 =
+//==============================================================================
+VisibilityTester::VisibilityTester(Scene& scene_):
+	scene(scene_)
+{}
+
 
+//==============================================================================
+// test                                                                        =
+//==============================================================================
+void VisibilityTester::test(Camera& cam)
+{
 	//
-	// Set all nodes set to not visible
+	// Set all nodes to not visible
 	//
 	BOOST_FOREACH(SceneNode* node, scene.getAllNodes())
 	{
 		node->disableFlag(SceneNode::SNF_VISIBLE);
 	}
 
-
-
 	//
 	// Collect the lights for the main cam
 	//
@@ -70,7 +85,8 @@ void VisibilityTester::test(Camera& cam, Scene& scene_)
 			{
 				SpotLight* spotl = static_cast<SpotLight*>(light);
 
-				if(cam.insideFrustum(spotl->getCamera()))
+				if(cam.insideFrustum(*(spotl->getCamera().
+					getVisibilityCollisionShapeWorldSpace())))
 				{
 					cam.getVisibleSpotLights().push_back(spotl);
 					spotl->enableFlag(SceneNode::SNF_VISIBLE);
@@ -102,7 +118,7 @@ void VisibilityTester::test(Camera& cam, Scene& scene_)
 template<typename Type>
 bool VisibilityTester::test(const Type& tested, const Camera& cam)
 {
-	return cam.insideFrustum(tested.getVisibilityShapeWSpace());
+	return cam.insideFrustum(*tested.getVisibilityCollisionShapeWorldSpace());
 }
 
 
@@ -110,7 +126,7 @@ bool VisibilityTester::test(const Type& tested, const Camera& cam)
 // getRenderableNodes                                                          =
 //==============================================================================
 void VisibilityTester::getRenderableNodes(bool skipShadowless,
-	const Camera& cam, VisibilityNode& storage)
+	const Camera& cam, VisibilityInfo& storage)
 {
 	storage.getVisibleMsRenderableNodes().clear();
 	storage.getVisibleBsRenderableNodes().clear();
@@ -158,7 +174,7 @@ void VisibilityTester::getRenderableNodesJobCallback(
 
 	const Camera& cam = *jobParameters.cam;
 	bool skipShadowless = jobParameters.skipShadowless;
-	VisibilityNode& visibilityInfo = *jobParameters.visibilityInfo;
+	VisibilityInfo& visibilityInfo = *jobParameters.visibilityInfo;
 	Scene& scene = *jobParameters.scene;
 	boost::mutex& msRenderableNodesMtx = *jobParameters.msRenderableNodesMtx;
 	boost::mutex& bsRenderableNodesMtx = *jobParameters.bsRenderableNodesMtx;
@@ -317,39 +333,3 @@ void VisibilityTester::getRenderableNodesJobCallback(
 		}
 	}
 }
-
-
-//==============================================================================
-void getOverlappingNodes(SceneNode& node)
-{
-	/*node.getVisibleMsRenderableNodes().clear();
-	node.getVisibleBsRenderableNodes().clear();
-	node.getVi*/
-
-	// Run in parallel
-	VisJobParameters jobParameters;
-	jobParameters.cam = &cam;
-	jobParameters.skipShadowless = skipShadowless;
-	jobParameters.visibilityInfo = &storage;
-	jobParameters.scene = &scene;
-	jobParameters.msRenderableNodesMtx = &msRenderableNodesMtx;
-	jobParameters.bsRenderableNodesMtx = &bsRenderableNodesMtx;
-
-	for(uint i = 0;
-		i < parallel::ManagerSingleton::get().getThreadsNum(); i++)
-	{
-		parallel::ManagerSingleton::get().assignNewJob(i,
-			getRenderableNodesJobCallback, jobParameters);
-	}
-	parallel::ManagerSingleton::get().waitForAllJobsToFinish();
-
-	//
-	// Sort the renderables from closest to the camera to the farthest
-	//
-	std::sort(storage.getVisibleMsRenderableNodes().begin(),
-		storage.getVisibleMsRenderableNodes().end(),
-		CmpDistanceFromOrigin(cam.getWorldTransform().getOrigin()));
-	std::sort(storage.getVisibleBsRenderableNodes().begin(),
-		storage.getVisibleBsRenderableNodes().end(),
-		CmpDistanceFromOrigin(cam.getWorldTransform().getOrigin()));
-}

+ 11 - 9
src/scene/VisibilityTester.h

@@ -13,7 +13,7 @@ class RenderableNode;
 class SpotLight;
 class PointLight;
 class SceneNode;
-class VisibilityNode;
+class VisibilityInfo;
 
 
 /// Performs visibility determination tests and fills a few containers with the
@@ -21,21 +21,23 @@ class VisibilityNode;
 class VisibilityTester
 {
 	public:
+		/// Constructor
+		VisibilityTester(Scene& scene);
+		~VisibilityTester();
+
 		/// This method:
 		/// - Gets the visible renderable nodes
 		/// - Sort them from the closest to the farthest
 		/// - Get the visible lights
 		/// - For every spot light that casts shadow get the visible renderables
-		void test(Camera& cam, Scene& scene);
+		void test(Camera& cam);
 
 	private:
 		/// Used in sorting. Compare the length of 2 nodes from the camera
 		struct CmpDistanceFromOrigin
 		{
 			Vec3 o; ///< The camera origin
-			CmpDistanceFromOrigin(const Vec3& o_)
-			:	o(o_)
-			{}
+			CmpDistanceFromOrigin(const Vec3& o_): o(o_) {}
 			bool operator()(const SceneNode* a, const SceneNode* b) const;
 		};
 
@@ -44,13 +46,13 @@ class VisibilityTester
 		{
 			const Camera* cam;
 			bool skipShadowless;
-			VisibilityNode* visibilityInfo;
+			VisibilityInfo* visibilityInfo;
 			Scene* scene;
 			boost::mutex* msRenderableNodesMtx;
 			boost::mutex* bsRenderableNodesMtx;
 		};
 
-		Scene* scene; ///< Know the scene
+		Scene& scene; ///< Know your father
 
 		/// @name Needed by getRenderableNodesJobCallback
 		/// The vars of this group are needed by the static
@@ -68,10 +70,10 @@ class VisibilityTester
 		/// @param[in] skipShadowless Skip shadowless nodes. If the cam is a
 		/// light cam
 		/// @param[in] cam The camera to test and gather renderable nodes
-		/// @param[out] storage The VisibilityNode of where we will store the
+		/// @param[out] storage The VisibilityInfo of where we will store the
 		/// visible nodes
 		void getRenderableNodes(bool skipShadowless, const Camera& cam,
-			VisibilityNode& storage);
+			VisibilityInfo& storage);
 
 		/// This static method will be fed into the parallel::Manager
 		/// @param data This is actually a pointer to VisibilityTester