Opdracht 3 klaar voor vragen en feedback

Co-authored-by: Aryan Lala (19097727) <A.E.Lala@student.hhs.nl>
This commit is contained in:
Shaquille Soekhlal 2023-05-02 13:21:47 +02:00
parent fe5170a2a5
commit d60e22ccc2
5 changed files with 591 additions and 83 deletions

View File

@ -7,5 +7,5 @@ DigitaleMeter::DigitaleMeter(Snelheid* s): Observer(s){
} }
void DigitaleMeter::update(){ void DigitaleMeter::update(){
cout << "Digitaal " << dynamic_cast<Snelheid*> (getSubject()) -> geef(); cout << "Digitaal " << dynamic_cast<Snelheid*> (getSubject()) -> geef() << endl;
} }

View File

@ -1,6 +1,6 @@
<mxfile host="65bd71144e"> <mxfile host="65bd71144e">
<diagram id="wa_eMgdYhT_LmFNCLB-G" name="Page-1"> <diagram id="wa_eMgdYhT_LmFNCLB-G" name="Page-1">
<mxGraphModel dx="1639" dy="551" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> <mxGraphModel dx="1334" dy="380" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root> <root>
<mxCell id="0"/> <mxCell id="0"/>
<mxCell id="1" parent="0"/> <mxCell id="1" parent="0"/>
@ -376,177 +376,177 @@
<mxPoint x="-38" y="40" as="offset"/> <mxPoint x="-38" y="40" as="offset"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="181" style="edgeStyle=none;html=1;exitX=0.987;exitY=0.687;exitDx=0;exitDy=0;endArrow=open;endFill=0;entryX=0.16;entryY=1.02;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="186" target="183"> <mxCell id="181" style="edgeStyle=none;html=1;exitX=0.987;exitY=0.687;exitDx=0;exitDy=0;endArrow=open;endFill=0;entryX=0.16;entryY=1.02;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" parent="1" source="186" target="183" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<mxPoint x="260" y="1829" as="targetPoint"/> <mxPoint x="260" y="1829" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="152" value="Observer &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="1"> <mxCell id="152" value="Observer &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="345" y="1790" width="160" height="103" as="geometry"> <mxGeometry x="345" y="1790" width="160" height="103" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/> <mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="205" value="# getSubject() : Subject" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="152"> <mxCell id="205" value="# getSubject() : Subject" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="152" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/> <mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="206" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="152"> <mxCell id="206" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="152" vertex="1">
<mxGeometry y="56" width="160" height="8" as="geometry"/> <mxGeometry y="56" width="160" height="8" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="204" value="+ update()" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="152"> <mxCell id="204" value="+ update()" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="152" vertex="1">
<mxGeometry y="64" width="160" height="30" as="geometry"/> <mxGeometry y="64" width="160" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="155" value="Subject" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="1"> <mxCell id="155" value="Subject" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="40" y="1740" width="160" height="160" as="geometry"> <mxGeometry x="40" y="1740" width="160" height="160" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/> <mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="188" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(42, 37, 47); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;- L : list&amp;lt;Observer*&amp;gt;&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" vertex="1" parent="155"> <mxCell id="188" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(42, 37, 47); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;- L : list&amp;lt;Observer*&amp;gt;&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="155" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/> <mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="201" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="155"> <mxCell id="201" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="155" vertex="1">
<mxGeometry y="56" width="160" height="8" as="geometry"/> <mxGeometry y="56" width="160" height="8" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="156" value="# notify() : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="155"> <mxCell id="156" value="# notify() : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="155" vertex="1">
<mxGeometry y="64" width="160" height="24" as="geometry"/> <mxGeometry y="64" width="160" height="24" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="202" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="155"> <mxCell id="202" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="155" vertex="1">
<mxGeometry y="88" width="160" height="8" as="geometry"/> <mxGeometry y="88" width="160" height="8" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="179" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(42, 37, 47); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;+ remove (Observer*) : void&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" vertex="1" parent="155"> <mxCell id="179" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(42, 37, 47); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;+ remove (Observer*) : void&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="155" vertex="1">
<mxGeometry y="96" width="160" height="32" as="geometry"/> <mxGeometry y="96" width="160" height="32" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="178" value="&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;+ insert (Observer*) : void&lt;/span&gt;&lt;/font&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" vertex="1" parent="155"> <mxCell id="178" value="&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;+ insert (Observer*) : void&lt;/span&gt;&lt;/font&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="155" vertex="1">
<mxGeometry y="128" width="160" height="30" as="geometry"/> <mxGeometry y="128" width="160" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="160" value="AnalogeMeter" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="1"> <mxCell id="160" value="AnalogeMeter" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="279" y="2030" width="160" height="70" as="geometry"> <mxGeometry x="279" y="2030" width="160" height="70" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/> <mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="161" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="160"> <mxCell id="161" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="160" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/> <mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="162" value="+ update()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="162" value="+ update()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="270" y="2067" width="80" height="30" as="geometry"/> <mxGeometry x="270" y="2067" width="80" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="163" value="DigitaleMeter" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="1"> <mxCell id="163" value="DigitaleMeter" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="570.5" y="2030" width="160" height="70" as="geometry"> <mxGeometry x="570.5" y="2030" width="160" height="70" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/> <mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="164" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="163"> <mxCell id="164" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="163" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/> <mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="165" value="+ update()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="165" value="+ update()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="561.5" y="2067" width="80" height="30" as="geometry"/> <mxGeometry x="561.5" y="2067" width="80" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="166" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="160"> <mxCell id="166" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="160" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="366" y="2000" as="sourcePoint"/> <mxPoint x="366" y="2000" as="sourcePoint"/>
<mxPoint x="359" y="1960" as="targetPoint"/> <mxPoint x="359" y="1960" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="169" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="1"> <mxCell id="169" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="650.1" y="2030" as="sourcePoint"/> <mxPoint x="650.1" y="2030" as="sourcePoint"/>
<mxPoint x="650.1" y="1960" as="targetPoint"/> <mxPoint x="650.1" y="1960" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="170" value="" style="endArrow=block;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;endFill=0;strokeColor=default;" edge="1" parent="1"> <mxCell id="170" value="" style="endArrow=block;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;endFill=0;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="439" y="1960" as="sourcePoint"/> <mxPoint x="439" y="1960" as="sourcePoint"/>
<mxPoint x="439" y="1890" as="targetPoint"/> <mxPoint x="439" y="1890" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="171" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="1"> <mxCell id="171" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="1960" as="sourcePoint"/> <mxPoint x="360" y="1960" as="sourcePoint"/>
<mxPoint x="440" y="1960" as="targetPoint"/> <mxPoint x="440" y="1960" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="172" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="1"> <mxCell id="172" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="1960" as="sourcePoint"/> <mxPoint x="440" y="1960" as="sourcePoint"/>
<mxPoint x="650" y="1960" as="targetPoint"/> <mxPoint x="650" y="1960" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="173" value="Snelheid" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="1"> <mxCell id="173" value="Snelheid" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="40" y="2000" width="160" height="120" as="geometry"> <mxGeometry x="40" y="2000" width="160" height="120" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/> <mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="194" value="" style="endArrow=block;html=1;strokeWidth=2;endFill=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="173" target="155"> <mxCell id="194" value="" style="endArrow=block;html=1;strokeWidth=2;endFill=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="173" target="155" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="80" as="sourcePoint"/> <mxPoint x="80" as="sourcePoint"/>
<mxPoint x="80" y="-44" as="targetPoint"/> <mxPoint x="80" y="-44" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="174" value="-Waarde : float" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="173"> <mxCell id="174" value="-Waarde : float" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="173" vertex="1">
<mxGeometry y="26" width="160" height="26" as="geometry"/> <mxGeometry y="26" width="160" height="26" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="175" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="173"> <mxCell id="175" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="173" vertex="1">
<mxGeometry y="52" width="160" height="8" as="geometry"/> <mxGeometry y="52" width="160" height="8" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="200" value="+ meet() : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="173"> <mxCell id="200" value="+ meet() : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="173" vertex="1">
<mxGeometry y="60" width="160" height="26" as="geometry"/> <mxGeometry y="60" width="160" height="26" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="199" value="+ geef() : float" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="173"> <mxCell id="199" value="+ geef() : float" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="173" vertex="1">
<mxGeometry y="86" width="160" height="26" as="geometry"/> <mxGeometry y="86" width="160" height="26" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="180" style="edgeStyle=none;html=1;endArrow=open;endFill=0;entryX=0.003;entryY=0.813;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" target="205"> <mxCell id="180" style="edgeStyle=none;html=1;endArrow=open;endFill=0;entryX=0.003;entryY=0.813;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="205" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="1840" as="sourcePoint"/> <mxPoint x="200" y="1840" as="sourcePoint"/>
<mxPoint x="340" y="1830" as="targetPoint"/> <mxPoint x="340" y="1830" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="182" value="L" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="182" value="L" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="305" y="1815" width="30" height="30" as="geometry"/> <mxGeometry x="305" y="1815" width="30" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="183" value="S" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="183" value="S" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="195" y="1845" width="30" height="30" as="geometry"/> <mxGeometry x="195" y="1845" width="30" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="184" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="184" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="195" y="1875" width="30" height="30" as="geometry"/> <mxGeometry x="195" y="1875" width="30" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="186" value="*" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="186" value="*" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="315" y="1855" width="30" height="30" as="geometry"/> <mxGeometry x="315" y="1855" width="30" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="189" value="Auto" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="1"> <mxCell id="189" value="Auto" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="40" y="2190" width="160" height="74" as="geometry"> <mxGeometry x="40" y="2190" width="160" height="74" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/> <mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="242" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="189"> <mxCell id="242" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="189" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="130" y="50" as="sourcePoint"/> <mxPoint x="130" y="50" as="sourcePoint"/>
<mxPoint x="200" y="50" as="targetPoint"/> <mxPoint x="200" y="50" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="191" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="189"> <mxCell id="191" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="189" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/> <mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="192" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(42, 37, 47); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;+ meetSnelheid() : void&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" vertex="1" parent="189"> <mxCell id="192" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(42, 37, 47); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;+ meetSnelheid() : void&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="189" vertex="1">
<mxGeometry y="34" width="160" height="40" as="geometry"/> <mxGeometry y="34" width="160" height="40" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="196" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="173" target="189"> <mxCell id="196" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="173" target="189" edge="1">
<mxGeometry width="160" relative="1" as="geometry"> <mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="460" y="2220" as="sourcePoint"/> <mxPoint x="460" y="2220" as="sourcePoint"/>
<mxPoint x="120" y="2170" as="targetPoint"/> <mxPoint x="120" y="2170" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="197" value="S" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=10;fontFamily=Verdana;fontColor=default;" vertex="1" parent="1"> <mxCell id="197" value="S" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="1" vertex="1">
<mxGeometry x="90" y="2120" width="30" height="30" as="geometry"/> <mxGeometry x="90" y="2120" width="30" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="209" value=":Snelheid" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;lifelineDashed=0;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="1"> <mxCell id="209" value=":Snelheid" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;lifelineDashed=0;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" parent="1" vertex="1">
<mxGeometry x="270" y="2300" width="100" height="480" as="geometry"/> <mxGeometry x="270" y="2300" width="100" height="480" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="219" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="209"> <mxCell id="219" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" parent="209" vertex="1">
<mxGeometry x="45" y="60" width="10" height="330" as="geometry"/> <mxGeometry x="45" y="60" width="10" height="330" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="224" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="209"> <mxCell id="224" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" parent="209" vertex="1">
<mxGeometry x="50" y="140" width="10" height="220" as="geometry"/> <mxGeometry x="50" y="140" width="10" height="220" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="225" value="meet()" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;entryX=1;entryY=0;fontFamily=Verdana;fontSize=10;fontColor=default;" edge="1" parent="209" target="224"> <mxCell id="225" value="meet()" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;entryX=1;entryY=0;fontFamily=Verdana;fontSize=10;fontColor=default;" parent="209" target="224" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<mxPoint x="55" y="120" as="sourcePoint"/> <mxPoint x="55" y="120" as="sourcePoint"/>
<Array as="points"> <Array as="points">
@ -554,10 +554,10 @@
</Array> </Array>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="226" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="209"> <mxCell id="226" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" parent="209" vertex="1">
<mxGeometry x="55" y="180" width="10" height="150" as="geometry"/> <mxGeometry x="55" y="170" width="10" height="170" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="227" value="notify()" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;entryX=1;entryY=0;fontFamily=Verdana;fontSize=10;fontColor=default;" edge="1" target="226" parent="209"> <mxCell id="227" value="notify()" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;entryX=1;entryY=0;fontFamily=Verdana;fontSize=10;fontColor=default;" parent="209" target="226" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="160" as="sourcePoint"/> <mxPoint x="60" y="160" as="sourcePoint"/>
<Array as="points"> <Array as="points">
@ -565,130 +565,136 @@
</Array> </Array>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="231" value="" style="endArrow=classic;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;" edge="1" parent="209" target="213"> <mxCell id="231" value="" style="endArrow=classic;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;entryX=0.104;entryY=0.333;entryDx=0;entryDy=0;entryPerimeter=0;" parent="209" target="228" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="65" y="200" as="sourcePoint"/> <mxPoint x="65" y="200" as="sourcePoint"/>
<mxPoint x="110" y="200" as="targetPoint"/> <mxPoint x="110" y="200" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="211" value=":DigitaleMeter" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;lifelineDashed=0;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="1"> <mxCell id="261" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="209">
<mxGeometry x="60" y="180" width="10" height="70" as="geometry"/>
</mxCell>
<mxCell id="262" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="209">
<mxGeometry x="60" y="260" width="10" height="70" as="geometry"/>
</mxCell>
<mxCell id="211" value=":DigitaleMeter" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;lifelineDashed=0;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" parent="1" vertex="1">
<mxGeometry x="540.5" y="2300" width="100" height="480" as="geometry"/> <mxGeometry x="540.5" y="2300" width="100" height="480" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="235" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="211"> <mxCell id="235" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" parent="211" vertex="1">
<mxGeometry x="45" y="250" width="10" height="60" as="geometry"/> <mxGeometry x="45" y="260" width="10" height="60" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="212" value=":Auto" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;lifelineDashed=0;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="1"> <mxCell id="212" value=":Auto" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;lifelineDashed=0;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" parent="1" vertex="1">
<mxGeometry x="150" y="2300" width="100" height="480" as="geometry"/> <mxGeometry x="150" y="2300" width="100" height="480" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="217" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="212"> <mxCell id="217" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" parent="212" vertex="1">
<mxGeometry x="45" y="60" width="10" height="330" as="geometry"/> <mxGeometry x="45" y="60" width="10" height="330" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="220" value="" style="endArrow=classic;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;" edge="1" parent="212" target="209"> <mxCell id="220" value="" style="endArrow=classic;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;" parent="212" target="209" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="55" y="110" as="sourcePoint"/> <mxPoint x="55" y="110" as="sourcePoint"/>
<mxPoint x="105" y="60" as="targetPoint"/> <mxPoint x="105" y="60" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="213" value=":AnalogeMeter" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;lifelineDashed=0;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="1"> <mxCell id="213" value=":AnalogeMeter" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;lifelineDashed=0;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" parent="1" vertex="1">
<mxGeometry x="386" y="2300" width="136.5" height="480" as="geometry"/> <mxGeometry x="386" y="2300" width="136.5" height="480" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="228" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" vertex="1" parent="213"> <mxCell id="228" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;labelBackgroundColor=none;comic=0;strokeColor=default;strokeWidth=1;fontFamily=Verdana;fontSize=10;fontColor=default;fillColor=default;" parent="213" vertex="1">
<mxGeometry x="63.25" y="180" width="10" height="60" as="geometry"/> <mxGeometry x="63.25" y="180" width="10" height="60" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="236" value="update()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="213"> <mxCell id="236" value="update()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="213" vertex="1">
<mxGeometry x="84" y="230" width="70" height="30" as="geometry"/> <mxGeometry x="84" y="230" width="70" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="232" value="update()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="213"> <mxCell id="232" value="update()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="213" vertex="1">
<mxGeometry x="-31" y="180" width="70" height="30" as="geometry"/> <mxGeometry x="-31" y="180" width="70" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="241" value="s=geef()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="213"> <mxCell id="241" value="s=geef()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="213" vertex="1">
<mxGeometry x="-18.5" y="280" width="70" height="30" as="geometry"/> <mxGeometry x="-18.5" y="280" width="70" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="240" value="s=geef()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="213"> <mxCell id="240" value="s=geef()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="213" vertex="1">
<mxGeometry x="-26" y="210" width="70" height="30" as="geometry"/> <mxGeometry x="-26" y="210" width="70" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="221" value="meetSnelheid()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=10;fontFamily=Verdana;fontColor=default;" vertex="1" parent="1"> <mxCell id="221" value="meetSnelheid()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="1" vertex="1">
<mxGeometry x="205" y="2380" width="100" height="30" as="geometry"/> <mxGeometry x="205" y="2380" width="100" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="234" value="" style="endArrow=classic;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;" edge="1" parent="1" source="226" target="235"> <mxCell id="234" value="" style="endArrow=classic;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;exitX=1.219;exitY=0.177;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="262" target="235" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="340" y="2550" as="sourcePoint"/> <mxPoint x="340" y="2550" as="sourcePoint"/>
<mxPoint x="427.3300000000001" y="2549.67" as="targetPoint"/> <mxPoint x="427.3300000000001" y="2549.67" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="237" value="" style="endArrow=classic;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;entryX=1.16;entryY=0.869;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="211" target="226"> <mxCell id="237" value="" style="endArrow=classic;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;exitX=0.45;exitY=0.833;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="235" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="345" y="2550" as="sourcePoint"/> <mxPoint x="580" y="2610" as="sourcePoint"/>
<mxPoint x="566" y="2550" as="targetPoint"/> <mxPoint x="340" y="2610" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="238" value="" style="endArrow=classic;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;exitX=-0.16;exitY=0.91;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="228" target="226"> <mxCell id="238" value="" style="endArrow=classic;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;exitX=-0.16;exitY=0.91;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="228" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="345" y="2510" as="sourcePoint"/> <mxPoint x="345" y="2510" as="sourcePoint"/>
<mxPoint x="340" y="2535" as="targetPoint"/> <mxPoint x="340" y="2535" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="243" value="s -&amp;gt; meet()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="243" value="s -&amp;gt; meet()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="235" y="2225" width="80" height="30" as="geometry"/> <mxGeometry x="235" y="2225" width="80" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="244" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1"> <mxCell id="244" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-22" y="2074" as="sourcePoint"/> <mxPoint x="-22" y="2074" as="sourcePoint"/>
<mxPoint x="48" y="2074" as="targetPoint"/> <mxPoint x="48" y="2074" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="245" value="lees(waarde)" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="245" value="lees(waarde)" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-110" y="2060" width="90" height="30" as="geometry"/> <mxGeometry x="-110" y="2060" width="90" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="246" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1"> <mxCell id="246" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-22" y="2100" as="sourcePoint"/> <mxPoint x="-22" y="2100" as="sourcePoint"/>
<mxPoint x="48" y="2100" as="targetPoint"/> <mxPoint x="48" y="2100" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="247" value="return waarde" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="247" value="return waarde" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-115" y="2086" width="100" height="30" as="geometry"/> <mxGeometry x="-115" y="2086" width="100" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="250" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1"> <mxCell id="250" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="319.76" y="2090" as="sourcePoint"/> <mxPoint x="319.76" y="2090" as="sourcePoint"/>
<mxPoint x="319.76" y="2135.24" as="targetPoint"/> <mxPoint x="319.76" y="2135.24" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="251" value="&amp;nbsp;cout &amp;lt;&amp;lt; &quot;Analoog: &quot; &amp;lt;&amp;lt; ( getSubject() )-&amp;gt;geef();" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="251" value="&amp;nbsp;cout &amp;lt;&amp;lt; &quot;Analoog: &quot; &amp;lt;&amp;lt; ( getSubject() )-&amp;gt;geef();" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="250" y="2135" width="280" height="30" as="geometry"/> <mxGeometry x="250" y="2135" width="280" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="252" value="&amp;nbsp;cout &amp;lt;&amp;lt; &quot;Digitaal: &quot; &amp;lt;&amp;lt; ( getSubject() )-&amp;gt;geef();" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="252" value="&amp;nbsp;cout &amp;lt;&amp;lt; &quot;Digitaal: &quot; &amp;lt;&amp;lt; ( getSubject() )-&amp;gt;geef();" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="545" y="2135" width="270" height="30" as="geometry"/> <mxGeometry x="545" y="2135" width="270" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="253" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1"> <mxCell id="253" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="610.6000000000003" y="2090" as="sourcePoint"/> <mxPoint x="610.6000000000003" y="2090" as="sourcePoint"/>
<mxPoint x="610.6000000000003" y="2135.24" as="targetPoint"/> <mxPoint x="610.6000000000003" y="2135.24" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="254" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1"> <mxCell id="254" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-23" y="1819.76" as="sourcePoint"/> <mxPoint x="-23" y="1819.76" as="sourcePoint"/>
<mxPoint x="47" y="1819.76" as="targetPoint"/> <mxPoint x="47" y="1819.76" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="255" value="&lt;br&gt;forAll (x in L)&lt;br&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&#9;&lt;/span&gt;x-&amp;gt;update ( )&lt;br&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="255" value="&lt;br&gt;forAll (x in L)&lt;br&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&#9;&lt;/span&gt;x-&amp;gt;update ( )&lt;br&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-135" y="1780" width="120" height="60" as="geometry"/> <mxGeometry x="-135" y="1780" width="120" height="60" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="257" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1"> <mxCell id="257" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-23" y="1847.0000000000002" as="sourcePoint"/> <mxPoint x="-23" y="1847.0000000000002" as="sourcePoint"/>
<mxPoint x="47" y="1847.0000000000002" as="targetPoint"/> <mxPoint x="47" y="1847.0000000000002" as="targetPoint"/>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="258" value="L.push_front(s);" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="258" value="L.push_front(s);" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-125" y="1835" width="110" height="30" as="geometry"/> <mxGeometry x="-125" y="1835" width="110" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="259" value="L.remove(s);" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxCell id="259" value="L.remove(s);" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-105" y="1870" width="90" height="30" as="geometry"/> <mxGeometry x="-105" y="1870" width="90" height="30" as="geometry"/>
</mxCell> </mxCell>
<mxCell id="260" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1"> <mxCell id="260" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"> <mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-22" y="1885" as="sourcePoint"/> <mxPoint x="-22" y="1885" as="sourcePoint"/>
<mxPoint x="48" y="1885" as="targetPoint"/> <mxPoint x="48" y="1885" as="targetPoint"/>

View File

@ -0,0 +1,88 @@
// ================================================================
// Infrastructure Layer
// ================================================================
#include <iostream>
#include <list>
#include <string>
using namespace std;
class Subject;
class Observer{
private: Subject* S;
protected: Subject* getSubject() const { return S; }
public: Observer (Subject* s);
virtual ~Observer ();
virtual void update () = 0;
};
class Subject{
private: list<Observer*> L;
protected: virtual void notify ();
public: Subject () { }
virtual ~Subject() { }
virtual void insert (Observer* s) { L.push_front(s); }
virtual void remove (Observer* s) { L.remove(s); }
};
void Subject::notify (){
for (list<Observer*>::iterator i=L.begin(); i!=L.end(); ++i)
(*i)->update();
}
Observer::Observer (Subject* s) : S(s){
getSubject()->insert(this);
}
Observer::~Observer (){
getSubject()->remove(this);
}
// ================================================================
// DomainLayer
// ================================================================
class Element{
public:
virtual ~Element () {}
virtual int draw () = 0;
virtual string name () = 0;
};
class Ninja : public Element, public Subject{
private: string Name;
int AantalLevens;
public: Ninja (string n) : Name(n), AantalLevens(1) { }
virtual int draw () { return AantalLevens; }
virtual string name () { return Name; }
virtual int aantalLevens () { return AantalLevens; }
virtual void incLevens () { AantalLevens++; notify(); }
virtual void decLevens () { AantalLevens--; notify(); }
};
// ================================================================
// Interfacelayer
// ================================================================
class NinjaWindow : public Observer{
private: Ninja* N;
public: NinjaWindow (Ninja* n) : Observer(n) {}
virtual ~NinjaWindow () {}
//virtual void draw() { cout << N.name() << N.draw() << endl; }
virtual void update() {cout << dynamic_cast<Ninja*>(getSubject())->name() << dynamic_cast<Ninja*>(getSubject())->draw();}
};
int main( ){
Ninja h("Henk"), j("Joop");
NinjaWindow hW(&h), jW(&j);
h.incLevens();
h.incLevens();
j.incLevens();
j.incLevens();
j.incLevens();
h.incLevens();
return 0;
}
// ================================================================

88
Opdracht_3/main.cpp Normal file
View File

@ -0,0 +1,88 @@
// ================================================================
// Infrastructure Layer
// ================================================================
#include <iostream>
#include <list>
#include <string>
using namespace std;
class Subject;
class Observer{
private: Subject* S;
protected: Subject* getSubject() const { return S; }
public: Observer (Subject* s);
virtual ~Observer ();
virtual void update () = 0;
};
class Subject{
private: list<Observer*> L;
protected: virtual void notify ();
public: Subject () { }
virtual ~Subject() { }
virtual void insert (Observer* s) { L.push_front(s); }
virtual void remove (Observer* s) { L.remove(s); }
};
void Subject::notify (){
for (list<Observer*>::iterator i=L.begin(); i!=L.end(); ++i)
(*i)->update();
}
Observer::Observer (Subject* s) : S(s){
getSubject()->insert(this);
}
Observer::~Observer (){
getSubject()->remove(this);
}
// ================================================================
// DomainLayer
// ================================================================
class Element{
public:
virtual ~Element () {}
virtual void draw () = 0;
virtual string name () = 0;
};
class Ninja : public Element, public Subject{
private: string Name;
int AantalLevens;
public: Ninja (string n) : Name(n), AantalLevens(1) { }
virtual void draw () { cout << name() << AantalLevens << endl; }
virtual string name () { return Name; }
virtual int aantalLevens () { return AantalLevens; }
virtual void incLevens () { AantalLevens++; notify(); }
virtual void decLevens () { AantalLevens--; notify(); }
};
// ================================================================
// Interfacelayer
// ================================================================
class NinjaWindow : public Observer{
private: Ninja* N;
public: NinjaWindow (Ninja* n) : Observer(n) {}
virtual ~NinjaWindow () {}
//virtual void draw() { N.draw(); }
virtual void update(){dynamic_cast<Ninja*>(getSubject())->draw();}
};
int main( ){
Ninja h("Henk"), j("Joop");
NinjaWindow hW(&h), jW(&j);
h.incLevens();
h.incLevens();
j.incLevens();
j.incLevens();
j.incLevens();
h.incLevens();
return 0;
}
// ================================================================

326
Opdracht_3/opdracht3.drawio Normal file
View File

@ -0,0 +1,326 @@
<mxfile host="65bd71144e">
<diagram id="BbE_J_UD8yLSpW20X8_c" name="Page-1">
<mxGraphModel dx="2013" dy="573" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-98" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-243.5" y="1360" width="653.5" height="287" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-100" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-240" y="1140" width="640" height="180" as="geometry"/>
</mxCell>
<mxCell id="81" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-243" y="1690" width="650" height="220" as="geometry"/>
</mxCell>
<mxCell id="3" value="Observer" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="222" y="1720" width="160" height="103" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="5" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="3" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="6" value="#getSubject() : Subject" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="3" vertex="1">
<mxGeometry y="34" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-95" value="+ update()" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="3" vertex="1">
<mxGeometry y="64" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="14" value="AnalogeMeter" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="279" y="2030" width="160" height="70" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="15" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="14" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="16" value="+ update()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="270" y="2067" width="80" height="30" as="geometry"/>
</mxCell>
<mxCell id="17" value="DigitaleMeter" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="570.5" y="2030" width="160" height="70" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="18" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="17" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="19" value="+ update()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="561.5" y="2067" width="80" height="30" as="geometry"/>
</mxCell>
<mxCell id="20" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="14" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="366" y="2000" as="sourcePoint"/>
<mxPoint x="359" y="1960" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="21" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="650.1000000000004" y="2030" as="sourcePoint"/>
<mxPoint x="650.1000000000004" y="1960" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="22" value="" style="endArrow=block;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;endFill=0;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="439" y="1960" as="sourcePoint"/>
<mxPoint x="490" y="2040" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="23" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="1960" as="sourcePoint"/>
<mxPoint x="440" y="1960" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="24" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="1960" as="sourcePoint"/>
<mxPoint x="650" y="1960" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="25" value="Ninja" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="27.5" y="1380" width="160" height="220" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="27" value="- Name : string" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="25" vertex="1">
<mxGeometry y="26" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-84" value="- AantalLevens : int" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="25" vertex="1">
<mxGeometry y="52" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="28" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="25" vertex="1">
<mxGeometry y="78" width="160" height="2" as="geometry"/>
</mxCell>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-100" value="+ Ninja ( n: string)" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="25" vertex="1">
<mxGeometry y="80" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="30" value="+ name () : string" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="25" vertex="1">
<mxGeometry y="110" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="29" value="+ draw () : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="25" vertex="1">
<mxGeometry y="136" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-82" value="+ incLevens () : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="25" vertex="1">
<mxGeometry y="166" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-83" value="+ decLevens () : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="25" vertex="1">
<mxGeometry y="192" width="160" height="28" as="geometry"/>
</mxCell>
<mxCell id="31" style="edgeStyle=none;html=1;endArrow=open;endFill=0;entryX=1;entryY=0;entryDx=0;entryDy=0;exitX=-0.002;exitY=0.768;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="6" target="g5t-nhjnCglT5NERbi0I-92" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="217" y="1790" as="sourcePoint"/>
<mxPoint x="222" y="1780.3899999999999" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="36" value="Auto" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="40" y="2190" width="160" height="74" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="38" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="36" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="39" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(42, 37, 47); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;+ meetSnelheid() : void&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="36" vertex="1">
<mxGeometry y="34" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="40" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;fontFamily=Verdana;fontSize=10;fontColor=default;" parent="1" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="-140" y="2190" as="sourcePoint"/>
<mxPoint x="-70" y="2190" as="targetPoint"/>
<Array as="points">
<mxPoint x="-110" y="2190"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="66" value="s -&amp;gt; meet()" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="407" y="2234" width="80" height="30" as="geometry"/>
</mxCell>
<mxCell id="68" value="lees(waarde)" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-110" y="2060" width="90" height="30" as="geometry"/>
</mxCell>
<mxCell id="70" value="return waarde" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-115" y="2086" width="100" height="30" as="geometry"/>
</mxCell>
<mxCell id="71" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="319.7600000000002" y="2090" as="sourcePoint"/>
<mxPoint x="319.7600000000002" y="2135.24" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="72" value="&amp;nbsp;cout &amp;lt;&amp;lt; &quot;Analoog: &quot; &amp;lt;&amp;lt; ( getSubject() )-&amp;gt;geef();" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="450.5" y="2160" width="280" height="30" as="geometry"/>
</mxCell>
<mxCell id="73" value="&amp;nbsp;cout &amp;lt;&amp;lt; &quot;Digitaal: &quot; &amp;lt;&amp;lt; ( getSubject() )-&amp;gt;geef();" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="545" y="2135" width="270" height="30" as="geometry"/>
</mxCell>
<mxCell id="74" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="610.6000000000004" y="2090" as="sourcePoint"/>
<mxPoint x="610.6000000000004" y="2135.24" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="82" value="Infrastructurelaag" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-243" y="1694" width="120" height="30" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-82" value="Applicatie" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-80" y="1171.5" width="160" height="70" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-83" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="g5t-nhjnCglT5NERbi0I-82" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-86" value="+ main() : int" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-88" y="1200" width="90" height="30" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-87" value="Subject" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-83" y="1710" width="160" height="160" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-89" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="g5t-nhjnCglT5NERbi0I-87" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-90" value="# notify() : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="g5t-nhjnCglT5NERbi0I-87" vertex="1">
<mxGeometry y="34" width="160" height="24" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-91" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="g5t-nhjnCglT5NERbi0I-87" vertex="1">
<mxGeometry y="58" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-92" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(42, 37, 47); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;+ remove (Observer* s) : void&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="g5t-nhjnCglT5NERbi0I-87" vertex="1">
<mxGeometry y="66" width="160" height="32" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-93" value="&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;+ insert (Observer* s) : void&lt;/span&gt;&lt;/font&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="g5t-nhjnCglT5NERbi0I-87" vertex="1">
<mxGeometry y="98" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-96" value="NinjaWindow" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="180" y="1153" width="160" height="124" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-97" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="g5t-nhjnCglT5NERbi0I-96" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-98" value="+ NinjaWindow(n : Ninja)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="g5t-nhjnCglT5NERbi0I-96" vertex="1">
<mxGeometry y="34" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-99" value="+ draw() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="g5t-nhjnCglT5NERbi0I-96" vertex="1">
<mxGeometry y="64" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-108" value="+ update() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="g5t-nhjnCglT5NERbi0I-96" vertex="1">
<mxGeometry y="94" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-101" value="InterfaceLaag" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-233" y="1141.5" width="100" height="30" as="geometry"/>
</mxCell>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-94" value="Element &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-214.5" y="1430" width="160" height="94" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-95" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="lDVcpSxnrCP2Uvz7J0rP-94" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-97" value="+ draw() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="lDVcpSxnrCP2Uvz7J0rP-94" vertex="1">
<mxGeometry y="34" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-96" value="&amp;nbsp;+ name () : string" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="lDVcpSxnrCP2Uvz7J0rP-94" vertex="1">
<mxGeometry y="64" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-99" value="DomainLayer" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-243.5" y="1370" width="90" height="30" as="geometry"/>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-102" style="edgeStyle=none;html=1;endArrow=open;endFill=0;entryX=0.003;entryY=0.813;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="79.25999999999999" y="1799.5" as="sourcePoint"/>
<mxPoint x="224.74" y="1799.8899999999999" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-103" value="" style="endArrow=block;html=1;strokeWidth=2;endFill=0;exitX=0.75;exitY=1;exitDx=0;exitDy=0;" parent="1" source="g5t-nhjnCglT5NERbi0I-96" target="3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="450" y="1290" as="sourcePoint"/>
<mxPoint x="300" y="1670" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="lDVcpSxnrCP2Uvz7J0rP-101" value="" style="endArrow=block;html=1;strokeWidth=2;endFill=0;entryX=0.856;entryY=0.002;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.159;exitY=1.092;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="lDVcpSxnrCP2Uvz7J0rP-83" target="g5t-nhjnCglT5NERbi0I-87" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="54" y="1630" as="sourcePoint"/>
<mxPoint x="311.8001939864207" y="1730" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-104" value="" style="endArrow=block;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;endFill=0;strokeColor=default;entryX=0.75;entryY=0;entryDx=0;entryDy=0;exitX=0.25;exitY=1;exitDx=0;exitDy=0;" parent="1" source="g5t-nhjnCglT5NERbi0I-96" target="25" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="148" y="1310" as="sourcePoint"/>
<mxPoint x="170" y="1280" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-105" value="" style="endArrow=block;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;endFill=0;strokeColor=default;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.222;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="g5t-nhjnCglT5NERbi0I-82" target="g5t-nhjnCglT5NERbi0I-99" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="132.5" y="1230" as="sourcePoint"/>
<mxPoint x="180" y="1220" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-106" value="" style="endArrow=block;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;endFill=0;strokeColor=default;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="g5t-nhjnCglT5NERbi0I-82" target="25" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="20" y="1270.34" as="sourcePoint"/>
<mxPoint x="120" y="1269.9999999999998" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="g5t-nhjnCglT5NERbi0I-109" value="" style="endArrow=block;html=1;strokeWidth=2;endFill=0;entryX=1.004;entryY=0.38;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="lDVcpSxnrCP2Uvz7J0rP-100" target="lDVcpSxnrCP2Uvz7J0rP-97" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-19.959999999999994" y="1524" as="sourcePoint"/>
<mxPoint x="-19.999999999999957" y="1604.3200000000002" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="86" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="152" y="1503" as="sourcePoint"/>
<mxPoint x="222" y="1503" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="87" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="1580" as="sourcePoint"/>
<mxPoint x="230" y="1580" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="88" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="152" y="1530" as="sourcePoint"/>
<mxPoint x="222" y="1530" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="89" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="1560" as="sourcePoint"/>
<mxPoint x="230" y="1560" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="91" value="return Name;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="215" y="1490" width="90" height="30" as="geometry"/>
</mxCell>
<mxCell id="93" value="AantalLevens--;&lt;br&gt;notify();" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="222" y="1570" width="110" height="40" as="geometry"/>
</mxCell>
<mxCell id="94" value="AantalLevens++;&lt;br&gt;notify();" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="222" y="1540" width="110" height="40" as="geometry"/>
</mxCell>
<mxCell id="95" value="return AantalLevens;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="175" y="1520" width="130" height="30" as="geometry"/>
</mxCell>
<mxCell id="98" value="dynamic_cast&amp;lt;Ninja*&amp;gt;(getSubject())-&amp;gt;draw();" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="430" y="1247" width="260" height="30" as="geometry"/>
</mxCell>
<mxCell id="37" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;strokeColor=default;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="300" y="1260" as="sourcePoint"/>
<mxPoint x="430" y="1260" as="targetPoint"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>