# Corner-based Selection Propagation and Basic Autoselection

### 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:

1. One or more of the (LE) corners are consumed for substrate shape
2. Propagation occurs on extruded shapes, or the newly created shapes, those that do not include the substrate.

### Autoselection

#### Threshold based

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
• clockwise
• 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 (ab) and x_i+1 is inside of it.

#### Growth based

• 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.