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

peel-reindexing-on-integer-range

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.