Defines a topological solid. More...
#include <cadex/ModelData/Solid.hxx>
Public Member Functions | |
Solid (const Shell &theShell) | |
Constructor. | |
bool | Append (const Shell &theShell) |
Adds a shell to the solid. | |
bool | Append (const std::vector< Shell > &theShells) |
Adds a shells to the solid. | |
![]() | |
ShapeType | Type () const |
Returns a shape type. For a null object returns Undefined. | |
ShapeOrientation | Orientation () const |
Returns orientation flag. | |
Shape | Reversed () const |
Returns a shape that shares the same geometry and subshape graph but has opposite orientation. | |
Shape | Oriented (ShapeOrientation theOrientation) const |
Returns a shape that shares the same geometry and subshape graph and has specified orientation. | |
bool | IsEqual (const Shape &theOther) const |
Returns true if the shape shares the same geometry and subshape graph, and has equal orientation. | |
bool | IsSame (const Shape &theOther) const |
Returns true if the shape shares the same geometry and subshape graph. | |
void | SetName (const UTF16String &theName) |
UTF16String | Name () const |
![]() | |
size_t | Id () const |
Return unique identifier of public object. | |
internal::BaseObjectImpl * | Impl () const |
bool | IsNull () const |
operator bool () const | |
template<typename T > | |
bool | IsOfType () const |
template<typename T > | |
T * | Impl () const |
Reserved for internal use. | |
Static Public Member Functions | |
static const Solid & | Cast (const Shape &theShape) |
static Solid & | Cast (Shape &theShape) |
static bool | CompareType (const BaseObject &theObject) |
Check the type of object. Returns true if the specified object is this class type. | |
![]() | |
static bool | CompareType (const BaseObject &theObject) |
Check the type of object. Returns true if the specified object is this class type. | |
Additional Inherited Members | |
![]() | |
typedef std::shared_ptr< internal::BaseObjectImpl > | ImplType |
![]() | |
Shape (const ImplType &theImpl) | |
![]() | |
BaseObject (const ImplType &theImpl) | |
Defines a topological solid.
The following image depicts an example of a solid:
As a rule, a solid has a single external shell. Solids with voids (i.e. multiple shells) are also supported.
Shells must be oriented so that the solid corresponds to a finite volume in 3D space.
bool cadex::ModelData::Solid::Append | ( | const Shell & | theShell | ) |
Adds a shell to the solid.
There must be single outer (external) shell and zero, one or more inner shells (i.e. voids). It is strongly recommended (although not required) that the first shell being added is an outer shell. Solids with voids may have limited support in CAD Exchanger and other systems.
Returns false if theShell is null and true otherwise.
bool cadex::ModelData::Solid::Append | ( | const std::vector< Shell > & | theShells | ) |
Adds a shells to the solid.
There must be single outer (external) shell and zero, one or more inner shells (i.e. voids). It is strongly recommended (although not required) that the first shell being added is an outer shell. Solids with voids may have limited support in CAD Exchanger and other systems.
Returns false if one of theShells is null and true otherwise.