Measures the total surface area of a solid, in square model units.
The solid
The surface area
Measures the volume of a solid, in cubic model units.
The solid
The volume
Tells whether a solid has no triangles at all, as the result of an intersection of shapes that do not overlap would.
The solid
True when the solid is empty
Counts the vertices of a solid's mesh, the corners its triangles share.
The solid
The number of vertices
Counts the triangles of a solid's mesh, which is its whole surface.
The solid
The number of triangles
Counts the edges of a solid's mesh, each shared by two triangles.
The solid
The number of edges
Counts the property channels each vertex of a solid carries; the position alone takes three.
The solid
The number of properties per vertex
Counts the property vertices of a solid, which is at least numVert: a vertex whose
neighboring triangles carry different properties, such as a sharp edge with two normals, is
stored more than once.
The solid
The number of property vertices
Finds the axis-aligned box around every vertex of a solid.
The solid
The minimum corner and the maximum corner
Reads the tolerance of a solid, the rounding error that has built up over the transforms and operations that made it.
Triangles thinner than this are treated as degenerate and removed.
The solid
The tolerance in model units
Counts the holes through a solid, the way a ring has one and a sphere none.
It only makes sense for a single connected piece, so run operations.decompose first on a
solid made of several.
The solid
The number of holes through the solid
Measures the smallest distance between two solids, searching no farther than searchLength.
The result is between 0 and the search length.
The two solids and how far to search, in model units
The smallest gap between them
Reads the id of a solid that is an original, as operations.asOriginal or a freshly built
solid makes it; a solid produced from others by an operation reports -1.
The solid
The original id, or -1
Tells why a solid came out empty: NoError, or a reason such as NotManifold or
InvalidConstruction when the mesh it was built from was not a closed surface.
The status is carried through later operations, so a broken input does not get lost; an empty
solid can still report NoError, as intersecting shapes that do not overlap does.
The solid
The status name
Shoots a ray segment from one point to another and lists every place it crosses the surface of a solid, nearest first; an empty list when it misses.
A hit carries the point, the normal there, the original face id and its distance along the segment as a fraction of the segment's length.
The solid, the start and the end of the ray segment
The hits sorted by distance
Measuring Manifold solids and reading their bookkeeping: surface area and volume, vertex, triangle and edge counts, the bounding box, the tolerance, the genus, the gap to another solid, and the id and status the kernel tracks for every solid. Nothing here changes the solid.