sysml-validate 0.11.0 → 0.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/LICENSE +27 -27
  2. package/README.md +200 -200
  3. package/out/main.js +596 -141
  4. package/out/main.js.map +4 -4
  5. package/package.json +57 -57
  6. package/resources/sysml.dimension-table.json +1 -1
  7. package/resources/sysml.library/Domain Libraries/Analysis/.meta.json +9 -9
  8. package/resources/sysml.library/Domain Libraries/Analysis/.project.json +26 -26
  9. package/resources/sysml.library/Domain Libraries/Analysis/AnalysisTooling.sysml +33 -33
  10. package/resources/sysml.library/Domain Libraries/Analysis/SampledFunctions.sysml +118 -118
  11. package/resources/sysml.library/Domain Libraries/Analysis/StateSpaceRepresentation.sysml +143 -143
  12. package/resources/sysml.library/Domain Libraries/Analysis/TradeStudies.sysml +170 -170
  13. package/resources/sysml.library/Domain Libraries/Cause and Effect/.meta.json +7 -7
  14. package/resources/sysml.library/Domain Libraries/Cause and Effect/.project.json +22 -22
  15. package/resources/sysml.library/Domain Libraries/Cause and Effect/CausationConnections.sysml +82 -82
  16. package/resources/sysml.library/Domain Libraries/Cause and Effect/CauseAndEffect.sysml +81 -81
  17. package/resources/sysml.library/Domain Libraries/Geometry/.meta.json +7 -7
  18. package/resources/sysml.library/Domain Libraries/Geometry/.project.json +26 -26
  19. package/resources/sysml.library/Domain Libraries/Geometry/ShapeItems.sysml +898 -898
  20. package/resources/sysml.library/Domain Libraries/Geometry/SpatialItems.sysml +167 -167
  21. package/resources/sysml.library/Domain Libraries/Metadata/.meta.json +9 -9
  22. package/resources/sysml.library/Domain Libraries/Metadata/.project.json +18 -18
  23. package/resources/sysml.library/Domain Libraries/Metadata/ImageMetadata.sysml +77 -77
  24. package/resources/sysml.library/Domain Libraries/Metadata/ModelingMetadata.sysml +142 -142
  25. package/resources/sysml.library/Domain Libraries/Metadata/ParametersOfInterestMetadata.sysml +38 -38
  26. package/resources/sysml.library/Domain Libraries/Metadata/RiskMetadata.sysml +99 -99
  27. package/resources/sysml.library/Domain Libraries/Quantities and Units/.meta.json +28 -28
  28. package/resources/sysml.library/Domain Libraries/Quantities and Units/.project.json +22 -22
  29. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQ.sysml +42 -42
  30. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQAcoustics.sysml +439 -439
  31. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQAtomicNuclear.sysml +2726 -2726
  32. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQBase.sysml +206 -206
  33. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQCharacteristicNumbers.sysml +1991 -1991
  34. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQChemistryMolecular.sysml +1353 -1353
  35. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQCondensedMatter.sysml +1223 -1223
  36. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQElectromagnetism.sysml +2333 -2333
  37. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQInformation.sysml +958 -958
  38. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQLight.sysml +1537 -1537
  39. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQMechanics.sysml +1564 -1564
  40. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQSpaceTime.sysml +1169 -1169
  41. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQThermodynamics.sysml +1256 -1256
  42. package/resources/sysml.library/Domain Libraries/Quantities and Units/MeasurementRefCalculations.sysml +30 -30
  43. package/resources/sysml.library/Domain Libraries/Quantities and Units/MeasurementReferences.sysml +526 -526
  44. package/resources/sysml.library/Domain Libraries/Quantities and Units/Quantities.sysml +107 -107
  45. package/resources/sysml.library/Domain Libraries/Quantities and Units/QuantityCalculations.sysml +70 -70
  46. package/resources/sysml.library/Domain Libraries/Quantities and Units/SI.sysml +378 -378
  47. package/resources/sysml.library/Domain Libraries/Quantities and Units/SIPrefixes.sysml +48 -48
  48. package/resources/sysml.library/Domain Libraries/Quantities and Units/TensorCalculations.sysml +49 -49
  49. package/resources/sysml.library/Domain Libraries/Quantities and Units/Time.sysml +274 -274
  50. package/resources/sysml.library/Domain Libraries/Quantities and Units/USCustomaryUnits.sysml +260 -260
  51. package/resources/sysml.library/Domain Libraries/Quantities and Units/VectorCalculations.sysml +62 -62
  52. package/resources/sysml.library/Domain Libraries/Requirement Derivation/.meta.json +7 -7
  53. package/resources/sysml.library/Domain Libraries/Requirement Derivation/.project.json +18 -18
  54. package/resources/sysml.library/Domain Libraries/Requirement Derivation/DerivationConnections.sysml +62 -62
  55. package/resources/sysml.library/Domain Libraries/Requirement Derivation/RequirementDerivation.sysml +38 -38
  56. package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/.meta.json +8 -8
  57. package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/.project.json +10 -10
  58. package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/Collections.kerml +176 -176
  59. package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/ScalarValues.kerml +23 -23
  60. package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/VectorValues.kerml +63 -63
  61. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/.meta.json +22 -22
  62. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/.project.json +14 -14
  63. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/BaseFunctions.kerml +79 -79
  64. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/BooleanFunctions.kerml +22 -22
  65. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/CollectionFunctions.kerml +68 -68
  66. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/ComplexFunctions.kerml +47 -47
  67. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/ControlFunctions.kerml +116 -116
  68. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/DataFunctions.kerml +42 -42
  69. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/IntegerFunctions.kerml +43 -43
  70. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/NaturalFunctions.kerml +27 -27
  71. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/NumericalFunctions.kerml +42 -42
  72. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/OccurrenceFunctions.kerml +153 -153
  73. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/RationalFunctions.kerml +49 -49
  74. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/RealFunctions.kerml +56 -56
  75. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/ScalarFunctions.kerml +32 -32
  76. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/SequenceFunctions.kerml +110 -110
  77. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/StringFunctions.kerml +25 -25
  78. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/TrigFunctions.kerml +34 -34
  79. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/VectorFunctions.kerml +272 -272
  80. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/.meta.json +21 -21
  81. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/.project.json +14 -14
  82. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Base.kerml +94 -94
  83. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Clocks.kerml +155 -155
  84. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/ControlPerformances.kerml +134 -134
  85. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/FeatureReferencingPerformances.kerml +189 -189
  86. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/KerML.kerml +483 -483
  87. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Links.kerml +66 -66
  88. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Metaobjects.kerml +57 -57
  89. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Objects.kerml +212 -212
  90. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Observation.kerml +160 -160
  91. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Occurrences.kerml +992 -992
  92. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Performances.kerml +292 -292
  93. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/SpatialFrames.kerml +196 -196
  94. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/StatePerformances.kerml +144 -144
  95. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Transfers.kerml +280 -280
  96. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/TransitionPerformances.kerml +65 -65
  97. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Triggers.kerml +187 -187
  98. package/resources/sysml.library/LICENSE +276 -276
  99. package/resources/sysml.library/NOTICE.md +20 -20
  100. package/resources/sysml.library/Systems Library/Actions.sysml +556 -556
  101. package/resources/sysml.library/Systems Library/Allocations.sysml +28 -28
  102. package/resources/sysml.library/Systems Library/AnalysisCases.sysml +37 -37
  103. package/resources/sysml.library/Systems Library/Attributes.sysml +24 -24
  104. package/resources/sysml.library/Systems Library/Calculations.sysml +36 -36
  105. package/resources/sysml.library/Systems Library/Cases.sysml +70 -70
  106. package/resources/sysml.library/Systems Library/Connections.sysml +59 -59
  107. package/resources/sysml.library/Systems Library/Constraints.sysml +43 -43
  108. package/resources/sysml.library/Systems Library/Flows.sysml +125 -125
  109. package/resources/sysml.library/Systems Library/Interfaces.sysml +88 -88
  110. package/resources/sysml.library/Systems Library/Items.sysml +152 -152
  111. package/resources/sysml.library/Systems Library/Metadata.sysml +31 -31
  112. package/resources/sysml.library/Systems Library/Parts.sysml +80 -80
  113. package/resources/sysml.library/Systems Library/Ports.sysml +53 -53
  114. package/resources/sysml.library/Systems Library/Requirements.sysml +193 -193
  115. package/resources/sysml.library/Systems Library/StandardViewDefinitions.sysml +123 -123
  116. package/resources/sysml.library/Systems Library/States.sysml +102 -102
  117. package/resources/sysml.library/Systems Library/SysML.sysml +539 -539
  118. package/resources/sysml.library/Systems Library/UseCases.sysml +56 -56
  119. package/resources/sysml.library/Systems Library/VerificationCases.sysml +102 -102
  120. package/resources/sysml.library/Systems Library/Views.sysml +163 -163
  121. package/resources/sysml.library.index.json +1 -1
@@ -1,197 +1,197 @@
1
- standard library package SpatialFrames {
2
- doc
3
- /*
4
- * This package models spatial frames of reference for quantifying the position of points
5
- * in a three-dimensional space.
6
- */
7
-
8
- private import Clocks::*;
9
- private import ScalarValues::NumericalValue;
10
- private import VectorValues::ThreeVectorValue;
11
- private import VectorValues::CartesianThreeVectorValue;
12
- private import VectorFunctions::isZeroVector;
13
- private import Occurrences::Life;
14
- private import Objects::Body;
15
- private import Objects::Point;
16
- private import ControlFunctions::forAll;
17
- private import SequenceFunctions::includes;
18
-
19
- private struct DefaultFrameLife[1] :> SpatialFrame, Life {
20
- doc
21
- /*
22
- * DefaultFrameLife is the classifier of the singleton Life of the defaultFrame.
23
- */
24
- }
25
-
26
- feature defaultFrame : DefaultFrameLife[1] {
27
- doc
28
- /*
29
- * defaultFrame is a fixed SpatialFrame used as a universal default.
30
- */
31
- }
32
-
33
- abstract struct SpatialFrame specializes Body {
34
- doc
35
- /*
36
- * A SpatialFrame is a three-dimensional Body that provides a spatial extent that
37
- * acts as a frame of reference for defining the physical position and displacement
38
- * vectors of Points over time.
39
- */
40
- }
41
-
42
- abstract function PositionOf {
43
- doc
44
- /*
45
- * The PositionOf a Point relative to a SpatialFrame, at a specific time relative to a given
46
- * Clock, as a positionVector that is a ThreeVectorValue.
47
- */
48
-
49
- in point : Point[1];
50
- in time : NumericalValue[1];
51
- in frame : SpatialFrame[1] default defaultFrame;
52
- in clock : Clock[1] default frame.localClock;
53
- return positionVector : ThreeVectorValue[1];
54
-
55
- inv positionTimePrecondition {
56
- doc
57
- /*
58
- * The given point must exist at the given time.
59
- */
60
-
61
- TimeOf(point.startShot) <= time and
62
- time <= TimeOf(point.endShot)
63
- }
64
-
65
- inv spacePositionConstraint {
66
- doc
67
- /*
68
- * The result positionVector is equal to the PositionOf the Point spaceShot of the
69
- * frame that encloses the given point, at the given time.
70
- */
71
-
72
- (frame.spaceShots as Point)->forAll{in p : Point;
73
- p.spaceTimeEnclosedOccurrences->includes(point) implies
74
- positionVector == PositionOf(p, time, frame)
75
- }
76
- }
77
- }
78
-
79
- abstract function CurrentPositionOf {
80
- doc
81
- /*
82
- * The CurrentPositionOf a Point relative to a SpatialFrame and a Clock is the PositionOf
83
- * the Point relative to the SpatialFrame at the currentTime of the Clock.
84
- */
85
-
86
- in point : Point[1];
87
- in frame : SpatialFrame[1] default defaultFrame;
88
- in clock : Clock[1] default frame.localClock;
89
- return positionVector : ThreeVectorValue[1] =
90
- PositionOf(point, clock.currentTime, frame, clock);
91
- }
92
-
93
- function DisplacementOf {
94
- doc
95
- /*
96
- * The DisplacementOf two Points relative to a SpatialFrame, at a specific time relative to a
97
- * given Clock, is the displacementVector computed as the difference between the PositionOf the
98
- * first Point and PositionOf the second Point, relative to that SpatialFrame, at that time.
99
- */
100
-
101
- in point1 : Point[1];
102
- in point2 : Point[1];
103
- in time : NumericalValue;
104
- in frame : SpatialFrame[1] default defaultFrame;
105
- in clock : Clock[1] default frame.localClock;
106
- return displacementVector : ThreeVectorValue[1] =
107
- PositionOf(point2, time, frame, clock) - PositionOf(point1, time, frame, clock);
108
-
109
- inv zeroDisplacementConstraint {
110
- doc
111
- /*
112
- * If either point1 or point2 occurs within the other, then the displacementVector is
113
- * the zero vector.
114
- */
115
-
116
- (point1.spaceTimeEnclosedOccurrences->includes(point2) or
117
- point2.spaceTimeEnclosedOccurrences->includes(point1)) implies
118
- isZeroVector(displacementVector)
119
- }
120
- }
121
-
122
- function CurrentDisplacementOf {
123
- doc
124
- /*
125
- * The CurrentDisplacementOf two Points relative to a SpatialFrame and Clock is the DisplacementOf
126
- * the Points relative to the SpatialFrame at the currentTime of the Clock.
127
- */
128
-
129
- in point1 : Point[1];
130
- in point2 : Point[1];
131
- in frame : SpatialFrame[1] default defaultFrame;
132
- in clock : Clock[1] default frame.localClock;
133
- return displacementVector : ThreeVectorValue[1] =
134
- DisplacementOf(point1, point2, clock.currentTime, frame, clock);
135
- }
136
-
137
- abstract struct CartesianSpatialFrame :> SpatialFrame {
138
- doc
139
- /*
140
- * A CartesianSpatialFrame is a SpatialFrame relative to which all position and displacement
141
- * vectors can be represented as CartesianThreeVectorValues.
142
- */
143
- }
144
-
145
- abstract function CartesianPositionOf :> PositionOf {
146
- doc
147
- /*
148
- * The PositionOf a Point relative to a CartesianSpatialFrame is a CartesianThreeVectorValue.
149
- */
150
-
151
- in point : Point[1];
152
- in time : NumericalValue[1];
153
- in frame : CartesianSpatialFrame[1];
154
- in clock : Clock[1] default frame.localClock;
155
- return positionVector : CartesianThreeVectorValue[1];
156
- }
157
-
158
- abstract function CartesianCurrentPositionOf :> CurrentPositionOf {
159
- doc
160
- /*
161
- * The CurrentPositionOf a Point relative to a CartesianSpatialFrame is a CartesianThreeVectorValue.
162
- */
163
-
164
- in point : Point[1];
165
- in frame : CartesianSpatialFrame[1];
166
- in clock : Clock[1] default frame.localClock;
167
- return positionVector : CartesianThreeVectorValue[1];
168
- }
169
-
170
- function CartesianDisplacementOf :> DisplacementOf {
171
- doc
172
- /*
173
- * The DisplacementOf two Points relative to a CartesianSpatialFrame is a CartesianThreeVectorValue.
174
- */
175
-
176
- in point1 : Point[1];
177
- in point2 : Point[1];
178
- in time : NumericalValue[1];
179
- in frame : CartesianSpatialFrame[1];
180
- in clock : Clock[1] default frame.localClock;
181
- return displacementVector : CartesianThreeVectorValue[1];
182
- }
183
-
184
- function CartesianCurrentDisplacementOf :> CurrentDisplacementOf {
185
- doc
186
- /*
187
- * The CurrentDisplacementOf two Points relative to a CartesianSpatialFrame is a CartesianThreeVectorValue.
188
- */
189
-
190
- in point1 : Point[1];
191
- in point2 : Point[1];
192
- in frame : CartesianSpatialFrame[1];
193
- in clock : Clock[1] default frame.localClock;
194
- return displacementVector : CartesianThreeVectorValue[1];
195
- }
196
-
1
+ standard library package SpatialFrames {
2
+ doc
3
+ /*
4
+ * This package models spatial frames of reference for quantifying the position of points
5
+ * in a three-dimensional space.
6
+ */
7
+
8
+ private import Clocks::*;
9
+ private import ScalarValues::NumericalValue;
10
+ private import VectorValues::ThreeVectorValue;
11
+ private import VectorValues::CartesianThreeVectorValue;
12
+ private import VectorFunctions::isZeroVector;
13
+ private import Occurrences::Life;
14
+ private import Objects::Body;
15
+ private import Objects::Point;
16
+ private import ControlFunctions::forAll;
17
+ private import SequenceFunctions::includes;
18
+
19
+ private struct DefaultFrameLife[1] :> SpatialFrame, Life {
20
+ doc
21
+ /*
22
+ * DefaultFrameLife is the classifier of the singleton Life of the defaultFrame.
23
+ */
24
+ }
25
+
26
+ feature defaultFrame : DefaultFrameLife[1] {
27
+ doc
28
+ /*
29
+ * defaultFrame is a fixed SpatialFrame used as a universal default.
30
+ */
31
+ }
32
+
33
+ abstract struct SpatialFrame specializes Body {
34
+ doc
35
+ /*
36
+ * A SpatialFrame is a three-dimensional Body that provides a spatial extent that
37
+ * acts as a frame of reference for defining the physical position and displacement
38
+ * vectors of Points over time.
39
+ */
40
+ }
41
+
42
+ abstract function PositionOf {
43
+ doc
44
+ /*
45
+ * The PositionOf a Point relative to a SpatialFrame, at a specific time relative to a given
46
+ * Clock, as a positionVector that is a ThreeVectorValue.
47
+ */
48
+
49
+ in point : Point[1];
50
+ in time : NumericalValue[1];
51
+ in frame : SpatialFrame[1] default defaultFrame;
52
+ in clock : Clock[1] default frame.localClock;
53
+ return positionVector : ThreeVectorValue[1];
54
+
55
+ inv positionTimePrecondition {
56
+ doc
57
+ /*
58
+ * The given point must exist at the given time.
59
+ */
60
+
61
+ TimeOf(point.startShot) <= time and
62
+ time <= TimeOf(point.endShot)
63
+ }
64
+
65
+ inv spacePositionConstraint {
66
+ doc
67
+ /*
68
+ * The result positionVector is equal to the PositionOf the Point spaceShot of the
69
+ * frame that encloses the given point, at the given time.
70
+ */
71
+
72
+ (frame.spaceShots as Point)->forAll{in p : Point;
73
+ p.spaceTimeEnclosedOccurrences->includes(point) implies
74
+ positionVector == PositionOf(p, time, frame)
75
+ }
76
+ }
77
+ }
78
+
79
+ abstract function CurrentPositionOf {
80
+ doc
81
+ /*
82
+ * The CurrentPositionOf a Point relative to a SpatialFrame and a Clock is the PositionOf
83
+ * the Point relative to the SpatialFrame at the currentTime of the Clock.
84
+ */
85
+
86
+ in point : Point[1];
87
+ in frame : SpatialFrame[1] default defaultFrame;
88
+ in clock : Clock[1] default frame.localClock;
89
+ return positionVector : ThreeVectorValue[1] =
90
+ PositionOf(point, clock.currentTime, frame, clock);
91
+ }
92
+
93
+ function DisplacementOf {
94
+ doc
95
+ /*
96
+ * The DisplacementOf two Points relative to a SpatialFrame, at a specific time relative to a
97
+ * given Clock, is the displacementVector computed as the difference between the PositionOf the
98
+ * first Point and PositionOf the second Point, relative to that SpatialFrame, at that time.
99
+ */
100
+
101
+ in point1 : Point[1];
102
+ in point2 : Point[1];
103
+ in time : NumericalValue;
104
+ in frame : SpatialFrame[1] default defaultFrame;
105
+ in clock : Clock[1] default frame.localClock;
106
+ return displacementVector : ThreeVectorValue[1] =
107
+ PositionOf(point2, time, frame, clock) - PositionOf(point1, time, frame, clock);
108
+
109
+ inv zeroDisplacementConstraint {
110
+ doc
111
+ /*
112
+ * If either point1 or point2 occurs within the other, then the displacementVector is
113
+ * the zero vector.
114
+ */
115
+
116
+ (point1.spaceTimeEnclosedOccurrences->includes(point2) or
117
+ point2.spaceTimeEnclosedOccurrences->includes(point1)) implies
118
+ isZeroVector(displacementVector)
119
+ }
120
+ }
121
+
122
+ function CurrentDisplacementOf {
123
+ doc
124
+ /*
125
+ * The CurrentDisplacementOf two Points relative to a SpatialFrame and Clock is the DisplacementOf
126
+ * the Points relative to the SpatialFrame at the currentTime of the Clock.
127
+ */
128
+
129
+ in point1 : Point[1];
130
+ in point2 : Point[1];
131
+ in frame : SpatialFrame[1] default defaultFrame;
132
+ in clock : Clock[1] default frame.localClock;
133
+ return displacementVector : ThreeVectorValue[1] =
134
+ DisplacementOf(point1, point2, clock.currentTime, frame, clock);
135
+ }
136
+
137
+ abstract struct CartesianSpatialFrame :> SpatialFrame {
138
+ doc
139
+ /*
140
+ * A CartesianSpatialFrame is a SpatialFrame relative to which all position and displacement
141
+ * vectors can be represented as CartesianThreeVectorValues.
142
+ */
143
+ }
144
+
145
+ abstract function CartesianPositionOf :> PositionOf {
146
+ doc
147
+ /*
148
+ * The PositionOf a Point relative to a CartesianSpatialFrame is a CartesianThreeVectorValue.
149
+ */
150
+
151
+ in point : Point[1];
152
+ in time : NumericalValue[1];
153
+ in frame : CartesianSpatialFrame[1];
154
+ in clock : Clock[1] default frame.localClock;
155
+ return positionVector : CartesianThreeVectorValue[1];
156
+ }
157
+
158
+ abstract function CartesianCurrentPositionOf :> CurrentPositionOf {
159
+ doc
160
+ /*
161
+ * The CurrentPositionOf a Point relative to a CartesianSpatialFrame is a CartesianThreeVectorValue.
162
+ */
163
+
164
+ in point : Point[1];
165
+ in frame : CartesianSpatialFrame[1];
166
+ in clock : Clock[1] default frame.localClock;
167
+ return positionVector : CartesianThreeVectorValue[1];
168
+ }
169
+
170
+ function CartesianDisplacementOf :> DisplacementOf {
171
+ doc
172
+ /*
173
+ * The DisplacementOf two Points relative to a CartesianSpatialFrame is a CartesianThreeVectorValue.
174
+ */
175
+
176
+ in point1 : Point[1];
177
+ in point2 : Point[1];
178
+ in time : NumericalValue[1];
179
+ in frame : CartesianSpatialFrame[1];
180
+ in clock : Clock[1] default frame.localClock;
181
+ return displacementVector : CartesianThreeVectorValue[1];
182
+ }
183
+
184
+ function CartesianCurrentDisplacementOf :> CurrentDisplacementOf {
185
+ doc
186
+ /*
187
+ * The CurrentDisplacementOf two Points relative to a CartesianSpatialFrame is a CartesianThreeVectorValue.
188
+ */
189
+
190
+ in point1 : Point[1];
191
+ in point2 : Point[1];
192
+ in frame : CartesianSpatialFrame[1];
193
+ in clock : Clock[1] default frame.localClock;
194
+ return displacementVector : CartesianThreeVectorValue[1];
195
+ }
196
+
197
197
  }