Skip to content

Commit 1707986

Browse files
authored
Merge pull request #33 from modelica/feature/optional-system-inner-connector-coordinates
Add optional inner system view connector coordinates
2 parents da838ec + ce76e35 commit 1707986

File tree

3 files changed

+48
-19
lines changed

3 files changed

+48
-19
lines changed

docs/5___ssd.adoc

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -191,17 +191,24 @@ _[ Note that the current opaque mapping of more advanced types to Binary connect
191191
image:images/image28.png[image,width=307,height=149]
192192

193193
This optional XML element gives the geometry information of the connector.
194-
Note that x and y coordinates are in a special coordinate system, where 0,0 is the lower-left corner of the containing model element, and 1,1 is the upper-right corner of the model element, regardless of aspect ratio.
194+
Note that x and y coordinates are in a normalized connector coordinate system, where 0,0 is the lower-left corner of the containing model element, and 1,1 is the upper-right corner of the model element, regardless of aspect ratio.
195195

196-
For systems the placement of connectors for the inside and outside view of the system is identical, the special coordinate system is just translated to different actual coordinate systems, namely the one determined by the ElementGeometry for the outside view, and the one determined by SystemGeometry for the inside view.
196+
By default, the placement of connectors for a system's inside and outside views is identical.
197+
The connector coordinate system is just translated to different actual coordinate systems, namely the one determined by ElementGeometry for the outside view and the one determined by SystemGeometry for the inside view.
197198

198-
If defined, this ConnectorGeometry overrides any ConnectorGeometry of a System in a referenced SSD file or any port location defined by an FMU (as defined in the relevant FMI standards).
199+
For systems, optionally, different placement of connectors for the inside view of the system can be specified with the systemInnerX and systemInnerY coordinates.
200+
This enables preserving the inside system layout when integrating a system in a system structure and avoiding unintended changes to the position of the connectors on the inside view of the system when making layout changes on the outside view and vice versa.
201+
202+
If defined, this ConnectorGeometry overrides any ConnectorGeometry of a System in a referenced SSD file or any port location defined by an FMU (as defined in the relevant FMI standards) for the x and y coordinates of the outside view.
203+
Any inside view is not overridden.
199204

200205
[width="100%",cols="28%,72%",options="header",]
201206
|===
202207
|Attribute |Description
203-
|x |Required attribute giving the x coordinate of the connector inside the special coordinate system.
204-
|y |Required attribute giving the y coordinate of the connector inside the special coordinate system.
208+
|x |Required attribute giving the x coordinate of the connector inside the connector coordinate system.
209+
|y |Required attribute giving the y coordinate of the connector inside the connector coordinate system.
210+
|systemInnerX |Optional attribute giving a separate x coordinate of the connector for the inside view of a system.
211+
|systemInnerY |Optional attribute giving a separate y coordinate of the connector for the inside view of a system.
205212
|===
206213

207214
[ _Graphical example for a ConnectorGeometry:_

schema/SystemStructureDescription.xsd

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -668,20 +668,31 @@
668668
<xs:annotation>
669669
<xs:documentation xml:lang="en">
670670
This optional element gives the geometry information of the connector.
671-
Note that x and y coordinates are in a special coordinate system, where
672-
0,0 is the lower-left corner of the component/system, and 1,1 is the
673-
upper-right corner of the component, regardless of aspect ratio.
671+
Note that x and y coordinates are in a normalized connector coordinate
672+
system, where 0,0 is the lower-left corner of the component/system,
673+
and 1,1 is the upper-right corner of the component, regardless of
674+
aspect ratio.
674675

675-
For systems the placement of connectors for the inside and outside
676-
view of the system is identical, the special coordinate system is just
676+
By default, the placement of connectors for a system's inside and
677+
outside views is identical. The connector coordinate system is just
677678
translated to different actual coordinate systems, namely the one
678-
determined by the ElementGeometry for the outside view, and the
679-
one determined by SystemGeometry for the inside view.
679+
determined by ElementGeometry for the outside view and the one
680+
determined by SystemGeometry for the inside view.
681+
682+
For systems, optionally, different placement of connectors for the
683+
inside view of the system can be specified with the systemInnerX
684+
and systemInnerY coordinates. This enables preserving the inside
685+
system layout when integrating a system in a system structure and
686+
avoiding unintended changes to the position of the connectors on
687+
the inside view of the system when making layout changes on the
688+
outside view and vice versa.
680689
</xs:documentation>
681690
</xs:annotation>
682691
<xs:complexType>
683692
<xs:attribute name="x" type="xs:double" use="required"/>
684693
<xs:attribute name="y" type="xs:double" use="required"/>
694+
<xs:attribute name="systemInnerX" type="xs:double" use="optional"/>
695+
<xs:attribute name="systemInnerY" type="xs:double" use="optional"/>
685696
</xs:complexType>
686697
</xs:element>
687698
<xs:element name="Annotations" minOccurs="0" type="ssc:TAnnotations"/>

schema/SystemStructureDescription11.xsd

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -665,20 +665,31 @@
665665
<xs:annotation>
666666
<xs:documentation xml:lang="en">
667667
This optional element gives the geometry information of the connector.
668-
Note that x and y coordinates are in a special coordinate system, where
669-
0,0 is the lower-left corner of the component/system, and 1,1 is the
670-
upper-right corner of the component, regardless of aspect ratio.
668+
Note that x and y coordinates are in a normalized connector coordinate
669+
system, where 0,0 is the lower-left corner of the component/system,
670+
and 1,1 is the upper-right corner of the component, regardless of
671+
aspect ratio.
671672

672-
For systems the placement of connectors for the inside and outside
673-
view of the system is identical, the special coordinate system is just
673+
By default, the placement of connectors for a system's inside and
674+
outside views is identical. The connector coordinate system is just
674675
translated to different actual coordinate systems, namely the one
675-
determined by the ElementGeometry for the outside view, and the
676-
one determined by SystemGeometry for the inside view.
676+
determined by ElementGeometry for the outside view and the one
677+
determined by SystemGeometry for the inside view.
678+
679+
For systems, optionally, different placement of connectors for the
680+
inside view of the system can be specified with the systemInnerX
681+
and systemInnerY coordinates. This enables preserving the inside
682+
system layout when integrating a system in a system structure and
683+
avoiding unintended changes to the position of the connectors on
684+
the inside view of the system when making layout changes on the
685+
outside view and vice versa.
677686
</xs:documentation>
678687
</xs:annotation>
679688
<xs:complexType>
680689
<xs:attribute name="x" type="xs:double" use="required"/>
681690
<xs:attribute name="y" type="xs:double" use="required"/>
691+
<xs:attribute name="systemInnerX" type="xs:double" use="optional"/>
692+
<xs:attribute name="systemInnerY" type="xs:double" use="optional"/>
682693
</xs:complexType>
683694
</xs:element>
684695
<xs:element name="Annotations" minOccurs="0" type="ssc:TAnnotations"/>

0 commit comments

Comments
 (0)