CAD Exchanger SDK
cadex::ModelData_Shell Class Reference

Defines a connected set of faces. More...

Inheritance diagram for cadex::ModelData_Shell:
cadex::ModelData_Shape

Public Member Functions

 ModelData_Shell (const ModelData_Face &theFace)
 Constructor.
 
 ModelData_Shell (const TopoDS_Shell &)
 
 operator const TopoDS_Shell & () const
 
 operator TopoDS_Shell & ()
 
bool Append (const ModelData_Face &theFace)
 Adds a face to the shell. More...
 
- Public Member Functions inherited from cadex::ModelData_Shape
 ModelData_Shape ()
 Constructor.
 
 ModelData_Shape (const ModelData_Shape &theOther)
 Constructor.
 
 ModelData_Shape (ModelData_Shape &&theOther)
 Move constructor.
 
 ~ModelData_Shape ()
 Destructor.
 
ModelData_Shapeoperator= (const ModelData_Shape &theOther)
 Assignment operator.
 
ModelData_Shapeoperator= (ModelData_Shape &&theOther)
 Move assignment operator.
 
 operator const TopoDS_Shape & () const
 Casts this object to TopoDS_Shape. More...
 
ModelData_ShapeType Type () const
 Returns a shape type. More...
 
ModelData_ShapeOrientation Orientation () const
 Returns orientation flag. More...
 
ModelData_Shape Reversed () const
 Returns a shape that shares the same geometry and subshape graph but has opposite orientation. More...
 
ModelData_Shape Oriented (ModelData_ShapeOrientation theOrientation) const
 Returns a shape that shares the same geometry and subshape graph and has specified orientation. More...
 
void Nullify ()
 Nullifies the object. More...
 
bool IsNull () const
 Returns true if the object has not been initialized yet.
 
 operator bool () const
 Returns true if the object is not null. More...
 
bool IsEqual (const ModelData_Shape &theOther) const
 Returns true if the shape shares the same geometry and subshape graph, and has equal orientation. More...
 
bool IsSame (const ModelData_Shape &theOther) const
 Returns true if the shape shares the same geometry and subshape graph. More...
 
internal::ModelData_ShapeImpl * Impl () const
 Returns internal implementation object.
 

Static Public Member Functions

static const ModelData_ShellCast (const ModelData_Shape &theShape)
 
static ModelData_ShellCast (ModelData_Shape &theShape)
 

Additional Inherited Members

- Protected Member Functions inherited from cadex::ModelData_Shape
 ModelData_Shape (const TopoDS_Shape &theOther, bool)
 Constructor.
 
 ModelData_Shape (internal::ModelData_ShapeImpl *theImpl)
 Constructor.
 
- Protected Attributes inherited from cadex::ModelData_Shape
internal::Base_Handle myImpl
 Internal implementation object.
 

Detailed Description

Defines a connected set of faces.

The following image depicts an example of a shell:

shell_256.png
Shell

Direct children of shell are faces which must be connected with each other (i.e. have common edges) and consistently oriented (i.e. each common edge must be forward in one face and reversed in the other).

Although the data model can describe a non-manifold topology (i.e. a common edge shared by more than two faces), it is strongly not recommended to construct such.

Shell bounding a solid must be closed. A shell not belonging to a solid may have free edges (i.e. shared by one face only).

Examples:
brepmodeling/main.cxx.

Member Function Documentation

◆ Append()

bool cadex::ModelData_Shell::Append ( const ModelData_Face theFace)

Adds a face to the shell.

There is no requirement that theFace must be connected to faces already added to the shell. However all the faces in the shell must be connected and properly oriented after adding all faces.

Returns false if theFace is null and true otherwise.

Examples:
brepmodeling/main.cxx.