Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commit95280a384c

README.md

topology.boundary (procNode)

The open boundary of a surface: the edges exactly one participating face borders, as a 0/1 group on the edge and point classes, plus the ordered loops they form, read back as a Data record.

Inputs

  • geometry (Geometry): the geometry whose open edges are traced.
  • group (String, default ""): names a 0/1 attribute on class restricting which faces take part; empty, the whole mesh takes part. A name the class does not carry is refused.
  • class (String, default "primitive"): the class group lives on: "edge", "point", "primitive" or "vertex".
  • promote (String, default "all"): how a group on a class other than "primitive" becomes a face set: "all" takes the faces every one of whose elements of that class is in the group, "any" the faces at least one is.
  • output (String, default "boundary"): the name the boundary is written under: a 0/1 group on the edge class for the open edges, the same name on the point class for their endpoints, and a detail attribute <output>EdgeCount.

Outputs

A call answers a record by output name.

  • geometry (Geometry): the input with the output groups on the edge and point classes and the detail <output>EdgeCount.
  • boundary (Data): count (open edges), edges (their ids), pointCount, loops (each loop's point ids, starting at the low point of its lowest edge and running through that edge to its high point), loopCount, loopLengths, simple (every boundary point has exactly two boundary edges), closed (no open edge) and group.

Example

local open = g.topology.boundary({ geometry = g.mesh.grid({}) })
local loops = g.value.get({ data = open.boundary, path = "loopCount" })