OpenLexocad  28.0
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  ModelingKernel {
  ModelingKernel::OCC, ModelingKernel::ACIS, ModelingKernel::CARVE, ModelingKernel::MIXED,
  ModelingKernel::UNKNOWN
}
 

Public Member Functions

 Shape ()=default
 
 Shape (pConstShape rhs)
 
virtual ~Shape ()=default
 
bool getGeometricInformation (Topo::GeometricInformation &) const override
 
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...
 
pConstTopologicalItem getOwner () const override
 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 wasCreatedWithProblems () const
 
virtual void setWasCreatedWithProblems (bool)
 
- Public Member Functions inherited from Topo::TopologicalItem
 TopologicalItem ()=default
 
virtual ~TopologicalItem ()=default
 
virtual MesherType getMesherType () const =0
 
virtual ModelingKernel getModelingKernel () 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
 
void * operator new (size_t size)
 
void operator delete (void *p)
 
BaseClassoperator-> ()
 
BaseClassoperator-> () const
 
 BaseClass ()=default
 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 ( )
default

◆ Shape() [2/3]

Topo::Shape::Shape ( pConstShape  rhs)

◆ ~Shape()

virtual Topo::Shape::~Shape ( )
virtualdefault

◆ 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

Implemented in Topo::MeshShape.

◆ createIndexedMesh()

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

◆ getBoundingBox()

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

Get BoundingBox.

◆ getDbgInfo()

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

◆ getGeometricInformation()

bool Topo::Shape::getGeometricInformation ( Topo::GeometricInformation ) const
inlineoverridevirtual

Reimplemented from Topo::TopologicalItem.

◆ getIndexedDrawable()

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

◆ getIndexedMesh()

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

◆ getOwner()

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

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

◆ 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: