SHAPER  9.12.0
GeomAPI_Shape Class Reference

Interface to the topological shape object. More...

Inheritance diagram for GeomAPI_Shape:
Inheritance graph

Data Structures

class  Comparator
 Compare addresses of shapes. More...
 
class  ComparatorWithOri
 Compare addresses of shapes with respect to orientation of shapes. More...
 
class  Equal
 Compare addresses of shapes. More...
 
class  Hash
 Hash code for the shape. More...
 

Public Types

enum  ShapeType {
  COMPOUND , COMPSOLID , SOLID , SHELL ,
  FACE , WIRE , EDGE , VERTEX ,
  SHAPE
}
 Shape type enum. More...
 
enum  Orientation { FORWARD , REVERSED , INTERNAL , EXTERNAL }
 Shape orientation. More...
 

Public Member Functions

GEOMAPI_EXPORT GeomAPI_Shape ()
 Creation of empty (null) shape. More...
 
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_ShapeemptyCopied () const
 
GEOMAPI_EXPORT bool isNull () const
 Returns true if the underlied shape is null. More...
 
virtual GEOMAPI_EXPORT bool isEqual (const std::shared_ptr< GeomAPI_Shape > theShape) const
 Returns whether the shapes are equal. More...
 
virtual GEOMAPI_EXPORT bool isSame (const std::shared_ptr< GeomAPI_Shape > theShape) const
 Returns whether the shapes are same. More...
 
virtual GEOMAPI_EXPORT bool isSameGeometry (const std::shared_ptr< GeomAPI_Shape > theShape) const
 Returns true if shapes have same underlying geometry. More...
 
virtual GEOMAPI_EXPORT bool isVertex () const
 Returns whether the shape is a vertex. More...
 
virtual GEOMAPI_EXPORT bool isEdge () const
 Returns whether the shape is an edge. More...
 
virtual GEOMAPI_EXPORT bool isWire () const
 Returns whether the shape is a wire. More...
 
virtual GEOMAPI_EXPORT bool isFace () const
 Returns whether the shape is a face. More...
 
virtual GEOMAPI_EXPORT bool isShell () const
 Returns whether the shape is a shell. More...
 
virtual GEOMAPI_EXPORT bool isCompound () const
 Returns whether the shape is a compound. More...
 
virtual GEOMAPI_EXPORT bool isCompoundOfSolids () const
 Returns whether the shape is a compound of solids. More...
 
virtual GEOMAPI_EXPORT bool isCollectionOfSolids () const
 Returns true, if the shape contains only solids, compsolids and compounds of solids and compsolids of any nesting depth. More...
 
virtual GEOMAPI_EXPORT bool isConnectedTopology () const
 Returns whether the shape is a compound where all elements are topologically connected. More...
 
virtual GEOMAPI_EXPORT bool isSolid () const
 Returns whether the shape is a solid. More...
 
virtual GEOMAPI_EXPORT bool isCompSolid () const
 Returns whether the shape is a compsolid. More...
 
virtual GEOMAPI_EXPORT bool isPlanar () const
 Returns whether the shape is planar. More...
 
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Vertexvertex () const
 Returns vertex or empty shape. More...
 
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Edgeedge () const
 Returns edge or empty shape. More...
 
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Wirewire () const
 Returns wire or empty shape. More...
 
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Faceface () const
 Returns face or empty shape. More...
 
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Shellshell () const
 Returns shell or empty shape. More...
 
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Solidsolid () const
 Returns solid or empty shape. More...
 
GEOMAPI_EXPORT std::list< std::shared_ptr< GeomAPI_Shape > > subShapes (const ShapeType theSubShapeType, const bool theOnlyUnique=false) const
 Returns list of sub-shapes of the given type. More...
 
virtual GEOMAPI_EXPORT ShapeType shapeType () const
 Returns the shape type. More...
 
virtual GEOMAPI_EXPORT std::string shapeTypeStr () const
 
virtual GEOMAPI_EXPORT Orientation orientation () const
 
virtual GEOMAPI_EXPORT void setOrientation (const Orientation theOrientation)
 Sets the shape orientation. More...
 
virtual GEOMAPI_EXPORT void reverse ()
 Reverse shape. More...
 
virtual GEOMAPI_EXPORT bool isSubShape (const std::shared_ptr< GeomAPI_Shape > theShape, const bool theCheckOrientation=true) const
 
GEOMAPI_EXPORT bool computeSize (double &theXmin, double &theYmin, double &theZmin, double &theXmax, double &theYmax, double &theZmax) const
 Computes boundary dimensions of the shape Returns False if it is not possible. More...
 
virtual GEOMAPI_EXPORT std::shared_ptr< GeomAPI_PntmiddlePoint () const
 Return middle point on the shape. More...
 
GEOMAPI_EXPORT std::string getShapeStream (const bool theWithTriangulation=true) const
 Returns the shape as BRep stream. More...
 
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Shapeintersect (const std::shared_ptr< GeomAPI_Shape > theShape) const
 Returns intersection of shapes. More...
 
GEOMAPI_EXPORT bool isIntersect (const std::shared_ptr< GeomAPI_Shape > theShape) const
 Returns true if min distance between shapes < tolerance. More...
 
GEOMAPI_EXPORT void translate (const std::shared_ptr< GeomAPI_Dir > theDir, const double theOffset)
 Translates the shape along the direction for the given offset. More...
 
GEOMAPI_EXPORT void move (const std::shared_ptr< GeomAPI_Trsf > theTransformation)
 Moves the shape with the given transformation matrix. More...
 
GEOMAPI_EXPORT ShapeType typeOfCompoundShapes () const
 Returns type of shapes in the compound. More...
 
GEOMAPI_EXPORT bool isSelfIntersected (const int theLevelOfCheck=9) const
 Returns true if shape have self-intersections. More...
 
template<class T >
T * implPtr ()
 Returns the pointer to the impl. More...
 
template<class T >
const T * implPtr () const
 Returns the pointer to the impl. More...
 
template<class T >
const T & impl () const
 Returns the reference object of the impl. More...
 
template<class T >
void setImpl (T *theImpl)
 Updates the impl (deletes the old one) More...
 
GEOMAPI_EXPORT bool empty () const
 Returns true if the impl is empty. More...
 

Static Public Member Functions

static GEOMAPI_EXPORT ShapeType shapeTypeByStr (std::string theType)
 Returns the type enumeration by the string-type. More...
 

Detailed Description

Interface to the topological shape object.

Member Enumeration Documentation

◆ ShapeType

Shape type enum.

◆ Orientation

Shape orientation.

Constructor & Destructor Documentation

◆ GeomAPI_Shape()

GeomAPI_Shape::GeomAPI_Shape ( )

Creation of empty (null) shape.

Member Function Documentation

◆ emptyCopied()

std::shared_ptr< GeomAPI_Shape > GeomAPI_Shape::emptyCopied ( ) const
Returns
a new Shape with the same Orientation and Location and a new TShape with the same geometry and no sub-shapes.

◆ isNull()

bool GeomAPI_Shape::isNull ( ) const

Returns true if the underlied shape is null.

◆ isEqual()

bool GeomAPI_Shape::isEqual ( const std::shared_ptr< GeomAPI_Shape theShape) const
virtual

Returns whether the shapes are equal.

Reimplemented in GeomAPI_Vertex, GeomAPI_PlanarEdges, GeomAPI_Face, and GeomAPI_Edge.

◆ isSame()

bool GeomAPI_Shape::isSame ( const std::shared_ptr< GeomAPI_Shape theShape) const
virtual

Returns whether the shapes are same.

◆ isSameGeometry()

bool GeomAPI_Shape::isSameGeometry ( const std::shared_ptr< GeomAPI_Shape theShape) const
virtual

Returns true if shapes have same underlying geometry.

Reimplemented in GeomAPI_Face, and GeomAPI_Edge.

◆ isVertex()

bool GeomAPI_Shape::isVertex ( ) const
virtual

Returns whether the shape is a vertex.

Reimplemented in GeomAPI_PlanarEdges.

◆ isEdge()

bool GeomAPI_Shape::isEdge ( ) const
virtual

Returns whether the shape is an edge.

Reimplemented in GeomAPI_PlanarEdges.

◆ isWire()

bool GeomAPI_Shape::isWire ( ) const
virtual

Returns whether the shape is a wire.

◆ isFace()

bool GeomAPI_Shape::isFace ( ) const
virtual

Returns whether the shape is a face.

◆ isShell()

bool GeomAPI_Shape::isShell ( ) const
virtual

Returns whether the shape is a shell.

◆ isCompound()

bool GeomAPI_Shape::isCompound ( ) const
virtual

Returns whether the shape is a compound.

◆ isCompoundOfSolids()

bool GeomAPI_Shape::isCompoundOfSolids ( ) const
virtual

Returns whether the shape is a compound of solids.

◆ isCollectionOfSolids()

bool GeomAPI_Shape::isCollectionOfSolids ( ) const
virtual

Returns true, if the shape contains only solids, compsolids and compounds of solids and compsolids of any nesting depth.

◆ isConnectedTopology()

bool GeomAPI_Shape::isConnectedTopology ( ) const
virtual

Returns whether the shape is a compound where all elements are topologically connected.

◆ isSolid()

bool GeomAPI_Shape::isSolid ( ) const
virtual

Returns whether the shape is a solid.

◆ isCompSolid()

bool GeomAPI_Shape::isCompSolid ( ) const
virtual

Returns whether the shape is a compsolid.

◆ isPlanar()

bool GeomAPI_Shape::isPlanar ( ) const
virtual

Returns whether the shape is planar.

Reimplemented in GeomAPI_PlanarEdges.

◆ vertex()

std::shared_ptr< GeomAPI_Vertex > GeomAPI_Shape::vertex ( ) const

Returns vertex or empty shape.

◆ edge()

std::shared_ptr< GeomAPI_Edge > GeomAPI_Shape::edge ( ) const

Returns edge or empty shape.

◆ wire()

std::shared_ptr< GeomAPI_Wire > GeomAPI_Shape::wire ( ) const

Returns wire or empty shape.

◆ face()

std::shared_ptr< GeomAPI_Face > GeomAPI_Shape::face ( ) const

Returns face or empty shape.

◆ shell()

std::shared_ptr< GeomAPI_Shell > GeomAPI_Shape::shell ( ) const

Returns shell or empty shape.

◆ solid()

std::shared_ptr< GeomAPI_Solid > GeomAPI_Shape::solid ( ) const

Returns solid or empty shape.

◆ subShapes()

std::list< std::shared_ptr< GeomAPI_Shape > > GeomAPI_Shape::subShapes ( const ShapeType  theSubShapeType,
const bool  theOnlyUnique = false 
) const

Returns list of sub-shapes of the given type.

Parameters
theSubShapeTypetype of sub-shapes to search.
theOnlyUniqueset it to true to omit subsequent inclusions of the same sub-shape. By default it is false.

◆ shapeType()

GeomAPI_Shape::ShapeType GeomAPI_Shape::shapeType ( ) const
virtual

Returns the shape type.

◆ shapeTypeByStr()

GeomAPI_Shape::ShapeType GeomAPI_Shape::shapeTypeByStr ( std::string  theType)
static

Returns the type enumeration by the string-type.

◆ shapeTypeStr()

std::string GeomAPI_Shape::shapeTypeStr ( ) const
virtual
Returns
the shape type as string.

◆ orientation()

GeomAPI_Shape::Orientation GeomAPI_Shape::orientation ( ) const
virtual
Returns
the shape orientation.

◆ setOrientation()

void GeomAPI_Shape::setOrientation ( const Orientation  theOrientation)
virtual

Sets the shape orientation.

◆ reverse()

void GeomAPI_Shape::reverse ( )
virtual

Reverse shape.

◆ isSubShape()

bool GeomAPI_Shape::isSubShape ( const std::shared_ptr< GeomAPI_Shape theShape,
const bool  theCheckOrientation = true 
) const
virtual
Returns
true if passed shape is a sub-shape of this shape.
Parameters
theShapeshape to search.
theCheckOrientationif false, returns true even if orientation of shape differs

◆ computeSize()

bool GeomAPI_Shape::computeSize ( double &  theXmin,
double &  theYmin,
double &  theZmin,
double &  theXmax,
double &  theYmax,
double &  theZmax 
) const

Computes boundary dimensions of the shape Returns False if it is not possible.

◆ middlePoint()

GeomPointPtr GeomAPI_Shape::middlePoint ( ) const
virtual

Return middle point on the shape.

Reimplemented in GeomAPI_Wire, GeomAPI_Solid, GeomAPI_Shell, GeomAPI_Face, and GeomAPI_Edge.

◆ getShapeStream()

std::string GeomAPI_Shape::getShapeStream ( const bool  theWithTriangulation = true) const

Returns the shape as BRep stream.

◆ intersect()

GeomShapePtr GeomAPI_Shape::intersect ( const std::shared_ptr< GeomAPI_Shape theShape) const

Returns intersection of shapes.

◆ isIntersect()

bool GeomAPI_Shape::isIntersect ( const std::shared_ptr< GeomAPI_Shape theShape) const

Returns true if min distance between shapes < tolerance.

◆ translate()

void GeomAPI_Shape::translate ( const std::shared_ptr< GeomAPI_Dir theDir,
const double  theOffset 
)

Translates the shape along the direction for the given offset.

◆ move()

void GeomAPI_Shape::move ( const std::shared_ptr< GeomAPI_Trsf theTransformation)

Moves the shape with the given transformation matrix.

◆ typeOfCompoundShapes()

GeomAPI_Shape::ShapeType GeomAPI_Shape::typeOfCompoundShapes ( ) const

Returns type of shapes in the compound.

◆ isSelfIntersected()

bool GeomAPI_Shape::isSelfIntersected ( const int  theLevelOfCheck = 9) const

Returns true if shape have self-intersections.

Parameters
[in]theLevelOfCheckdefines which interferences will be checked:
0 - only V/V;
1 - V/V and V/E;
2 - V/V, V/E and E/E;
3 - V/V, V/E, E/E and V/F;
4 - V/V, V/E, E/E, V/F and E/F;
5 - V/V, V/E, E/E, V/F, E/F and F/F;
6 - V/V, V/E, E/E, V/F, E/F, F/F and V/S;
7 - V/V, V/E, E/E, V/F, E/F, F/F, V/S and E/S;
8 - V/V, V/E, E/E, V/F, E/F, F/F, V/S, E/S and F/S;
9 - V/V, V/E, E/E, V/F, E/F, F/F, V/S, E/S, F/S and S/S - all interferences (Default value)

◆ implPtr() [1/2]

template<class T >
T* GeomAPI_Interface::implPtr ( )
inlineinherited

Returns the pointer to the impl.

◆ implPtr() [2/2]

template<class T >
const T* GeomAPI_Interface::implPtr ( ) const
inlineinherited

Returns the pointer to the impl.

◆ impl()

template<class T >
const T& GeomAPI_Interface::impl ( ) const
inlineinherited

Returns the reference object of the impl.

◆ setImpl()

template<class T >
void GeomAPI_Interface::setImpl ( T *  theImpl)
inlineinherited

Updates the impl (deletes the old one)

◆ empty()

bool GeomAPI_Interface::empty ( ) const
inherited

Returns true if the impl is empty.