Closed eckig closed 9 years ago
Wouldn't it be better to place the GJoints relatively instead of absolutely?
What does it mean to position the joints relatively? Relative to what?
One solution could be to place the GJoints with Bindings?
Could you elaborate? I'm not sure what you're getting at here.
Right now the behaviour is quite rudimentary - the objects that are selected will move. If you select 2 nodes and you want the connection between them to maintain its shape, you need to select the joints as well.
One could imagine a more sophisticated solution where dragging a node could also influence joint positions, e.g. to stop them going behind another node, as you say. But I have a suspicion that this is not an easy task.
For example relative to the source node. Example (pseudo code):
Node1 and Node2 are to be connected and the user creates a connection between them.
and so on.. you get the idea. Since the path is relative, you can draw a straight line from the last joint to the source connector.
Imagine the user drags a node. Some joints will move with it, others won't, depending on which of the node's connectors are sources and which are targets. This could lead to confusing and inconsistent behaviour.
In the short term you will have to create custom skins to try this. If you get something that works cleanly and consistently I would love to see it, but I have to say I am sceptical that it will work out.
With custom skins this is hardly possible, because everything is strongly tied to absolute X/Y coordinates, getting the correct coordinate properties is not always easy in the skin, but maybe I find a working solution to post..
This won't be fixed?
No, I don't see any solution that is transparent to the user. I would prefer to keep it simple. If you want the joints to be bound to the source node and move with it, you will have to implement this yourself. The current skins do not distinguish graphically between what the source and target nodes are, so it would be very confusing.
The current approach places GJoint(s) absolutely in the graph editor. When moving the GNodes where the corresponding GConnections connectors are attached to, the GJoints do not move accordingly and will eventually get behind a node.
Wouldn't it be better to place the GJoints relatively instead of absolutely? One solution could be to place the GJoints with Bindings? Or another solution, if you want to stick with absolute positioning, would be to adjust the GJoint positions if they get into / behind other nodes?