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

### 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 (*a*,*b*) and*x_i+1*is inside of it.

- the cross(

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

- Shape is either too bad and
- 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.