Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commitdd348ac6c3

README.md

proc.ops.topology

The connectivity layer over a Geometry: its unique edges, which faces border each edge, which elements sit next to which, its connected islands, and where its surface is open, derived and memoized per Geometry. An edge is the unordered point pair (lo, hi) it joins, and its index is its 0-based place in the edge list sorted by lo then hi, so the same Geometry numbers the same edge the same way on every call. A group (a named 0/1 attribute on the class class names) narrows which elements an op reports on and writes to; a group on a class other than primitive becomes a face selection through promote ("all": the faces every element of which is in the group; "any": the faces at least one is). topology, edgeCount, elementCount, forEachIncidence and convertSelection are the module functions a Geometry's edge class is counted and walked through.

ops(geometry, fields, types) returns the family as a map of op id to op def; procPacks/topology.procPack registers it. A graph calls one of its ops as g.op.<id>({ ... }) and a script as proc.ops.<family>.<op>(...); the procgen toolbox's describeNode answers each in full.

Ops: topology.adjacency, topology.boundary, topology.convert, topology.edges, topology.islands.

Part of @builtin::systems.procgen.proc; required as @builtin::systems.procgen.proc.ops.topology.