tree 62d517730a8778c8fb95443bebf128f2d72b3196
parent 8c4e06ff95271936ba192081d8b970e3ef890297
author aradermache <ansgar.radermacher@cea.fr> 1674642155 +0100
committer Ansgar Radermacher <ansgar.radermacher@cea.fr> 1675266199 -0500

Bug 581382 - [SysML 1.6] Direction of FlowAttributes is not reflected in diagrams

- Add Java code for calculating the port direction:
  In case of FlowPorts:
    - evaluate the direction of atomic flow ports.
    - if typed with a flow specification, evaluate the flow-properties: if there is a common direction, return it, return inout otherwise
  In case of ProxyPorts or FullPorts:
    - if typed with a class, evaluate the flow-properties: if there is a common direction, return it, return inout otherwise

- Adapt CSS of internal block diagram

- Increase minor version due to addition of selector

- Add readme.txt file documenting the selectors. Some selectors are unused by SysML (but may be needed if
  we use for instance an activity diagram while applying the SysML profile)

Signed-off-by: aradermache <ansgar.radermacher@cea.fr>
Change-Id: I5fec40b74e55b10b489d7a7c5dd53cf7fe84961d
