phantom button

This commit is contained in:
Lendemor 2017-02-16 19:57:51 +01:00
parent 9ee0dcd581
commit d8c4505ed8
10 changed files with 452 additions and 111 deletions

View File

@ -15,10 +15,9 @@
<graph edgedefault="directed" id="G"> <graph edgedefault="directed" id="G">
<data key="d0"/> <data key="d0"/>
<node id="n0"> <node id="n0">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="37.0" width="107.0" x="489.0" y="193.0"/> <y:Geometry height="37.0" width="107.0" x="432.89516216216185" y="0.0"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="66.712890625" x="20.1435546875" y="9.1494140625">SceneNode<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="66.712890625" x="20.1435546875" y="9.1494140625">SceneNode<y:LabelModel>
@ -33,10 +32,9 @@
</data> </data>
</node> </node>
<node id="n1"> <node id="n1">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="37.0" width="107.0" x="368.0" y="277.0"/> <y:Geometry height="37.0" width="107.0" x="309.27016216216185" y="77.0"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="74.705078125" x="16.1474609375" y="9.1494140625">GraphicNode<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="74.705078125" x="16.1474609375" y="9.1494140625">GraphicNode<y:LabelModel>
@ -51,13 +49,12 @@
</data> </data>
</node> </node>
<node id="n2"> <node id="n2">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="37.0" width="153.0" x="466.0" y="361.0"/> <y:Geometry height="37.0" width="153.0" x="208.14516216216188" y="154.0"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="126.736328125" x="13.1318359375" y="9.1494140625">GraphicContainerNode<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="126.736328125" x="13.131835937500028" y="9.1494140625">GraphicContainerNode<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/> <y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel> </y:LabelModel>
<y:ModelParameter> <y:ModelParameter>
@ -69,10 +66,9 @@
</data> </data>
</node> </node>
<node id="n3"> <node id="n3">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="37.0" width="107.0" x="705.5" y="277.0"/> <y:Geometry height="37.0" width="107.0" x="446.27016216216185" y="77.0"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="84.71875" x="11.140625" y="9.1494140625">ContainerNode<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="84.71875" x="11.140625" y="9.1494140625">ContainerNode<y:LabelModel>
@ -87,10 +83,9 @@
</data> </data>
</node> </node>
<node id="n4"> <node id="n4">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="37.0" width="81.0" x="355.0" y="361.0"/> <y:Geometry height="37.0" width="81.0" x="271.4927812097809" y="524.4875675675677"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="62.03125" x="9.484375" y="9.1494140625">MeshNode<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="62.03125" x="9.484375" y="9.1494140625">MeshNode<y:LabelModel>
@ -105,10 +100,9 @@
</data> </data>
</node> </node>
<node id="n5"> <node id="n5">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="37.0" width="81.0" x="244.0" y="361.0"/> <y:Geometry height="37.0" width="81.0" x="391.14516216216185" y="154.0"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="58.708984375" x="11.1455078125" y="9.1494140625">LightNode<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="58.708984375" x="11.1455078125" y="9.1494140625">LightNode<y:LabelModel>
@ -123,10 +117,9 @@
</data> </data>
</node> </node>
<node id="n6"> <node id="n6">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="37.0" width="107.0" x="568.5" y="277.0"/> <y:Geometry height="37.0" width="107.0" x="583.2701621621619" y="77.0"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="75.3671875" x="15.81640625" y="9.1494140625">CameraNode<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="75.3671875" x="15.81640625" y="9.1494140625">CameraNode<y:LabelModel>
@ -140,23 +133,145 @@
</y:ShapeNode> </y:ShapeNode>
</data> </data>
</node> </node>
<node id="n7" yfiles.foldertype="group"> <node id="n7">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="37.0" width="81.0" x="27.67016216216188" y="591.4875675675677"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="56.025390625" x="12.487304687500007" y="9.1494140625">TextNode<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n8">
<data key="d5"/>
<data key="d6">
<y:ShapeNode>
<y:Geometry height="45.282162162162194" width="95.84032432432377" x="0.0" y="381.5643243243244"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="62.048828125" x="16.895748099661887" y="13.290495143581097">LabelNode<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n9">
<data key="d5"/>
<data key="d6">
<y:ShapeNode>
<y:Geometry height="45.282162162162194" width="98.30464864864814" x="186.39998069498068" y="221.0"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="54.021484375" x="22.14158213682407" y="13.290495143581097">GUINode<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n10">
<data key="d5"/>
<data key="d6">
<y:ShapeNode>
<y:Geometry height="45.282162162162194" width="107.0" x="99.09040025739998" y="306.2821621621622"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="67.380859375" x="19.8095703125" y="13.290495143581097">ButtonNode<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n11">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="45.282162162162194" width="117.18810810810805" x="159.94912398112373" y="449.2054054054055"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="99.390625" x="8.898741554054027" y="13.290495143581097">BackGroundNode<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n12">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="37.0" width="98.30464864864814" x="262.84045688545683" y="310.4232432432433"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="81.3671875" x="8.46873057432407" y="9.1494140625">ScrollBarNode<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n13">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="30.0" width="107.0" x="125.84040025739998" y="389.2054054054055"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="73.392578125" x="16.8037109375" y="5.6494140625">ButtonShape<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n14" yfiles.foldertype="group">
<data key="d4"/> <data key="d4"/>
<data key="d6"> <data key="d6">
<y:ProxyAutoBoundsNode> <y:ProxyAutoBoundsNode>
<y:Realizers active="0"> <y:Realizers active="0">
<y:GroupNode> <y:GroupNode>
<y:Geometry height="127.17646484375015" width="317.7119140625" x="364.5" y="43.82353515624985"/> <y:Geometry height="171.37646484375" width="317.7119140625002" x="817.5072933549434" y="221.0"/>
<y:Fill color="#F5F5F5" transparent="false"/> <y:Fill color="#F5F5F5" transparent="false"/>
<y:BorderStyle color="#000000" type="dashed" width="1.0"/> <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="317.7119140625" x="0.0" y="0.0">Legend</y:NodeLabel> <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="317.7119140625002" x="0.0" y="0.0">Legend</y:NodeLabel>
<y:Shape type="roundrectangle"/> <y:Shape type="roundrectangle"/>
<y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/> <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
<y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/> <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
<y:BorderInsets bottom="0" bottomF="0.0" left="4" leftF="4.0" right="0" rightF="0.0" top="2" topF="1.8000000000001535"/> <y:BorderInsets bottom="0" bottomF="0.0" left="4" leftF="4.0" right="0" rightF="0.0" top="0" topF="0.0"/>
</y:GroupNode> </y:GroupNode>
<y:GroupNode> <y:GroupNode>
<y:Geometry height="50.0" width="50.0" x="-25.0" y="-25.0"/> <y:Geometry height="50.0" width="50.0" x="383.64404296874994" y="-50.17646484375015"/>
<y:Fill color="#CAECFF80" transparent="false"/> <y:Fill color="#CAECFF80" transparent="false"/>
<y:BorderStyle color="#666699" type="dotted" width="1.0"/> <y:BorderStyle color="#666699" type="dotted" width="1.0"/>
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#99CCFF" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="59.02685546875" x="-4.513427734375" y="0.0">Folder 1</y:NodeLabel> <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#99CCFF" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="59.02685546875" x="-4.513427734375" y="0.0">Folder 1</y:NodeLabel>
@ -168,12 +283,11 @@
</y:Realizers> </y:Realizers>
</y:ProxyAutoBoundsNode> </y:ProxyAutoBoundsNode>
</data> </data>
<graph edgedefault="directed" id="n7:"> <graph edgedefault="directed" id="n14:">
<node id="n7::n0"> <node id="n14::n0">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="27.0" width="26.0" x="385.5" y="83.0"/> <y:Geometry height="27.0" width="26.0" x="838.5072933549434" y="258.37646484375"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="12.00390625" x="6.998046875" y="4.1494140625">A<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="12.00390625" x="6.998046875" y="4.1494140625">A<y:LabelModel>
@ -187,11 +301,10 @@
</y:ShapeNode> </y:ShapeNode>
</data> </data>
</node> </node>
<node id="n7::n1"> <node id="n14::n1">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="27.0" width="26.0" x="449.5" y="83.0"/> <y:Geometry height="27.0" width="26.0" x="902.5072933549434" y="258.37646484375"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="12.00390625" x="6.998046875" y="4.1494140625">B<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="12.00390625" x="6.998046875" y="4.1494140625">B<y:LabelModel>
@ -205,11 +318,10 @@
</y:ShapeNode> </y:ShapeNode>
</data> </data>
</node> </node>
<node id="n7::n2"> <node id="n14::n2">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="30.0" width="30.0" x="527.5" y="83.0"/> <y:Geometry height="30.0" width="30.0" x="980.5072933549435" y="258.37646484375"/>
<y:Fill hasColor="false" transparent="false"/> <y:Fill hasColor="false" transparent="false"/>
<y:BorderStyle hasColor="false" raised="false" type="line" width="1.0"/> <y:BorderStyle hasColor="false" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="65.359375" x="-17.6796875" y="5.6494140625">B inherits A<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="65.359375" x="-17.6796875" y="5.6494140625">B inherits A<y:LabelModel>
@ -223,11 +335,10 @@
</y:ShapeNode> </y:ShapeNode>
</data> </data>
</node> </node>
<node id="n7::n3"> <node id="n14::n3">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="30.0" width="30.0" x="383.5" y="126.0"/> <y:Geometry height="30.0" width="30.0" x="836.5072933549434" y="301.37646484375"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="12.00390625" x="8.998046875" y="5.6494140625">A<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="12.00390625" x="8.998046875" y="5.6494140625">A<y:LabelModel>
@ -241,11 +352,10 @@
</y:ShapeNode> </y:ShapeNode>
</data> </data>
</node> </node>
<node id="n7::n4"> <node id="n14::n4">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="30.0" width="30.0" x="447.5" y="126.0"/> <y:Geometry height="30.0" width="30.0" x="900.5072933549434" y="301.37646484375"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="12.00390625" x="8.998046875" y="5.6494140625">B<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="12.00390625" x="8.998046875" y="5.6494140625">B<y:LabelModel>
@ -259,11 +369,10 @@
</y:ShapeNode> </y:ShapeNode>
</data> </data>
</node> </node>
<node id="n7::n5"> <node id="n14::n5">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="30.0" width="30.0" x="527.5" y="126.0"/> <y:Geometry height="30.0" width="30.0" x="980.5072933549435" y="301.37646484375"/>
<y:Fill hasColor="false" transparent="false"/> <y:Fill hasColor="false" transparent="false"/>
<y:BorderStyle hasColor="false" raised="false" type="line" width="1.0"/> <y:BorderStyle hasColor="false" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="155.423828125" x="-15.7119140625" y="7.298828125">A can contain instances of B<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="155.423828125" x="-15.7119140625" y="7.298828125">A can contain instances of B<y:LabelModel>
@ -277,16 +386,13 @@
</y:ShapeNode> </y:ShapeNode>
</data> </data>
</node> </node>
</graph> <node id="n14::n6">
</node>
<node id="n8">
<data key="d5"/>
<data key="d6"> <data key="d6">
<y:ShapeNode> <y:ShapeNode>
<y:Geometry height="37.0" width="81.0" x="316.0" y="455.0"/> <y:Geometry height="27.0" width="26.0" x="838.5072933549433" y="347.37646484375"/>
<y:Fill color="#FFCC00" transparent="false"/> <y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/> <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="56.025390625" x="12.4873046875" y="9.1494140625">TextNode<y:LabelModel> <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="12.00390625" x="6.998046875" y="4.1494140625">A<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/> <y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel> </y:LabelModel>
<y:ModelParameter> <y:ModelParameter>
@ -297,11 +403,49 @@
</y:ShapeNode> </y:ShapeNode>
</data> </data>
</node> </node>
<node id="n14::n7">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="27.0" width="26.0" x="902.5072933549433" y="347.37646484375"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="12.00390625" x="6.998046875" y="4.1494140625">B<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n14::n8">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="30.0" width="150.0" x="966.5072933549433" y="347.37646484375"/>
<y:Fill hasColor="false" transparent="false"/>
<y:BorderStyle hasColor="false" raised="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="150.09765625" x="-0.048828125" y="5.6494140625">A contain one instance of B<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
</graph>
</node>
<edge id="e0" source="n1" target="n2"> <edge id="e0" source="n1" target="n2">
<data key="d9"/>
<data key="d10"> <data key="d10">
<y:PolyLineEdge> <y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> <y:Path sx="-40.125" sy="18.5" tx="-38.25" ty="-18.5">
<y:Point x="322.64516216216185" y="124.0"/>
<y:Point x="246.39516216216188" y="124.0"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/> <y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/> <y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/> <y:BendStyle smoothed="false"/>
@ -309,10 +453,9 @@
</data> </data>
</edge> </edge>
<edge id="e1" source="n0" target="n3"> <edge id="e1" source="n0" target="n3">
<data key="d9"/>
<data key="d10"> <data key="d10">
<y:PolyLineEdge> <y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> <y:Path sx="-13.375" sy="18.5" tx="-26.75" ty="-18.5"/>
<y:LineStyle color="#000000" type="line" width="1.0"/> <y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/> <y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/> <y:BendStyle smoothed="false"/>
@ -320,10 +463,12 @@
</data> </data>
</edge> </edge>
<edge id="e2" source="n1" target="n4"> <edge id="e2" source="n1" target="n4">
<data key="d9"/>
<data key="d10"> <data key="d10">
<y:PolyLineEdge> <y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> <y:Path sx="13.375" sy="18.5" tx="27.0" ty="-18.5">
<y:Point x="376.14516216216185" y="481.8464864864866"/>
<y:Point x="338.9927812097809" y="481.8464864864866"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/> <y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/> <y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/> <y:BendStyle smoothed="false"/>
@ -331,10 +476,12 @@
</data> </data>
</edge> </edge>
<edge id="e3" source="n1" target="n5"> <edge id="e3" source="n1" target="n5">
<data key="d9"/>
<data key="d10"> <data key="d10">
<y:PolyLineEdge> <y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> <y:Path sx="40.125" sy="18.5" tx="0.0" ty="-18.5">
<y:Point x="402.89516216216185" y="124.0"/>
<y:Point x="431.64516216216185" y="124.0"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/> <y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/> <y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/> <y:BendStyle smoothed="false"/>
@ -342,22 +489,92 @@
</data> </data>
</edge> </edge>
<edge id="e4" source="n0" target="n1"> <edge id="e4" source="n0" target="n1">
<data key="d9"/>
<data key="d10"> <data key="d10">
<y:PolyLineEdge> <y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> <y:Path sx="-40.125" sy="18.5" tx="0.0" ty="-18.5">
<y:Point x="446.27016216216185" y="47.0"/>
<y:Point x="362.77016216216185" y="47.0"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/> <y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/> <y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/> <y:BendStyle smoothed="false"/>
</y:PolyLineEdge> </y:PolyLineEdge>
</data> </data>
</edge> </edge>
<edge id="e5" source="n2" target="n1"> <edge id="e5" source="n0" target="n6">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="40.125" sy="18.5" tx="0.0" ty="-18.5">
<y:Point x="526.5201621621618" y="47.0"/>
<y:Point x="636.7701621621619" y="47.0"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e6" source="n4" target="n7">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="18.5" tx="20.25" ty="-18.5">
<y:Point x="311.9927812097809" y="571.4875675675677"/>
<y:Point x="88.42016216216189" y="571.4875675675677"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e7" source="n2" target="n9">
<data key="d9"/> <data key="d9"/>
<data key="d10"> <data key="d10">
<y:PolyLineEdge> <y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> <y:Path sx="0.0" sy="18.5" tx="0.0" ty="-22.641081081081097">
<y:Point x="542.5" y="295.5"/> <y:Point x="284.64516216216185" y="201.0"/>
<y:Point x="235.55230501930475" y="201.0"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e8" source="n9" target="n8">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-36.86424324324307" sy="22.641081081081097" tx="-23.960081081080943" ty="-22.641081081081097">
<y:Point x="198.6880617760617" y="276.2821621621622"/>
<y:Point x="23.96024152724125" y="276.2821621621622"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e9" source="n9" target="n10">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-12.288081081081017" sy="22.641081081081097" tx="0.0" ty="-22.641081081081097">
<y:Point x="223.26422393822375" y="286.2821621621622"/>
<y:Point x="152.59040025739998" y="286.2821621621622"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e10" source="n10" target="n8">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-26.75" sy="22.641081081081097" tx="23.960081081080943" ty="-22.641081081081097">
<y:Point x="125.84040025739998" y="361.5643243243244"/>
<y:Point x="71.88024324324283" y="361.5643243243244"/>
</y:Path> </y:Path>
<y:LineStyle color="#FF6600" type="line" width="1.0"/> <y:LineStyle color="#FF6600" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/> <y:Arrows source="none" target="standard"/>
@ -365,12 +582,58 @@
</y:PolyLineEdge> </y:PolyLineEdge>
</data> </data>
</edge> </edge>
<edge id="e6" source="n3" target="n0"> <edge id="e11" source="n9" target="n11">
<data key="d9"/>
<data key="d10"> <data key="d10">
<y:PolyLineEdge> <y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> <y:Path sx="12.288081081081003" sy="22.641081081081097" tx="29.297027027027013" ty="-22.641081081081097"/>
<y:Point x="759.0" y="211.5"/> <y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e12" source="n2" target="n1">
<data key="d9"/>
<data key="d10">
<y:GenericEdge configuration="com.yworks.edge.framed">
<y:Path sx="38.25" sy="-18.5" tx="-13.375" ty="18.5">
<y:Point x="322.89516216216185" y="134.0"/>
<y:Point x="349.39516216216185" y="134.0"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="3.0"/>
<y:Arrows source="none" target="standard"/>
</y:GenericEdge>
</data>
</edge>
<edge id="e13" source="n3" target="n0">
<data key="d9"/>
<data key="d10">
<y:GenericEdge configuration="com.yworks.edge.framed">
<y:Path sx="26.75" sy="-18.5" tx="13.375" ty="18.5">
<y:Point x="526.5201621621618" y="57.0"/>
<y:Point x="499.77016216216185" y="57.0"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="3.0"/>
<y:Arrows source="none" target="standard"/>
</y:GenericEdge>
</data>
</edge>
<edge id="e14" source="n8" target="n7">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="22.641081081081097" tx="-20.25" ty="-18.5"/>
<y:LineStyle color="#FF6600" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e15" source="n11" target="n4">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="22.641081081081097" tx="-27.0" ty="-18.5">
<y:Point x="218.54317803517776" y="504.4875675675677"/>
<y:Point x="284.9927812097809" y="504.4875675675677"/>
</y:Path> </y:Path>
<y:LineStyle color="#FF6600" type="line" width="1.0"/> <y:LineStyle color="#FF6600" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/> <y:Arrows source="none" target="standard"/>
@ -378,41 +641,53 @@
</y:PolyLineEdge> </y:PolyLineEdge>
</data> </data>
</edge> </edge>
<edge id="e7" source="n0" target="n6"> <edge id="e16" source="n9" target="n12">
<data key="d9"/>
<data key="d10"> <data key="d10">
<y:PolyLineEdge> <y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="-10.0"/> <y:Path sx="36.86424324324305" sy="22.641081081081097" tx="0.0" ty="-18.5">
<y:Point x="272.4165482625478" y="276.2821621621622"/>
<y:Point x="311.9927812097809" y="276.2821621621622"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/> <y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/> <y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/> <y:BendStyle smoothed="false"/>
</y:PolyLineEdge> </y:PolyLineEdge>
</data> </data>
</edge> </edge>
<edge id="n7::e0" source="n7::n0" target="n7::n1"> <edge id="e17" source="n12" target="n4">
<data key="d9"/>
<data key="d10"> <data key="d10">
<y:PolyLineEdge> <y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> <y:Path sx="0.0" sy="18.5" tx="0.0" ty="-18.5"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n7::e1" source="n7::n3" target="n7::n4">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
<y:LineStyle color="#FF6600" type="line" width="1.0"/> <y:LineStyle color="#FF6600" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/> <y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/> <y:BendStyle smoothed="false"/>
</y:PolyLineEdge> </y:PolyLineEdge>
</data> </data>
</edge> </edge>
<edge id="e8" source="n4" target="n8"> <edge id="e18" source="n10" target="n13">
<data key="d9"/> <data key="d10">
<y:PolyLineEdge>
<y:Path sx="26.75" sy="22.641081081081097" tx="0.0" ty="-15.0"/>
<y:LineStyle color="#FF6600" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e19" source="n13" target="n11">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="15.0" tx="-29.297027027027013" ty="-22.641081081081097">
<y:Point x="179.34040025739998" y="429.2054054054055"/>
<y:Point x="189.24615100815075" y="429.2054054054055"/>
</y:Path>
<y:LineStyle color="#FF6600" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n14::e0" source="n14::n0" target="n14::n1">
<data key="d10"> <data key="d10">
<y:PolyLineEdge> <y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
@ -422,6 +697,26 @@
</y:PolyLineEdge> </y:PolyLineEdge>
</data> </data>
</edge> </edge>
<edge id="n14::e1" source="n14::n3" target="n14::n4">
<data key="d9"/>
<data key="d10">
<y:GenericEdge configuration="com.yworks.edge.framed">
<y:Path sx="0.0" sy="0.0" tx="-1.0" ty="0.0"/>
<y:LineStyle color="#000000" type="line" width="3.0"/>
<y:Arrows source="none" target="standard"/>
</y:GenericEdge>
</data>
</edge>
<edge id="n14::e2" source="n14::n6" target="n14::n7">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
<y:LineStyle color="#FF6600" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
</graph> </graph>
<data key="d7"> <data key="d7">
<y:Resources/> <y:Resources/>

View File

@ -138,14 +138,11 @@ void Engine::setScene(std::string scene)
{ {
previous_scene->removeFromIndex(m_physicsDebugNode); previous_scene->removeFromIndex(m_physicsDebugNode);
new_scene->addToIndex(m_physicsDebugNode); new_scene->addToIndex(m_physicsDebugNode);
// m_scene->removeFromIndex(m_physicsDebugNode);
// scene->addToIndex(m_physicsDebugNode);
} }
previous_scene->getRootObject()->removeChild(m_sparrowshell); previous_scene->getRootObject()->removeChild(m_sparrowshell);
m_renderer->setScene(new_scene); m_renderer->setScene(new_scene);
m_renderer->resizeGL(m_window->getSize().x, m_window->getSize().y); m_renderer->resizeGL(m_window->getSize().x, m_window->getSize().y);
// m_sparrowshell->setSceneTree(new_scene);
new_scene->getRootObject()->addChild(m_sparrowshell); new_scene->getRootObject()->addChild(m_sparrowshell);
new_scene->updateShaders(); new_scene->updateShaders();
} }

View File

@ -6,8 +6,10 @@
#include "SparrowRenderer/mesh.h" #include "SparrowRenderer/mesh.h"
#include "SparrowRenderer/phongmaterial.h" #include "SparrowRenderer/phongmaterial.h"
BackGroundNode::BackGroundNode(glm::vec2 dimension, glm::vec3 color, float opacity,float depth,bool visible): BackGroundNode::BackGroundNode(glm::vec2 dimension, glm::vec3 color, float opacity,float depth):
MeshNode(nullptr,visible) m_dimension(dimension),
m_color(color),
m_opacity(opacity)
{ {
Mesh* mesh = new Mesh(); Mesh* mesh = new Mesh();
mesh->addRectangle2D(glm::vec2(0),dimension); mesh->addRectangle2D(glm::vec2(0),dimension);
@ -17,5 +19,33 @@ BackGroundNode::BackGroundNode(glm::vec2 dimension, glm::vec3 color, float opaci
mesh->setMaterial(mat); mesh->setMaterial(mat);
mesh->setDepth(depth); mesh->setDepth(depth);
mesh->initGL(); mesh->initGL();
m_geometry.mesh = mesh; m_mesh = new MeshNode(mesh,false);
}
void BackGroundNode::update(){
if(m_color_updated){
PhongMaterial* mat = (PhongMaterial*) m_mesh->getGeometryNode()->mesh->getMaterial();
mat->diffuse = m_color;
m_color_updated = false;
}
if(m_opacity_updated){
PhongMaterial* mat = (PhongMaterial*) m_mesh->getGeometryNode()->mesh->getMaterial();
mat->m_opacity = m_opacity;
m_opacity_updated = false;
}
GUINode::update();
}
void BackGroundNode::setColor(glm::vec3 color){
m_color = color;
m_color_updated = true;
}
void BackGroundNode::setOpacity(float opacity){
m_opacity = opacity;
m_opacity_updated = true;
}
glm::vec2 BackGroundNode::getDimension(){
return m_dimension;
} }

View File

@ -1,12 +1,27 @@
#ifndef BACKGROUNDNODE_H #ifndef BACKGROUNDNODE_H
#define BACKGROUNDNODE_H #define BACKGROUNDNODE_H
#include "scene/gui/guinode.h"
#include "scene/meshnode.h" #include "scene/meshnode.h"
class BackGroundNode : public MeshNode class BackGroundNode : public GUINode
{ {
protected:
MeshNode* m_mesh;
glm::vec2 m_dimension;
glm::vec3 m_color;
bool m_color_updated;
float m_opacity;
bool m_opacity_updated;
public: public:
BackGroundNode(glm::vec2 dimension, glm::vec3 color, float opacity,float depth,bool visible=true); BackGroundNode(glm::vec2 dimension, glm::vec3 color, float opacity,float depth);
void update();
void setColor(glm::vec3 color);
void setOpacity(float opacity);
glm::vec2 getDimension();
}; };
#endif // BACKGROUNDNODE_H #endif // BACKGROUNDNODE_H

View File

@ -24,7 +24,7 @@ ButtonNode::ButtonNode(ButtonShape* shape):
addChild(m_label); addChild(m_label);
} }
MeshNode* ButtonNode::getBackGround() BackGroundNode* ButtonNode::getBackGround()
{ {
return m_shape->getBackGround(); return m_shape->getBackGround();
} }
@ -39,7 +39,6 @@ LabelNode* ButtonNode::getLabel(){
void ButtonNode::update() void ButtonNode::update()
{ {
GUINode::update();
Input* input = getEngine().getInput(); Input* input = getEngine().getInput();
if(m_label->wasUpdated()){ if(m_label->wasUpdated()){
@ -54,4 +53,6 @@ void ButtonNode::update()
m_callback->exec(); m_callback->exec();
} }
} }
getEngine().getScene()->updateShaders();
GUINode::update();
} }

View File

@ -8,6 +8,7 @@
#include "scene/gui/labelnode.h" #include "scene/gui/labelnode.h"
class ButtonShape; class ButtonShape;
class BackGroundNode;
class ButtonNode : public GUINode class ButtonNode : public GUINode
{ {
@ -19,7 +20,7 @@ class ButtonNode : public GUINode
glm::vec2 m_label_position; glm::vec2 m_label_position;
public: public:
ButtonNode(ButtonShape* shape); ButtonNode(ButtonShape* shape);
MeshNode* getBackGround(); BackGroundNode* getBackGround();
glm::vec2 getDimension(); glm::vec2 getDimension();
void setCallBack(CallBack* callback){m_callback=callback;} void setCallBack(CallBack* callback){m_callback=callback;}
void setAction(int action){m_action=action;} void setAction(int action){m_action=action;}

View File

@ -4,7 +4,7 @@
RectangleButtonShape::RectangleButtonShape(glm::vec2 dimension):ButtonShape(),m_dimension(dimension) RectangleButtonShape::RectangleButtonShape(glm::vec2 dimension):ButtonShape(),m_dimension(dimension)
{ {
m_background = new BackGroundNode(dimension,glm::vec3(0.2,0.6,0.2),1,0); m_background = new BackGroundNode(dimension,glm::vec3(1.,1.,1.),1,0);
} }
bool RectangleButtonShape::hover(glm::vec2 button_position, glm::vec2 mouse_position){ bool RectangleButtonShape::hover(glm::vec2 button_position, glm::vec2 mouse_position){
@ -12,7 +12,7 @@ bool RectangleButtonShape::hover(glm::vec2 button_position, glm::vec2 mouse_posi
&& (mouse_position.y >= button_position.y && mouse_position.y < button_position.y + m_dimension.y); && (mouse_position.y >= button_position.y && mouse_position.y < button_position.y + m_dimension.y);
} }
MeshNode* RectangleButtonShape::getBackGround(){ BackGroundNode* RectangleButtonShape::getBackGround(){
return m_background; return m_background;
} }

View File

@ -4,18 +4,19 @@
#include "glm/vec2.hpp" #include "glm/vec2.hpp"
class MeshNode; class MeshNode;
class BackGroundNode;
class ButtonShape class ButtonShape
{ {
protected: protected:
MeshNode* m_background; BackGroundNode* m_background;
public: public:
ButtonShape(){} ButtonShape(){}
virtual bool hover(glm::vec2 button_position, glm::vec2 mouse_position) = 0; virtual bool hover(glm::vec2 button_position, glm::vec2 mouse_position) = 0;
// glm::vec2 getPosition(){return m_position;} // glm::vec2 getPosition(){return m_position;}
virtual MeshNode* getBackGround() = 0; virtual BackGroundNode* getBackGround() = 0;
virtual glm::vec2 getDimension() = 0; virtual glm::vec2 getDimension() = 0;
}; };
@ -25,7 +26,7 @@ class RectangleButtonShape:public ButtonShape
public: public:
RectangleButtonShape(glm::vec2); RectangleButtonShape(glm::vec2);
bool hover(glm::vec2 button_position, glm::vec2 mouse_position); bool hover(glm::vec2 button_position, glm::vec2 mouse_position);
MeshNode* getBackGround(); BackGroundNode* getBackGround();
glm::vec2 getDimension(); glm::vec2 getDimension();
}; };

View File

@ -36,7 +36,7 @@ SparrowShell::SparrowShell(sf::Window* window):
RESOURCE_ADD(fonte_des_neiges,Font,"shellfont"); RESOURCE_ADD(fonte_des_neiges,Font,"shellfont");
//Create mesh for background //Create mesh for background
m_background = new BackGroundNode(m_dimension,glm::vec3(0.1,0.1,0.1),0.75,SHELL_DEPTH,false); m_background = new BackGroundNode(m_dimension,glm::vec3(0.1,0.1,0.1),0.75,SHELL_DEPTH);
//Create mesh for scrollbar //Create mesh for scrollbar
m_scrollbar = new ShellScrollBar(this); m_scrollbar = new ShellScrollBar(this);

View File

@ -263,7 +263,8 @@ public:
SceneTree* scene = RESOURCE_GET(SceneTree,m_menu_scene); SceneTree* scene = RESOURCE_GET(SceneTree,m_menu_scene);
m_button_demo = new ButtonNode(new RectangleButtonShape(glm::vec2(300,100))); m_button_demo = new ButtonNode(new RectangleButtonShape(glm::vec2(300,100)));
m_button_demo->getLabel()->setText("Start DEMO"); m_button_demo->getLabel()->setText("Start DEMO");
m_button_demo->getLabel()->setColor(glm::vec3(0.9,0.4,0.3)); m_button_demo->getLabel()->setColor(glm::vec3(1.,1.,1.));
m_button_demo->getBackGround()->setColor(glm::vec3(0.88,0.05,0.05));
scene->getRootObject()->addChild(m_button_demo); scene->getRootObject()->addChild(m_button_demo);
sf::Vector2u size = engine->getWindow()->getSize(); sf::Vector2u size = engine->getWindow()->getSize();
glm::vec2 pos = glm::vec2(size.x,size.y)/glm::vec2(2,2) - m_button_demo->getDimension()/glm::vec2(2,2); glm::vec2 pos = glm::vec2(size.x,size.y)/glm::vec2(2,2) - m_button_demo->getDimension()/glm::vec2(2,2);