Performing Boolean operations among two regions; regions and results
represented as vector tuples. Establish indexing cells about regions and
classify by type of interaction between regions, e.g., (boundary,
boundary). For each (boundary, boundary) cell, define pseudo-points at
each boundary entrance/exit. Categorize each (boundary, boundary) cell on
relationship of its pseudo-points. Identify starting points along
boundaries based on: categorization, operation, and interior convention.
Accumulate results cycling from a starting point, along region boundary.
Upon encountering each intersection, proceed along the other region
boundary. Upon encountering a cell edge, proceed along the cell edge in
the direction consistent with the interior convention. Where a starting
point or intersection between region boundaries remains untraversed,
accumulate results in tracing a similar cycle along untraced boundaries.
Discard duplicate/cell-edge only tuples. After traversing all starting
points/intersections of boundaries, determine results for other cell
types, and concatenate with those for (boundary, boundary) cells.