From 1fc9d5b5d099abc6677d2ad12e82ded56253dede Mon Sep 17 00:00:00 2001 From: ACHARD Romain <romain.achard@imt-atlantique.net> Date: Mon, 3 Feb 2025 19:11:54 +0000 Subject: [PATCH] Upload New File --- trains_1_.drawio | 157 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 trains_1_.drawio diff --git a/trains_1_.drawio b/trains_1_.drawio new file mode 100644 index 0000000..142070e --- /dev/null +++ b/trains_1_.drawio @@ -0,0 +1,157 @@ +<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0" version="26.0.10"> + <diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1"> + <mxGraphModel grid="1" page="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> + <root> + <mxCell id="WIyWlLk6GJQsqaUBKTNV-0" /> + <mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" /> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-0" value="<b>Railway</b>" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-700" y="268" width="140" height="108" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-1" value="+ Railway(Element[])" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-0"> + <mxGeometry y="26" width="140" height="26" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-2" value="+ toString()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-0"> + <mxGeometry y="52" width="140" height="26" as="geometry" /> + </mxCell> + <mxCell id="7E08pJ95WxS3_PG-T1CW-7" value="<div align="left">&nbsp;+nextElement(Direction)</div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-0"> + <mxGeometry y="78" width="140" height="30" as="geometry" /> + </mxCell> + <mxCell id="eZWp7mcgbQCOXsbxB7Q5-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="0u2Hz8Yq8UhTioPgZ6qj-8" target="7E08pJ95WxS3_PG-T1CW-7"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-8" value="Element" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-710" y="509.5" width="160" height="150" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-9" value="- name : String" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-8"> + <mxGeometry y="26" width="160" height="26" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-10" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-8"> + <mxGeometry y="52" width="160" height="8" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-11" value="<div># Element(String)</div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-8"> + <mxGeometry y="60" width="160" height="30" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-40" value="<div>+ setRailway(Railway)</div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-8"> + <mxGeometry y="90" width="160" height="30" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-41" value="+ toString()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-8"> + <mxGeometry y="120" width="160" height="30" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-12" value="Train" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-260" y="525" width="160" height="150" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-13" value="- name : String" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-12"> + <mxGeometry y="26" width="160" height="26" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-14" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-12"> + <mxGeometry y="52" width="160" height="8" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-15" value="<div>+ Train(String, Position)</div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-12"> + <mxGeometry y="60" width="160" height="30" as="geometry" /> + </mxCell> + <mxCell id="7E08pJ95WxS3_PG-T1CW-4" value="<div align="left">&nbsp;+&nbsp; run(Railway)</div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-12"> + <mxGeometry y="90" width="160" height="30" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-39" value="+ toString()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-12"> + <mxGeometry y="120" width="160" height="30" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="0u2Hz8Yq8UhTioPgZ6qj-16" target="0u2Hz8Yq8UhTioPgZ6qj-8"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-16" value="Station" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-610" y="790" width="160" height="90" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-17" value="- size : int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-16"> + <mxGeometry y="26" width="160" height="26" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-18" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-16"> + <mxGeometry y="52" width="160" height="8" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-19" value="<div>+ Station(String, int)<br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-16"> + <mxGeometry y="60" width="160" height="30" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="0u2Hz8Yq8UhTioPgZ6qj-20" target="0u2Hz8Yq8UhTioPgZ6qj-8"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-20" value="<b>Section</b>" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-800" y="790" width="140" height="52" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-21" value="+ Section(String)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-20"> + <mxGeometry y="26" width="140" height="26" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-49" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="0u2Hz8Yq8UhTioPgZ6qj-23" target="0u2Hz8Yq8UhTioPgZ6qj-26"> + <mxGeometry relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="-413" y="310" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="0u2Hz8Yq8UhTioPgZ6qj-23"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="-413" y="580" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="eZWp7mcgbQCOXsbxB7Q5-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="0u2Hz8Yq8UhTioPgZ6qj-23" target="0u2Hz8Yq8UhTioPgZ6qj-1"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <object label="<b>Position</b>" d="" id="0u2Hz8Yq8UhTioPgZ6qj-23"> + <mxCell style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-503" y="361" width="180" height="134" as="geometry"> + <mxRectangle x="-510" y="270" width="90" height="30" as="alternateBounds" /> + </mxGeometry> + </mxCell> + </object> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-24" value="+ Position(Element, Direction)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-23"> + <mxGeometry y="26" width="180" height="26" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-25" value="+ clone() : Position" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-23"> + <mxGeometry y="52" width="180" height="26" as="geometry" /> + </mxCell> + <mxCell id="IckR1mqQI5HhaYzGkJrK-0" value="&nbsp;+ move(Railway)" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-23"> + <mxGeometry y="78" width="180" height="30" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-38" value="+ toString()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-23"> + <mxGeometry y="108" width="180" height="26" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-26" value="<b>Direction</b>" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-250" y="260" width="140" height="110" as="geometry"> + <mxRectangle x="-250" y="260" width="90" height="30" as="alternateBounds" /> + </mxGeometry> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-27" value="LR" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-26"> + <mxGeometry y="26" width="140" height="26" as="geometry" /> + </mxCell> + <object label="RL" id="0u2Hz8Yq8UhTioPgZ6qj-28"> + <mxCell style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-26"> + <mxGeometry y="52" width="140" height="28" as="geometry" /> + </mxCell> + </object> + <mxCell id="7E08pJ95WxS3_PG-T1CW-5" value="<div align="left">&nbsp;+ turn()</div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="0u2Hz8Yq8UhTioPgZ6qj-26"> + <mxGeometry y="80" width="140" height="30" as="geometry" /> + </mxCell> + <mxCell id="0u2Hz8Yq8UhTioPgZ6qj-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="eZWp7mcgbQCOXsbxB7Q5-3" target="0u2Hz8Yq8UhTioPgZ6qj-8"> + <mxGeometry relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="-260" y="585" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="UVGYkFn2lnDysB3U67ra-0" value="<div><br></div><div align="right">1<br></div><div><br></div><div>- direction</div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-310" y="290" width="60" height="30" as="geometry" /> + </mxCell> + <mxCell id="eZWp7mcgbQCOXsbxB7Q5-2" value="*&nbsp;&nbsp;&nbsp; elements" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-650" y="479.5" width="90" height="30" as="geometry" /> + </mxCell> + <mxCell id="eZWp7mcgbQCOXsbxB7Q5-3" value="<div align="left">1</div><div align="left"><br></div><div align="left">-pos<br></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-530" y="570" width="60" height="30" as="geometry" /> + </mxCell> + <mxCell id="eZWp7mcgbQCOXsbxB7Q5-9" value="1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; railway" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-650" y="376" width="80" height="30" as="geometry" /> + </mxCell> + <mxCell id="eZWp7mcgbQCOXsbxB7Q5-12" value="<div align="left">1</div><div align="left"><br></div><div align="left">- currentPosition<br></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="-560" y="275" width="130" height="60" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> -- GitLab