-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathCarMachineSystemClass.drawio
119 lines (119 loc) · 14.9 KB
/
CarMachineSystemClass.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<mxfile host="app.diagrams.net" modified="2024-07-13T07:12:55.182Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0" etag="UJfLPMlAft3I23_mY6Yj" version="24.6.5" type="device">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="1434" dy="788" 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="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="ogfkH1cH0whxQmtkOG1w-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--0" target="ogfkH1cH0whxQmtkOG1w-57" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--0" value="Context(上下文)" style="swimlane;fontStyle=2;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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="240" y="110" width="260" height="164" as="geometry">
<mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--1" value="State * state" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="26" width="260" height="26" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--4" 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="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="52" width="260" height="8" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-22" value="Public" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="60" width="260" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-26" value="+setState():State" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="86" width="260" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-27" value="+request(MainWindow* mainWindow):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="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="112" width="260" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-30" value="+getState()const :State" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="138" width="260" height="26" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--17" value="State(状态)" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="827" y="110" width="177.5" height="112" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--18" value="MainWindow* mainWindow" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--17" vertex="1">
<mxGeometry y="26" width="177.5" height="26" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--23" 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="zkfFHV4jXpPFQw0GAbJ--17" vertex="1">
<mxGeometry y="52" width="177.5" height="8" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--25" value="Public" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--17" vertex="1">
<mxGeometry y="60" width="177.5" height="26" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--24" value="+handle(MainWindow*):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="zkfFHV4jXpPFQw0GAbJ--17" vertex="1">
<mxGeometry y="86" width="177.5" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-40" value="Classname(<span style="text-wrap: nowrap;">类名</span>)" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry width="140" height="208" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-45" value="变量类型 — 变量" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=default;" parent="ogfkH1cH0whxQmtkOG1w-40" vertex="1">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-10" value="Public(公有)" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="ogfkH1cH0whxQmtkOG1w-40" vertex="1">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-41" value="+ field: type" 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;" parent="ogfkH1cH0whxQmtkOG1w-40" vertex="1">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-13" value="Private(私有)" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="ogfkH1cH0whxQmtkOG1w-40" vertex="1">
<mxGeometry y="104" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-42" value="+ field: type" 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;" parent="ogfkH1cH0whxQmtkOG1w-40" vertex="1">
<mxGeometry y="130" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-15" value="Protected" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="ogfkH1cH0whxQmtkOG1w-40" vertex="1">
<mxGeometry y="156" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-43" value="+ field: type" 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;" parent="ogfkH1cH0whxQmtkOG1w-40" vertex="1">
<mxGeometry y="182" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-46" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>StartningState</b></p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;">+ field: Type</p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;">+ method(): Type</p>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="630" y="360" width="160" height="90" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-57" value="<p style="margin:0px;margin-top:6px;text-align:center;"><span style="text-align: left; text-wrap: nowrap;">+request(MainWindow* mainWindow):void</span><br></p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:8px;">{</p><p style="margin:0px;margin-left:8px;"><span style="white-space: pre;">	</span>//转调State来处理<br></p><p style="margin:0px;margin-left:8px;"><span style="white-space: pre;">	</span>State-&gt;<span style="text-wrap: nowrap;">handle</span>(<span style="text-wrap: nowrap; background-color: initial;">mainWindow</span><span style="background-color: initial;">);</span></p><p style="margin:0px;margin-left:8px;">}</p>" style="align=left;overflow=fill;html=1;dropTarget=0;whiteSpace=wrap;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="220" y="340" width="300" height="100" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-58" value="" style="shape=component;jettyWidth=8;jettyHeight=4;" parent="ogfkH1cH0whxQmtkOG1w-57" vertex="1">
<mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
<mxPoint x="-24" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-62" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>RunningState</b></p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;">+ field: Type</p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;">+ method(): Type</p>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="848.75" y="360" width="160" height="90" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.529;entryY=0.974;entryDx=0;entryDy=0;entryPerimeter=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ogfkH1cH0whxQmtkOG1w-63" target="zkfFHV4jXpPFQw0GAbJ--24" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="930" y="229.9999999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-63" value="<p style="text-align: center; margin: 4px 0px 0px;"><span style="background-color: initial; text-align: left;"><b>Standby</b></span><b>ningState</b></p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;">+ field: Type</p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;">+ method(): Type</p>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1050" y="360" width="160" height="90" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-74" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--1" target="zkfFHV4jXpPFQw0GAbJ--18" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-75" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--24" target="ogfkH1cH0whxQmtkOG1w-26" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.529;entryY=1.038;entryDx=0;entryDy=0;entryPerimeter=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ogfkH1cH0whxQmtkOG1w-62" target="zkfFHV4jXpPFQw0GAbJ--24" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="920" y="291" />
<mxPoint x="921" y="291" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="ogfkH1cH0whxQmtkOG1w-81" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.529;entryY=0.974;entryDx=0;entryDy=0;entryPerimeter=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ogfkH1cH0whxQmtkOG1w-46" target="zkfFHV4jXpPFQw0GAbJ--24" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="krGnwok__O64LUI2DbIm-1" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ffmpeg(Start)</b></p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;">+ field: Type</p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;">+ method(): Type</p>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="334" y="550" width="160" height="90" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>