Selection Propagation v1
In the Peel rule substrate shape is partially altered. In the best case corners are left intact only LE internals are changed when extruded occurs within a single integer range, e.g. [0.1, 0.9].
A new selection propagation mode uses corner vertices to propagate selection for peel.
Problem is still present when:
- One or more of the (LE) corners are consumed for substrate shape
- Propagation occurs on extruded shapes, or the newly created shapes, those that do not include the substrate.
Selection mode can no be altered with the auto-detection function. Besides basic angle or dot product thresholding both length and angle can be used.
For instance two lengths those to the previous and next vertices (l1 * l2) / (l1 +l2) or (l1+l2)/ 2 are compared against the mean length.
Angle Range based
- For quarters are built
- starting from [pi*5/4, pi*7/4]
- angles converted to direction vectors
- cross product based detection
- the cross(x, a) is negative if x comes before a clockwise and positive if after.
- can easily determine if x is between a and b, where cross products must be positive and negative respectively.
- Let vertex x_i be corner vertex when x_i is outside of range (a, b) and x_i+1 is inside of it.
- Cardinal direction rays leaving centroid
- Rays should intersect one edge (segment) each
- Shape is either too bad and non-convex when more intersections are found
- ..or when one segment is intersected by more than one ray we have malformed shape as well.
- Weights based on dot product computed for the whole shape
- Enclosed segments are searched
- weights are sorted
- best weight is selected as a corner shape
- Ensures that we have distinct 4 corners.