Class Ifc2x3::IfcManifoldSolidBrep¶
Defined in File Ifc2x3.h
Nested Relationships¶
This class is a nested type of Struct Ifc2x3.
Inheritance Relationships¶
Base Type¶
public Ifc2x3::IfcSolidModel
(Class Ifc2x3::IfcSolidModel)
Derived Types¶
public Ifc2x3::IfcFacetedBrep
(Class Ifc2x3::IfcFacetedBrep)public Ifc2x3::IfcFacetedBrepWithVoids
(Class Ifc2x3::IfcFacetedBrepWithVoids)
Class Documentation¶

class
Ifc2x3
::
IfcManifoldSolidBrep
: public Ifc2x3::IfcSolidModel¶ Definition from ISO/CD 1030342:1992: A manifold solid Brep is a finite, arcwise connected volume bounded by one or more surfaces, each of which is a connected, oriented, finite, closed 2manifold. There is no restriction on the genus of the volume, nor on the number of voids within the volume. The Boundary Representation (Brep) of a manifold solid utilizes a graph of edges and vertices embedded in a connected, oriented, finite, closed two manifold surface. The embedded graph divides the surface into arcwise connected areas known as faces. The edges and vertices, therefore, form the boundaries of the face and the domain of a face does not include its boundaries. The embedded graph may be disconnected and may be a pseudo graph. The graph is labeled; that is, each entity in the graph has a unique identity. The geometric surface definition used to specify the geometry of a face shall be 2manifold embeddable in the plane within the domain of the face. In other words, it shall be connected, oriented, finite, nonselfintersecting, and of surface genus 0. Faces do not intersect except along their boundaries. Each edge along the boundary of a face is shared by at most one other face in the assemblage. The assemblage of edges in the Brep do not intersect except at their boundaries (i.e., vertices). The geometry curve definition used to specify the geometry of an edge shall be arcwise connected and shall not self intersect or overlap within the domain of the edge. The geometry of an edge shall be consistent with the geometry of the faces of which it forms a partial bound. The geometry used to define a vertex shall be consistent with the geometry of the faces and edges of which it forms a partial bound. A Brep is represented by one or more closed shells which shall be disjoint. One shell, the outer, shall completely enclose all the other shells and no other shell may enclose a shell. The facility to define a Brep with one or more internal voids is provided by a subtype. The following version of the Euler formula shall be satisfied, where V, E, F, Ll and S are the numbers of unique vertices, edges, faces, loop uses and shells in the model and Gs is the sum of the genus of the shells.
Instances of type IfcManifoldSolidBrep shall be of type IfcFacetedBrep, using only IfcPolyLoop for the bounds of IfcFaceBound, or of type IfcAdvancedBrep, using only IfcAdvancedFace for the face geometry, and IfcEdgeCurve for the edges.
NOTE: Corresponding ISO 1030342 entity: manifold_solid_brep. Please refer to ISO/IS 1030342:1994, p. 170 for the final definition of the formal standard. IfcManifoldSolidBrep is defined as ABSTRACT supertype to prevent it from direct instantiation.
HISTORY: New entity in IFC Release 1.0
Informal proposition:
The dimensionality of a manifold solid brep shall be 3. The extent of the manifold solid brep shall be finite and nonzero. All elements of the manifold solid brep shall have defined associated geometry. The shell normals shall agree with the Brep normal and point away from the solid represented by the Brep. Each face shall be referenced only once by the shells of the manifold solid brep. The Euler equation shall be satisfied for the boundary representation, where the genus term “shell term” us the sum of the genus values for the shells of the brep.
Subclassed by Ifc2x3::IfcFacetedBrep, Ifc2x3::IfcFacetedBrepWithVoids
Public Types

typedef IfcTemplatedEntityList<IfcManifoldSolidBrep>
list
¶
Public Functions

::Ifc2x3::IfcClosedShell *
Outer
() const¶ A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid.

void
setOuter
(::Ifc2x3::IfcClosedShell *v)¶

IfcManifoldSolidBrep
(IfcEntityInstanceData *e)¶

IfcManifoldSolidBrep
(::Ifc2x3::IfcClosedShell *v1_Outer)¶

typedef IfcTemplatedEntityList<IfcManifoldSolidBrep>