OpenLexocad  27.1
Shape.h File Reference
#include <Base/Base.h>
#include <Base/Enums.h>
#include <Core/DbgInfo.h>
#include <Core/Settings.h>
#include <Core/Variant.h>
#include <Geom/Bnd_Box.h>
#include <Geom/Dir.h>
#include <Geom/IndexedMesh.h>
#include <Geom/Pnt.h>
#include <Geom/Trsf.h>
#include <memory>
#include <vector>

Go to the source code of this file.

Classes

class  Topo::ShapeTessellationQuality
 
class  Topo::ShapeFactory
 
class  Topo::TopologicalItem
 
class  Topo::Shape
 
class  Topo::LazyFacetedBrepShape
 
class  Topo::FacetedShape
 
class  Topo::MeshShape
 
class  Topo::Compound
 
class  Topo::Solid
 
class  Topo::Shell
 
class  Topo::Face
 
class  Topo::Wire
 
class  Topo::Edge
 
class  Topo::Coedge
 
class  Topo::Vertex
 
class  Topo::ShapeVariantHandler
 
class  Topo::ConstShapeVariantHandler
 
class  Topo::ToolOutcome
 
class  Topo::SpecialFaceInfo
 
class  Topo::SpecialFaceInfo_Cylinder
 
class  Topo::SpecialFaceInfo_Cone
 
class  Topo::IndexedFace
 
class  Topo::IndexedEdge
 
class  Topo::IndexedDrawable
 

Namespaces

 Core
 
 Topo
 

Macros

#define REGISTER_SHAPE_FACTORY(_factoryName_, _shapeFormat_)   Topo::ShapeFactory::registry[_shapeFormat_] = (Topo::ShapeFactory*)new _factoryName_();
 

Typedefs

typedef std::shared_ptr< Base::BaseClasspBaseClass
 
typedef std::shared_ptr< Topo::TopologicalItempTopologicalItem
 
typedef std::shared_ptr< Topo::ShapepShape
 
typedef std::shared_ptr< Topo::LazyFacetedBrepShapepLazyFacetedBrepShape
 
typedef std::shared_ptr< Topo::MeshShapepMesh
 
typedef std::shared_ptr< Topo::CompoundpCompound
 
typedef std::shared_ptr< Topo::SolidpSolid
 
typedef std::shared_ptr< Topo::ShellpShell
 
typedef std::shared_ptr< Topo::FacepFace
 
typedef std::shared_ptr< Topo::WirepWire
 
typedef std::shared_ptr< Topo::EdgepEdge
 
typedef std::shared_ptr< Topo::CoedgepCoedge
 
typedef std::shared_ptr< Topo::VertexpVertex
 
typedef std::shared_ptr< Topo::IndexedDrawablepIndexedDrawable
 
typedef std::shared_ptr< Base::BaseClass const > pConstBaseClass
 
typedef std::shared_ptr< Topo::TopologicalItem const > pConstTopologicalItem
 
typedef std::shared_ptr< Topo::Shape const > pConstShape
 
typedef std::shared_ptr< Topo::LazyFacetedBrepShape const > pConstLazyFacetedBrepShape
 
typedef std::shared_ptr< Topo::MeshShape const > pConstMesh
 
typedef std::shared_ptr< Topo::Compound const > pConstCompound
 
typedef std::shared_ptr< Topo::Solid const > pConstSolid
 
typedef std::shared_ptr< Topo::Shell const > pConstShell
 
typedef std::shared_ptr< Topo::Face const > pConstFace
 
typedef std::shared_ptr< Topo::Wire const > pConstWire
 
typedef std::shared_ptr< Topo::Edge const > pConstEdge
 
typedef std::shared_ptr< Topo::Coedge const > pConstCoedge
 
typedef std::shared_ptr< Topo::Vertex const > pConstVertex
 
typedef std::unique_ptr< Base::BaseClassuniqueBaseClass
 
typedef std::unique_ptr< Topo::TopologicalItemuniqueTopologicalItem
 
typedef std::unique_ptr< Topo::ShapeuniqueShape
 
typedef std::unique_ptr< Topo::MeshShapeuniqueMesh
 
typedef std::unique_ptr< Topo::CompounduniqueCompound
 
typedef std::unique_ptr< Topo::ShapeSet > uniqueShapeSet
 
typedef std::unique_ptr< Topo::SoliduniqueSolid
 
typedef std::unique_ptr< Topo::ShelluniqueShell
 
typedef std::unique_ptr< Topo::FaceuniqueFace
 
typedef std::unique_ptr< Topo::WireuniqueWire
 
typedef std::unique_ptr< Topo::EdgeuniqueEdge
 
typedef std::unique_ptr< Topo::CoedgeuniqueCoedge
 
typedef std::unique_ptr< Topo::VertexuniqueVertex
 
typedef std::unique_ptr< Topo::FacetedShapeuniqueFacetedShape
 

Enumerations

enum  Topo::ShapeType {
  Topo::ShapeType::MESH, Topo::ShapeType::COMPOUND, Topo::ShapeType::COMPSOLID, Topo::ShapeType::NCOMPOUND,
  Topo::ShapeType::SOLID, Topo::ShapeType::SHELL, Topo::ShapeType::FACE, Topo::ShapeType::WIRE,
  Topo::ShapeType::EDGE, Topo::ShapeType::VERTEX, Topo::ShapeType::SHAPE, Topo::ShapeType::UNDEFINED
}
 
enum  Topo::OrientationType {
  Topo::OrientationType::UNDEFINED, Topo::OrientationType::FORWARD, Topo::OrientationType::REVERSED, Topo::OrientationType::INTERNAL,
  Topo::OrientationType::EXTERNAL
}
 

Macro Definition Documentation

◆ REGISTER_SHAPE_FACTORY

#define REGISTER_SHAPE_FACTORY (   _factoryName_,
  _shapeFormat_ 
)    Topo::ShapeFactory::registry[_shapeFormat_] = (Topo::ShapeFactory*)new _factoryName_();

Typedef Documentation

◆ pBaseClass

typedef std::shared_ptr<Base::BaseClass> pBaseClass

◆ pCoedge

typedef std::shared_ptr<Topo::Coedge> pCoedge

◆ pCompound

typedef std::shared_ptr<Topo::Compound> pCompound

◆ pConstBaseClass

typedef std::shared_ptr<Base::BaseClass const> pConstBaseClass

◆ pConstCoedge

typedef std::shared_ptr<Topo::Coedge const> pConstCoedge

◆ pConstCompound

typedef std::shared_ptr<Topo::Compound const> pConstCompound

◆ pConstEdge

typedef std::shared_ptr<Topo::Edge const> pConstEdge

◆ pConstFace

typedef std::shared_ptr<Topo::Face const> pConstFace

◆ pConstLazyFacetedBrepShape

◆ pConstMesh

typedef std::shared_ptr<Topo::MeshShape const> pConstMesh

◆ pConstShape

typedef std::shared_ptr<Topo::Shape const> pConstShape

◆ pConstShell

typedef std::shared_ptr<Topo::Shell const> pConstShell

◆ pConstSolid

typedef std::shared_ptr<Topo::Solid const> pConstSolid

◆ pConstTopologicalItem

typedef std::shared_ptr<Topo::TopologicalItem const> pConstTopologicalItem

◆ pConstVertex

typedef std::shared_ptr<Topo::Vertex const> pConstVertex

◆ pConstWire

typedef std::shared_ptr<Topo::Wire const> pConstWire

◆ pEdge

typedef std::shared_ptr<Topo::Edge> pEdge

◆ pFace

typedef std::shared_ptr<Topo::Face> pFace

◆ pIndexedDrawable

typedef std::shared_ptr<Topo::IndexedDrawable> pIndexedDrawable

◆ pLazyFacetedBrepShape

◆ pMesh

typedef std::shared_ptr<Topo::MeshShape> pMesh

◆ pShape

typedef std::shared_ptr<Topo::Shape> pShape

◆ pShell

typedef std::shared_ptr<Topo::Shell> pShell

◆ pSolid

typedef std::shared_ptr<Topo::Solid> pSolid

◆ pTopologicalItem

typedef std::shared_ptr<Topo::TopologicalItem> pTopologicalItem

◆ pVertex

typedef std::shared_ptr<Topo::Vertex> pVertex

◆ pWire

typedef std::shared_ptr<Topo::Wire> pWire

◆ uniqueBaseClass

typedef std::unique_ptr<Base::BaseClass> uniqueBaseClass

◆ uniqueCoedge

typedef std::unique_ptr<Topo::Coedge> uniqueCoedge

◆ uniqueCompound

typedef std::unique_ptr<Topo::Compound> uniqueCompound

◆ uniqueEdge

typedef std::unique_ptr<Topo::Edge> uniqueEdge

◆ uniqueFace

typedef std::unique_ptr<Topo::Face> uniqueFace

◆ uniqueFacetedShape

typedef std::unique_ptr<Topo::FacetedShape> uniqueFacetedShape

◆ uniqueMesh

typedef std::unique_ptr<Topo::MeshShape> uniqueMesh

◆ uniqueShape

typedef std::unique_ptr<Topo::Shape> uniqueShape

◆ uniqueShapeSet

typedef std::unique_ptr<Topo::ShapeSet> uniqueShapeSet

◆ uniqueShell

typedef std::unique_ptr<Topo::Shell> uniqueShell

◆ uniqueSolid

typedef std::unique_ptr<Topo::Solid> uniqueSolid

◆ uniqueTopologicalItem

typedef std::unique_ptr<Topo::TopologicalItem> uniqueTopologicalItem

◆ uniqueVertex

typedef std::unique_ptr<Topo::Vertex> uniqueVertex

◆ uniqueWire

typedef std::unique_ptr<Topo::Wire> uniqueWire