Component arrows starting on wrong side if component has sub-components

0 votes
asked Nov 20 in Question / help by BungledB (140 points)

I cannot figure out how (or if it is possible) to get the arrows connected to components which have components inside them to behave the same as for an empty component.

Here is an example of what I mean. What I want to happen is that arrows coming from the node and the cloud with comoponents inside them does exactly the same as the empty nodes / clouds.

@startuml
cloud "EmptyCloud1" {
}
cloud "EmptyCloud2"{
}
cloud "CloudWithComponents"{
  [Component1]
  [Component2]
}
cloud "EmptyCloud3"{
}
node "EmptyNode1" {
}
node "EmptyNode2" {
}
node "NodeWithComponents1" {
[Component3]
[Component4]
}

EmptyNode1 -d-> EmptyCloud1
EmptyNode2 -d-> EmptyCloud1
NodeWithComponents1 -u-> EmptyCloud1
EmptyCloud1 <-r-> EmptyCloud2
EmptyCloud2 <-r-> CloudWithComponents
CloudWithComponents <-r-> EmptyCloud3
@enduml

It doesn't make any difference which direction the arrow is going nor whether I used -r-> or -l->, for example. Is this deliberate, is it a bug, or have I just not understood how to do it?

Thanks.

commented Nov 21 by albert (2,580 points)

I'm not clear what you want, do you want to have a line between e.g.:

Component1 and EmptyCloud3

for this did you try e.g. Component1 <-r-> EmptyCloud3


commented Nov 21 by BungledB (140 points)
Sorry, I should have explained better. :-) I don't want an arrow from Component1 to EmptyCloud3, I want one from CloudWithComponent to EmptyCloud3, which goes from the right of CloudWithCompoents to the left of EmptyCloud3.

Arrows connected to empty components (for example EmptyCloud2) join the component on the side of the object which is closest to the thing they are joining to (in this case CloudWithComponents).

However I move things around, all the arrows connected to a non-empty component join that component on the left side.

When I put an arrow from CloudWithComponents to EmptyCloud3, it leaves CloudWithComponents in the top left corner and curves around, rather than leaving the component on the same side as the thing it's connected to.

Similary, NodeWithComponents1 has the arrow connected to the top-left corner rather than the top-centre.

Essentially, I want all the arrows to be straight and take the shortest path they can.

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:

[Antispam2 Feature: please please wait 1 or 2 minutes (this message will disappear) before pressing the button otherwise it will fail](--------)
To avoid this verification in future, please log in or register.
...