OpenLexocad  27.1
Topo::Shape Class Referenceabstract

#include <Shape.h>

Inheritance diagram for Topo::Shape:
Topo::TopologicalItem Base::BaseClass Topo::Compound Topo::LazyFacetedBrepShape Topo::MeshShape Topo::Solid

Public Types

enum  CheckShape { CheckShapeIsValidAndThrowException, CheckShapeIsValid, Unchecked }
 
- Public Types inherited from Topo::TopologicalItem
enum  MesherType { MesherType::Default_Mesher, MesherType::Acis_Mesher, MesherType::Compound_Mesher }
 
enum  ModellingKernel {
  ModellingKernel::OCC, ModellingKernel::ACIS, ModellingKernel::CARVE, ModellingKernel::MIXED,
  ModellingKernel::UNKNOWN
}
 

Public Member Functions

 Shape (void)
 
 Shape (pConstShape rhs)
 
virtual ~Shape (void)
 
virtual void transform (const Geom::Trsf &t)
 
virtual Geom::Trsf getTransform () const
 
virtual Topo::ShapeType getShapeType () const =0
 
 operator Core::Variant () const
 Variant operator. More...
 
virtual pConstTopologicalItem getOwner () const
 Returns top-level owner. Returns this if item is top-level. More...
 
bool hasShapeAttributes () const
 Checks if this shape has ShapeAttributes. More...
 
Topo::ShapeAttributesgetShapeAttributes () const
 Returns the ShapeAttributes of this shape. More...
 
void addShapeAttributes (Topo::ShapeAttributes *atts)
 Adds ShapeAttributes to this shape. If shape already had some attributes they are released. More...
 
void releaseShapesAttributes ()
 Deletes the ShapeAttributes associated with this shape. More...
 
virtual Geom::Bnd_Box getBoundingBox () const =0
 Get BoundingBox. More...
 
virtual void setIndexMesh (pIndexedMesh m)
 
virtual pIndexedMesh getIndexedMesh () const
 
virtual bool createIndexedMesh (pIndexedMesh m) const
 
virtual void setIndexedDrawable (pIndexedDrawable)
 
virtual pIndexedDrawable getIndexedDrawable () const
 
virtual std::shared_ptr< Core::DbgInfogetDbgInfo () const
 
virtual Topo::Shapeclone (bool deepcopy) const =0
 
virtual bool getGeometricInformation (Topo::GeometricInformation &) const
 
virtual bool wasCreatedWithProblems () const
 
virtual void setWasCreatedWithProblems (bool)
 
- Public Member Functions inherited from Topo::TopologicalItem
 TopologicalItem ()
 
virtual ~TopologicalItem (void)
 
virtual Topo::TopologicalItem::MesherType getMesherType () const =0
 
virtual Topo::TopologicalItem::ModellingKernel getModellingKernel () const =0
 
virtual Topo::ShapeToolgetShapeTool () const =0
 
virtual ENTITY * getEntity () const
 
- Public Member Functions inherited from Base::BaseClass
virtual Type getTypeId (void) const
 
template<typename T >
bool isDerivedFrom () const
 
bool isDerivedFrom (const Type type) const
 
 BaseClass ()
 Construction. More...
 
virtual ~BaseClass ()
 Destruction. More...
 

Public Attributes

std::set< Core::DocObject * > m_appGeometryBackLinks
 
- Public Attributes inherited from Base::BaseClass
long ____deadVal = 0xBADEAFFE
 

Protected Member Functions

 Shape (ENTITY *ent)
 
virtual void copyFrom (pConstShape rhs, bool deepCopy=true)=0
 
virtual bool isSingleFace () const
 
virtual bool isSingleWire () const
 
virtual bool isSingleEdge () const
 
virtual bool isSingleVertex () const
 
virtual bool isSolid () const
 
virtual bool isClosedSolid () const
 
virtual bool isWire () const
 
virtual bool isCompound () const
 
virtual bool isMesh () const
 
bool _copy (const Topo::Shape *rhs, bool deepCopy=true)
 
- Protected Member Functions inherited from Topo::TopologicalItem
 TopologicalItem (ENTITY *)
 

Friends

class ShapeTool
 
class FaceTool
 

Additional Inherited Members

- Static Public Member Functions inherited from Base::BaseClass
static Type getClassTypeId (void)
 
static void init (void)
 
static void * create (void)
 
static void setIfcNameAndID (const std::string &n, int id)
 
- Static Protected Member Functions inherited from Base::BaseClass
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=0)
 
static void initIfcTypes (const std::string &s, Base::Type classTypeId, int id)
 
- Protected Attributes inherited from Topo::TopologicalItem
pConstTopologicalItem source
 

Member Enumeration Documentation

◆ CheckShape

Enumerator
CheckShapeIsValidAndThrowException 
CheckShapeIsValid 
Unchecked 

Constructor & Destructor Documentation

◆ Shape() [1/3]

Topo::Shape::Shape ( void  )

◆ Shape() [2/3]

Topo::Shape::Shape ( pConstShape  rhs)

◆ ~Shape()

virtual Topo::Shape::~Shape ( void  )
virtual

◆ Shape() [3/3]

Topo::Shape::Shape ( ENTITY *  ent)
protected

Member Function Documentation

◆ _copy()

bool Topo::Shape::_copy ( const Topo::Shape rhs,
bool  deepCopy = true 
)
protected

◆ addShapeAttributes()

void Topo::Shape::addShapeAttributes ( Topo::ShapeAttributes atts)

Adds ShapeAttributes to this shape. If shape already had some attributes they are released.

◆ clone()

virtual Topo::Shape* Topo::Shape::clone ( bool  deepcopy) const
pure virtual

◆ copyFrom()

virtual void Topo::Shape::copyFrom ( pConstShape  rhs,
bool  deepCopy = true 
)
protectedpure virtual

◆ createIndexedMesh()

virtual bool Topo::Shape::createIndexedMesh ( pIndexedMesh  m) const
virtual

◆ getBoundingBox()

virtual Geom::Bnd_Box Topo::Shape::getBoundingBox ( ) const
pure virtual

Get BoundingBox.

Implemented in Topo::MeshShape.

◆ getDbgInfo()

virtual std::shared_ptr<Core::DbgInfo> Topo::Shape::getDbgInfo ( ) const
virtual

◆ getGeometricInformation()

virtual bool Topo::Shape::getGeometricInformation ( Topo::GeometricInformation ) const
inlinevirtual

Implements Topo::TopologicalItem.

Reimplemented in Topo::Solid, Topo::Compound, and Topo::MeshShape.

◆ getIndexedDrawable()

virtual pIndexedDrawable Topo::Shape::getIndexedDrawable ( ) const
virtual

◆ getIndexedMesh()

virtual pIndexedMesh Topo::Shape::getIndexedMesh ( ) const
virtual

◆ getOwner()

virtual pConstTopologicalItem Topo::Shape::getOwner ( ) const
virtual

Returns top-level owner. Returns this if item is top-level.

Implements Topo::TopologicalItem.

◆ getShapeAttributes()

Topo::ShapeAttributes* Topo::Shape::getShapeAttributes ( ) const

Returns the ShapeAttributes of this shape.

◆ getShapeType()

virtual Topo::ShapeType Topo::Shape::getShapeType ( ) const
pure virtual

◆ getTransform()

virtual Geom::Trsf Topo::Shape::getTransform ( ) const
virtual

◆ hasShapeAttributes()

bool Topo::Shape::hasShapeAttributes ( ) const

Checks if this shape has ShapeAttributes.

◆ isClosedSolid()

virtual bool Topo::Shape::isClosedSolid ( ) const
protectedvirtual

◆ isCompound()

virtual bool Topo::Shape::isCompound ( ) const
protectedvirtual

◆ isMesh()

virtual bool Topo::Shape::isMesh ( ) const
inlineprotectedvirtual

◆ isSingleEdge()

virtual bool Topo::Shape::isSingleEdge ( ) const
protectedvirtual

◆ isSingleFace()

virtual bool Topo::Shape::isSingleFace ( ) const
protectedvirtual

◆ isSingleVertex()

virtual bool Topo::Shape::isSingleVertex ( ) const
protectedvirtual

◆ isSingleWire()

virtual bool Topo::Shape::isSingleWire ( ) const
protectedvirtual

◆ isSolid()

virtual bool Topo::Shape::isSolid ( ) const
protectedvirtual

◆ isWire()

virtual bool Topo::Shape::isWire ( ) const
protectedvirtual

◆ operator Core::Variant()

Topo::Shape::operator Core::Variant ( ) const

Variant operator.

◆ releaseShapesAttributes()

void Topo::Shape::releaseShapesAttributes ( )

Deletes the ShapeAttributes associated with this shape.

◆ setIndexedDrawable()

virtual void Topo::Shape::setIndexedDrawable ( pIndexedDrawable  )
virtual

◆ setIndexMesh()

virtual void Topo::Shape::setIndexMesh ( pIndexedMesh  m)
virtual

◆ setWasCreatedWithProblems()

virtual void Topo::Shape::setWasCreatedWithProblems ( bool  )
inlinevirtual

◆ transform()

virtual void Topo::Shape::transform ( const Geom::Trsf t)
virtual

Reimplemented in Topo::Compound.

◆ wasCreatedWithProblems()

virtual bool Topo::Shape::wasCreatedWithProblems ( ) const
inlinevirtual

Friends And Related Function Documentation

◆ FaceTool

friend class FaceTool
friend

◆ ShapeTool

friend class ShapeTool
friend

Member Data Documentation

◆ m_appGeometryBackLinks

std::set<Core::DocObject*> Topo::Shape::m_appGeometryBackLinks
mutable

The documentation for this class was generated from the following file: