meshing.detect_branch_changes
meshing.detect_branch_changes(branches, incidence)
Mark cells whose incident Hermite samples disagree on the active branch.
A hard CSG crease lies exactly where the surface switches from one min/max operand to another, so a cell whose surface samples carry different active branches straddles a seam. This is exact for hard Booleans and needs no angular threshold; combine it with :func:classify_feature_cells for black-box or smoothly blended fields.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| branches | np.ndarray | Active branch per Hermite sample, from :func:active_branches, shaped (edge_count,). |
required |
| incidence | CellIncidence | Cell-to-edge mapping for the same edge set. | required |
Returns
| Name | Type | Description |
|---|---|---|
| np.ndarray | Boolean mask shaped (cell_count,); True where a seam crosses |
|
| np.ndarray | the cell. |