Implementatie in drawio en destructor fixes

This commit is contained in:
Shaquille Soekhlal 2023-06-14 20:07:09 +02:00
parent 1f346b4331
commit 7d72439236
5 changed files with 183 additions and 53 deletions

View File

@ -10,6 +10,7 @@ class Machine {
Motor* m1;
Motor* m2;
public:
virtual ~Machine(){};
virtual Motor* motor1() = 0;
virtual Motor* motor2() = 0;
virtual void run() = 0;

View File

@ -14,7 +14,6 @@ class MachineImpl : public Machine
Motor* m2;
public:
MachineImpl(Motor*,Motor*);
~MachineImpl(){};
virtual Motor* motor1();
virtual Motor* motor2();
virtual void run();

View File

@ -9,7 +9,6 @@ class TsensorImpl : public Tsensor, public Subject{
int temperatuur;
public:
TsensorImpl();
virtual ~TsensorImpl(){};
virtual void read();
virtual int temperature();
};

View File

@ -1,88 +1,140 @@
<mxfile host="65bd71144e">
<diagram id="KfANXQmF8nHkjfM11mp0" name="Page-1">
<mxGraphModel dx="2007" dy="1006" 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="2715" dy="2184" 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>
<mxCell id="0"/>
<mxCell id="1" style="" parent="0"/>
<mxCell id="65" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#006EAF;fontSize=16;fillColor=#1ba1e2;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry x="350" y="750" width="950" height="430" as="geometry"/>
<mxGeometry x="270" y="750" width="1508" height="430" as="geometry"/>
</mxCell>
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#D882C7;strokeColor=none;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry y="100" width="360" height="1080" as="geometry"/>
<mxGeometry y="100" width="270" height="1080" as="geometry"/>
</mxCell>
<mxCell id="3" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Infrastructure Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="120" y="100" width="160" height="30" as="geometry"/>
<mxGeometry x="10" y="100" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="30" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#B37524;fontSize=16;fillColor=#FF944D;fontColor=#ffffff;gradientColor=none;" parent="1" vertex="1">
<mxGeometry x="360" y="100" width="940" height="210" as="geometry"/>
<mxGeometry x="270" y="100" width="1508" height="210" as="geometry"/>
</mxCell>
<mxCell id="31" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Interface Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="375" y="100" width="130" height="30" as="geometry"/>
<mxGeometry x="270" y="100" width="130" height="30" as="geometry"/>
</mxCell>
<mxCell id="35" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#2D7600;fontSize=16;fillColor=#60a917;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry x="360" y="310" width="940" height="440" as="geometry"/>
<mxGeometry x="270" y="310" width="1508" height="440" as="geometry"/>
</mxCell>
<mxCell id="36" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Domain Implementatie Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="360" y="320" width="230" height="30" as="geometry"/>
<mxGeometry x="260" y="315" width="230" height="30" as="geometry"/>
</mxCell>
<mxCell id="66" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;Domain&amp;nbsp;Layer&lt;br&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="350" y="750" width="120" height="30" as="geometry"/>
<mxGeometry x="330" y="750" width="120" height="30" as="geometry"/>
</mxCell>
<mxCell id="144" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;" parent="1" vertex="1">
<mxGeometry x="60" y="1530" width="147" height="73" as="geometry">
<mxGeometry x="128" y="1530" width="147" height="73" as="geometry">
<mxRectangle width="147" height="73" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="125" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="390" y="368" width="890" height="332" as="geometry"/>
<mxCell id="125" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="280" y="368" width="1128" height="332" as="geometry"/>
</mxCell>
<mxCell id="115" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="90" y="140" width="230" height="390" as="geometry"/>
<mxGeometry x="7" y="135" width="230" height="390" as="geometry"/>
</mxCell>
<mxCell id="126" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="550" y="141" width="230" height="140" as="geometry"/>
<mxGeometry x="560" y="141" width="230" height="140" as="geometry"/>
</mxCell>
<mxCell id="124" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="890" y="135" width="230" height="140" as="geometry"/>
<mxGeometry x="900" y="141" width="230" height="140" as="geometry"/>
</mxCell>
<mxCell id="280" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="370" y="780" width="920" height="330" as="geometry"/>
<mxGeometry x="365" y="790" width="920" height="310" as="geometry"/>
</mxCell>
<mxCell id="281" value="M" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="860" y="1050" width="30" height="30" as="geometry"/>
<mxGeometry x="928" y="1050" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="282" value="2" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="820" y="1050" width="30" height="30" as="geometry"/>
<mxGeometry x="888" y="1050" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="284" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=1.02;entryY=0.105;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" target="205">
<mxCell id="284" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=1.022;entryY=0.145;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="205" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="650" y="260" as="sourcePoint"/>
<mxPoint x="751" y="495" as="targetPoint"/>
<mxPoint x="718" y="260" as="sourcePoint"/>
<mxPoint x="642.2000000000003" y="416.35000000000014" as="targetPoint"/>
<Array as="points">
<mxPoint x="650" y="320"/>
<mxPoint x="571" y="395"/>
<mxPoint x="751" y="445"/>
<mxPoint x="740" y="445"/>
<mxPoint x="751" y="465"/>
<mxPoint x="718" y="320"/>
<mxPoint x="639" y="395"/>
<mxPoint x="819" y="445"/>
<mxPoint x="808" y="445"/>
<mxPoint x="819" y="465"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="286" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="200">
<mxCell id="286" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="680" y="260" as="sourcePoint"/>
<mxPoint x="584.2" y="426.35000000000014" as="targetPoint"/>
<mxPoint x="748" y="260" as="sourcePoint"/>
<mxPoint x="728" y="539" as="targetPoint"/>
<Array as="points">
<mxPoint x="681" y="410"/>
<mxPoint x="581" y="405"/>
<mxPoint x="761" y="455"/>
<mxPoint x="750" y="455"/>
<mxPoint x="761" y="475"/>
<mxPoint x="728" y="430"/>
<mxPoint x="749" y="410"/>
<mxPoint x="649" y="405"/>
<mxPoint x="829" y="455"/>
<mxPoint x="818" y="455"/>
<mxPoint x="829" y="475"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="289" value="return temperatuur" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="1450" y="540" width="120" height="30" as="geometry"/>
</mxCell>
<mxCell id="291" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;cout &amp;lt;&amp;lt; &quot;Voer een temperatuur in: &quot;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;cin &amp;gt;&amp;gt; temperatuur&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;cout &amp;lt;&amp;lt; endl&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="1470" y="480" width="210" height="60" as="geometry"/>
</mxCell>
<mxCell id="293" value="return t1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="1160" y="580" width="70" height="30" as="geometry"/>
</mxCell>
<mxCell id="296" value="cout &amp;lt;&amp;lt; &quot;Elektrische motor has started&quot;&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="710" y="590" width="230" height="30" as="geometry"/>
</mxCell>
<mxCell id="301" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=-0.01;entryY=0.455;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="296" target="208">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="988" y="600" as="sourcePoint"/>
<mxPoint x="1027.2000000000003" y="607.78" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="302" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=-0.013;entryY=0.737;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="303" target="208">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="988" y="630" as="sourcePoint"/>
<mxPoint x="1027.52" y="624.3400000000001" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="303" value="&amp;nbsp; &amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &quot;Elektrische motor has stopped&quot;&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="680" y="610" width="260" height="30" as="geometry"/>
</mxCell>
<mxCell id="304" value="&amp;nbsp; &amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &quot;Diesel motor has stopped&quot;&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="255" y="640" width="230" height="30" as="geometry"/>
</mxCell>
<mxCell id="305" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.002;entryY=0.814;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="304" target="202">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="728" y="690" as="sourcePoint"/>
<mxPoint x="767.52" y="684.34" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="315" value="&amp;nbsp; &amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &quot;Diesel motor has started&quot;&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="255" y="620" width="230" height="30" as="geometry"/>
</mxCell>
<mxCell id="316" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.002;entryY=0.814;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="315">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="500" y="634" as="sourcePoint"/>
<mxPoint x="540.3199999999997" y="633.8399999999999" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="292" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1120.0000000000002" y="596" as="sourcePoint"/>
<mxPoint x="1170" y="596" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="145" value="Classes" parent="0"/>
<mxCell id="200" value="DieselMotor" 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;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="561" y="539" width="160" height="126" as="geometry">
<mxGeometry x="540" y="539" width="160" height="126" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
@ -103,8 +155,14 @@
<mxCell id="205" value="+ motor1() : Motor&lt;br&gt;+ motor2() : Motor&lt;br&gt;+ run() : void&lt;br&gt;+ halt() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="203" vertex="1">
<mxGeometry y="30" width="160" height="70" as="geometry"/>
</mxCell>
<mxCell id="329" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="203">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="79.00000000000023" y="77" as="sourcePoint"/>
<mxPoint x="459" y="77" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="206" value="ElectrischeMotor" 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;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="831" y="539" width="160" height="100" as="geometry">
<mxGeometry x="960" y="540" width="160" height="100" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
@ -115,22 +173,34 @@
<mxGeometry y="40" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="209" value="Tsensor &lt;implementatie&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;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="1111" y="460" width="160" height="96" as="geometry">
<mxGeometry x="1170" y="468" width="160" height="96" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="278" value="-temperatuur: int" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="209" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="211" value="+read(): void&lt;br&gt;+temperatuur(): Integer" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="209" vertex="1">
<mxCell id="290" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="209">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="90" y="68" as="sourcePoint"/>
<mxPoint x="305" y="68" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="211" value="+read(): void&lt;br&gt;+temperature(): Integer" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="209" vertex="1">
<mxGeometry y="56" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="288" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.021;entryY=0.459;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="209" target="289">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="130" y="85" as="sourcePoint"/>
<mxPoint x="210" y="85" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="212" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="145" source="264" target="209" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1010.9999999999995" y="254" as="sourcePoint"/>
<mxPoint x="311" y="599" as="targetPoint"/>
<Array as="points">
<mxPoint x="1191" y="400"/>
<mxPoint x="1250" y="350"/>
<mxPoint x="1011" y="360"/>
<mxPoint x="1191" y="410"/>
<mxPoint x="1180" y="410"/>
@ -138,7 +208,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="213" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.006;exitY=0.317;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" source="211" edge="1">
<mxCell id="213" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.006;exitY=0.317;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" source="211" edge="1" target="255">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1021" y="264" as="sourcePoint"/>
<mxPoint x="281" y="415" as="targetPoint"/>
@ -154,7 +224,7 @@
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="215" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;fillColor=#e51400;strokeColor=#FFFFFF;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="145" edge="1">
<mxCell id="215" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;fillColor=#e51400;strokeColor=#FFFFFF;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.433;exitY=1.005;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" edge="1" source="208">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="900.9999999999995" y="639" as="sourcePoint"/>
<mxPoint x="891.0000000000005" y="802.5" as="targetPoint"/>
@ -273,7 +343,7 @@
</mxGeometry>
</mxCell>
<mxCell id="249" 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;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="120" y="150" width="160" height="86" as="geometry">
<mxGeometry x="27" y="150" width="160" height="86" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
@ -284,7 +354,7 @@
<mxGeometry y="56" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="252" 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;fillColor=none;" parent="145" vertex="1">
<mxGeometry x="120" y="340" width="160" height="160" as="geometry">
<mxGeometry x="27" y="340" width="160" height="160" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
@ -308,8 +378,8 @@
</mxCell>
<mxCell id="259" style="edgeStyle=none;html=1;endArrow=open;endFill=0;entryX=0.653;entryY=0.003;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.647;exitY=0.989;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" source="251" target="252" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="380.00000000000017" y="290" as="targetPoint"/>
<mxPoint x="219" y="260" as="sourcePoint"/>
<mxPoint x="290.00000000000017" y="290" as="targetPoint"/>
<mxPoint x="129" y="260" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="260" style="edgeStyle=none;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;endArrow=open;endFill=0;entryX=0.249;entryY=1.005;entryDx=0;entryDy=0;entryPerimeter=0;" parent="145" source="252" target="251" edge="1">
@ -363,9 +433,9 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="274" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" parent="145" target="226" edge="1">
<mxCell id="274" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=0.25;entryY=0;entryDx=0;entryDy=0;exitX=1.01;exitY=0.507;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" target="226" edge="1" source="208">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="990" y="609" as="sourcePoint"/>
<mxPoint x="1090" y="610" as="sourcePoint"/>
<mxPoint x="1121" y="490" as="targetPoint"/>
<Array as="points">
<mxPoint x="1155" y="790"/>
@ -397,11 +467,12 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="279" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;strokeWidth=1;exitX=1.007;exitY=0.551;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="145" source="205" target="226" edge="1">
<mxCell id="279" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;strokeWidth=1;exitX=1.007;exitY=0.551;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.089;entryY=-0.001;entryDx=0;entryDy=0;entryPerimeter=0;" parent="145" source="205" target="226" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="750" y="440" as="sourcePoint"/>
<mxPoint x="1120" y="1025" as="targetPoint"/>
<Array as="points">
<mxPoint x="1130" y="540"/>
<mxPoint x="1100" y="730"/>
<mxPoint x="650" y="892"/>
<mxPoint x="850" y="1072"/>
@ -418,7 +489,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="283" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1.011;exitY=0.669;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="145" source="266" target="264">
<mxCell id="283" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1.011;exitY=0.669;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;exitPerimeter=0;" parent="145" source="266" target="264" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="829.9999999999998" y="235" as="sourcePoint"/>
<mxPoint x="931" y="470" as="targetPoint"/>
@ -431,7 +502,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="285" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1.013;exitY=1.133;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="145" source="267" target="206">
<mxCell id="285" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1.013;exitY=1.133;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;exitPerimeter=0;" parent="145" source="267" target="206" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="751.76" y="222.76" as="sourcePoint"/>
<mxPoint x="940" y="222" as="targetPoint"/>
@ -444,7 +515,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="287" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1.023;exitY=0.528;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="145" source="267">
<mxCell id="287" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1.023;exitY=0.528;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.001;entryY=0.13;entryDx=0;entryDy=0;entryPerimeter=0;" parent="145" source="267" edge="1" target="209">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="752.0800000000002" y="269.99" as="sourcePoint"/>
<mxPoint x="1110" y="480" as="targetPoint"/>
@ -457,6 +528,66 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="322" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.002;entryY=0.814;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="420" as="sourcePoint"/>
<mxPoint x="411.00000000000006" y="419.81000000000006" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="323" value="return m1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="145">
<mxGeometry x="290" y="405" width="70" height="30" as="geometry"/>
</mxCell>
<mxCell id="324" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.002;entryY=0.814;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="435.19" as="sourcePoint"/>
<mxPoint x="411" y="435.00000000000006" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="325" value="return m2" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="145">
<mxGeometry x="290" y="420" width="70" height="30" as="geometry"/>
</mxCell>
<mxCell id="326" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1030" y="210" as="sourcePoint"/>
<mxPoint x="1245" y="210" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="327" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px;&quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;cout &amp;lt;&amp;lt; dynamic_cast&amp;lt;TsensorImpl*&amp;gt;(getSubject())-&amp;gt;temperature() &amp;lt;&amp;lt; endl;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="145">
<mxGeometry x="1240" y="195" width="580" height="30" as="geometry"/>
</mxCell>
<mxCell id="331" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="870" y="450" as="sourcePoint"/>
<mxPoint x="870" y="40" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="332" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="464" as="sourcePoint"/>
<mxPoint x="880" y="460" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="333" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="880" y="460" as="sourcePoint"/>
<mxPoint x="880.0000000000002" y="48" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="334" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px;&quot;&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; t1 = m1-&amp;gt;tsensor();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; t1-&amp;gt;read();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; m1-&amp;gt;start();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; t2 = m2-&amp;gt;tsensor();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; t2-&amp;gt;read();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; m2-&amp;gt;start();&lt;/div&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;" vertex="1" parent="145">
<mxGeometry x="670" y="-40" width="200" height="130" as="geometry"/>
</mxCell>
<mxCell id="335" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px;&quot;&gt;&lt;div style=&quot;&quot;&gt;&lt;div style=&quot;line-height: 19px;&quot;&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; m1-&amp;gt;stop();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; m2-&amp;gt;stop();&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;" vertex="1" parent="145">
<mxGeometry x="850" y="10" width="140" height="50" as="geometry"/>
</mxCell>
<mxCell id="336" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.002;entryY=0.814;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="489" y="615.19" as="sourcePoint"/>
<mxPoint x="540" y="615" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="337" value="return t1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="145">
<mxGeometry x="419" y="600" width="70" height="30" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>

BIN
Opdracht_4/opdracht4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB