How can we "force" the location of the arrow start in activity diagram

0 votes
asked Apr 27, 2017 in Won't implement by anonymous
Hello,

Using the typical code :

If (action1) then (true)

     : do A;

Else (false)

     :Do B|

      stop

endif

Depending of (what ? Random ?), on graphical representation, the arrow to "do A" and the other to "do B", in other word true or false, will start from the right, the left, or the bottom of the "IF"  hexagonal shape.

Is there a way to force right, left, bottom for each arrow ?

Thanks in advance

Philippe

1 Answer

0 votes
answered Apr 27, 2017 by plantuml (160,740 points)

No, you cannot force it.

The direction is computed by a determinist algorithm (so no random).
In general, the action after the "then" in on left, the one after the "else" is on right.

There are exception, especially if one branch is a simple "stop".
Example:

http://www.plantuml.com/plantuml/uml/5Omn3i0W3CJsUqL66Bl2GiS-0vKWa2Yf8Fo_r8lbnM5g7BgUXYkJYRTMwOSbBTp9w5XiCLLUS9jC9iSj2_fnIUZqu9vgXfEb7c77Ndq0
 

@startuml
If (action1) then (true)
stop
else (false)
     :do A;
endif
:out;
@enduml


The algorithm is not perfect and we can improve it.
So you can post here some examples that does not work well.


 

commented Apr 27, 2017 by anonymous
Thanks for your answer. I will try to compile some example, where there is typical mismatch (such as line crossing)
...