Decomposes an input body along its nonmanifold vertices and edges.
Role: This API decomposes the input body into four bodies, consisting
of the input body's manifold lumps, sheets, lamina, and wires. The input body is
destroyed.
Definition of Nonmanifold
A nonmanifold edge has more than two faces around it. A nonmanifold vertex
has elements that can be connected topologically only through that vertex, e.g.
two cones meeting at their apexes, or a vertex of a block with a
dangling edge. Although
api_manifold_class also reports three or more wire edges at a vertex as nonmanifold, this API does not unstitch them.
Information Returned
All faces and wire edges from the input body are contained somewhere in the four
returned bodies. The four bodies returned contain the manifold lumps, the
maximal manifold sheets, lamina (doubly covered) faces, and the wires found in
the input body.
The first body returned by this API (lumps) contains the manifold
lumps from the input body, each with one peripheral shell and any void shells
remaining.
The second body sheet contains each sheet in a separate lump, with exactly one
shell in each lump.
The third body lamina contains one lamina face (two back-to-back faces) in
each lump.
The last body wires has all wires from the input body in its wire pointer, and
has no lumps or shells. Each wire is maximal in that it contains all wire edges
that are topologically connected (through a coedge next or previous pointer) to
the first edge referenced by the wire entity.
Any bodies that would be returned empty, such as no sheets found, are returned
as NULL.
All nonmanifold vertices and edges are unstitched so that they are manifold,
except for shell self-nonmanifold edges as described below.
All shared geometry is duplicated.
Errors:input_body is a NULL pointer or does not point to a
BODY.
Limitations: The API does not unstitch shell self-nonmanifold edges.
These are nonmanifold edges whose owning shell would still be connected after
unstitching, and would result in a self-intersecting body. The API does unstitch
shell self-nonmanifold vertices, however; in this case, the result will have
duplicate vertices.
Effect: Changes model.
Journal: Available
Parameters:
input_body
(in) Body to decompose into manifold parts.
lumps
(out) Returned body with each lump, a manifold lump.
sheet
(out) Returned body with each lump, a manifold sheet.
lamina
(out) Returned body with each lump, a lamina face.
wires
(out) Returned body containing wires from input body.
ao
(in) ACIS options such as version and journal.
This object is included in the file: boolapi.hxx
Copyright (c) 1989-2007 by Spatial Corp. All rights reserved.