-
Notifications
You must be signed in to change notification settings - Fork 61
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[doc] Add a shape on rectilinear custom edges
Signed-off-by: Florian ROUËNÉ <[email protected]>
- Loading branch information
1 parent
4935bb7
commit 1fc20e7
Showing
8 changed files
with
47 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
45 changes: 45 additions & 0 deletions
45
doc/iterations/2025.4/force_custom_edges_to_stay_rectilinear.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
= Force Custom Edges to Stay Rectilinear | ||
|
||
== Problem | ||
|
||
It is possible to add new bendpoints on an edge, but currently moving (or adding) a bendpoint causes the path to lose its rectilinearity. | ||
|
||
== Key Result | ||
|
||
Regardless of the actions performed on an edge, the resulting path must remain rectilinear. | ||
|
||
== Solution | ||
|
||
On edge, bendpoint (black-filled circle) are positioned to each segment corner and intermediate point (grey circle) on middle to each segment. | ||
|
||
image:images/custom-edges-point-types.png[Custom edges point types, 70%] | ||
|
||
Modify the algorithm for moving a bendpoint so that two new bendpoints are created (for one axis) at the positions of the adjacent intermediate point of the moved bendpoint. | ||
|
||
image:images/custom-edges-new-bendpoints-one-axis.png[New benbpoints on one axis, 70%] | ||
|
||
The same approach could be applied on the two axis in the same drag. | ||
|
||
image:images/custom-edges-new-bendpoints-two-axis.png[New bendpoints on two axis, 70%] | ||
|
||
Change the behavior of intermediate points so that they do not create new bendpoints but instead move existing adjacent bendpoints along an axis (x or y). | ||
This axis is perpendicular to the segment in question. | ||
|
||
image:images/custom-edges-intermediate-point-translation.png[Intermediate point translation, 60%] | ||
|
||
To delete a bendpoint, align two segments to form a single segment (a margin will be implemented to facilitate this action). | ||
|
||
image:images/custom-edges-before-bendpoint-suppression.png[Before bendpoint suppression, 50%] | ||
|
||
image:images/custom-edges-after-bendpoint-suppression.png[After bendpoint suppression, 50%] | ||
|
||
== Cutting Backs | ||
|
||
It would be interesting to define the routing of an edge (rectilinear, oblique, etc...). | ||
|
||
== Rabbit Holes | ||
|
||
* Node handles are currently fixed, so it's not possible to modify the first and last edge segments directly. | ||
* When the node is moved, the first bendpoint must be updated to preserve rectilinearity of the edge path. | ||
|
||
== No-Gos |
Binary file added
BIN
+21.8 KB
doc/iterations/2025.4/images/custom-edges-after-bendpoint-suppression.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+22 KB
doc/iterations/2025.4/images/custom-edges-before-bendpoint-suppression.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+28 KB
doc/iterations/2025.4/images/custom-edges-intermediate-point-translation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+21.8 KB
doc/iterations/2025.4/images/custom-edges-new-bendpoints-one-axis.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.