node group by shape - blossommerz/locus-hub GitHub Wiki

Home > Data > Group by Shape

< Previous: Select by Condition | Next: Dedupe >

Node Library

Group by Shape node icon   Group by Shape (node)

Sort regions into groups of the same shape - each group its own list branch.

Group by Shape node diagram

Category: Data | Add menu: Data > Group by Shape

Inputs

  • Regions (any): a set of regions to sort. (Non-region input passes straight through, unchanged.)
  • Tolerance (number, editable): how closely two shapes' edges and corners must match to count as the same (default 0.01).
  • Mirror (boolean): when on, a shape and its reflection count as the same shape (default on).
  • Angle (boolean): when on, rotated copies count as the same shape; off puts each orientation in its own group (default on).

Outputs

  • Groups (region): the regions re-listed as one branch per distinct shape. Wire into Item at Index to pull out a single group. The rarest shape sits at index 0 (fewest members first), so a one-of-a-kind tile is easy to reach and the common tile sits at the end.

What "same shape" means

Two regions are the same shape when their boundaries are congruent - the same edges (lengths, and for arcs the radius and sweep) and the same corner angles, in order, no matter where they sit or how they're turned. It's a tolerant comparison, so tiny numerical differences don't split a shape. Holes count too (matched by area and perimeter), so a solid disc and an annulus with the same outline never land together.

  • Mirror on -> left- and right-handed versions group together.
  • Angle on -> every rotation of a shape groups together; off -> each orientation is its own group.

< Previous: Select by Condition | Next: Dedupe >

Related

  • Auto Region: turn a tiling's curves into the regions you then group.
  • Item at Index: pull one shape-group out of the list.
  • Sort | Dedupe: the neighboring list operations.
⚠️ **GitHub.com Fallback** ⚠️