![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
This class manages the creation of an IGES Topologic entity (BREP : ManifoldSolid, Shell, Face) This includes definiting of Vertex and Edge Lists, building of Edges and Loops. More...
#include <IGESSolid_TopoBuilder.hxx>
Public Member Functions | |
| IGESSolid_TopoBuilder () | |
| Creates an empty TopoBuilder This creates also a unique VertexList and a unique EdgeList, empty, but which can be referenced from starting. | |
| void | Clear () |
| Resets the TopoBuilder for an entirely new operation (with a new EdgeList, a new VertexList, new Shells, ...) | |
| void | AddVertex (const gp_XYZ &val) |
| Adds a Vertex to the VertexList. | |
| int | NbVertices () const |
| Returns the count of already recorded Vertices. | |
| const gp_XYZ & | Vertex (const int num) const |
| Returns a Vertex, given its rank. | |
| occ::handle< IGESSolid_VertexList > | VertexList () const |
| Returns the VertexList. It can be referenced, but it remains empty until call to EndShell or EndSolid. | |
| void | AddEdge (const occ::handle< IGESData_IGESEntity > &curve, const int vstart, const int vend) |
| Adds an Edge (3D) to the EdgeList, defined by a Curve and two number of Vertex, for start and end. | |
| int | NbEdges () const |
| Returns the count of recorded Edges (3D) | |
| void | Edge (const int num, occ::handle< IGESData_IGESEntity > &curve, int &vstart, int &vend) const |
| Returns the definition of an Edge (3D) given its rank. | |
| occ::handle< IGESSolid_EdgeList > | EdgeList () const |
| Returns the EdgeList. It can be referenced, but it remains empty until call to EndShell or EndSolid. | |
| void | MakeLoop () |
| Begins the definition of a new Loop : it is the Current Loop All Edges (UV) defined by MakeEdge/EndEdge will be added in it The Loop can then be referenced but is empty. It will be filled with its Edges(UV) by EndLoop (from SetOuter/AddInner) | |
| void | MakeEdge (const int edgetype, const int edge3d, const int orientation) |
| Defines an Edge(UV), to be added in the current Loop by EndEdge <edgetype> gives the type of the edge <edge3d> identifies the Edge(3D) used as support The EdgeList is always the current one <orientation gives the orientation flag It is then necessary to : | |
| void | AddCurveUV (const occ::handle< IGESData_IGESEntity > &curve, const int iso) |
| Adds a Parametric Curve (UV) to the current Edge(UV) | |
| void | EndEdge () |
| Closes the definition of an Edge(UV) and adds it to the current Loop. | |
| void | MakeFace (const occ::handle< IGESData_IGESEntity > &surface) |
| Begins the definition of a new Face, on a surface All Loops defined by MakeLoop will be added in it, according the closing call : SetOuter for the Outer Loop (by default, if SetOuter is not called, no OuterLoop is defined); AddInner for the list of Inner Loops (there can be none) | |
| void | SetOuter () |
| Closes the current Loop and sets it Loop as Outer Loop. If no current Loop has yet been defined, does nothing. | |
| void | AddInner () |
| Closes the current Loop and adds it to the list of Inner Loops for the current Face. | |
| void | EndFace (const int orientation) |
| Closes the definition of the current Face, fills it and adds it to the current Shell with an orientation flag (0/1) | |
| void | MakeShell () |
| Begins the definition of a new Shell (either Simple or in a Solid) | |
| void | EndSimpleShell () |
| Closes the whole definition as that of a simple Shell. | |
| void | SetMainShell (const int orientation) |
| Closes the definition of the current Shell as for the Main Shell of a Solid, with an orientation flag (0/1) | |
| void | AddVoidShell (const int orientation) |
| Closes the definition of the current Shell and adds it to the list of Void Shells of a Solid, with an orientation flag (0/1) | |
| void | EndSolid () |
| Closes the whole definition as that of a ManifoldSolid Its call is exclusive from that of EndSimpleShell. | |
| occ::handle< IGESSolid_Shell > | Shell () const |
| Returns the current Shell. The current Shell is created empty by MakeShell and filled by EndShell. | |
| occ::handle< IGESSolid_ManifoldSolid > | Solid () const |
| Returns the current ManifoldSolid. It is created empty by Create and filled by EndSolid. | |
Protected Member Functions | |
| void | EndLists () |
| Closes the definition of Vertex and Edge Lists Warning : Called only by EndSimpleShell and EndSolid. | |
| void | EndLoop () |
| Closes the definition of a Loop and fills it Warning : EndLoop should not be called directly but through SetOuter or AddInner, which work on the current Face. | |
| void | EndShell () |
| Closes the definition of the current Shell Warning : EndShell should not be called directly but through EndSimpleShell (for a simple Shell), SetMainShell (for main Shell of a Solid) or AddVoidShell (to a Solid) | |
This class manages the creation of an IGES Topologic entity (BREP : ManifoldSolid, Shell, Face) This includes definiting of Vertex and Edge Lists, building of Edges and Loops.
| IGESSolid_TopoBuilder::IGESSolid_TopoBuilder | ( | ) |
Creates an empty TopoBuilder This creates also a unique VertexList and a unique EdgeList, empty, but which can be referenced from starting.
| void IGESSolid_TopoBuilder::AddCurveUV | ( | const occ::handle< IGESData_IGESEntity > & | curve, |
| const int | iso ) |
Adds a Parametric Curve (UV) to the current Edge(UV)
| void IGESSolid_TopoBuilder::AddEdge | ( | const occ::handle< IGESData_IGESEntity > & | curve, |
| const int | vstart, | ||
| const int | vend ) |
Adds an Edge (3D) to the EdgeList, defined by a Curve and two number of Vertex, for start and end.
| void IGESSolid_TopoBuilder::AddInner | ( | ) |
Closes the current Loop and adds it to the list of Inner Loops for the current Face.
Closes the definition of the current Shell and adds it to the list of Void Shells of a Solid, with an orientation flag (0/1)
| void IGESSolid_TopoBuilder::Clear | ( | ) |
Resets the TopoBuilder for an entirely new operation (with a new EdgeList, a new VertexList, new Shells, ...)
| void IGESSolid_TopoBuilder::Edge | ( | const int | num, |
| occ::handle< IGESData_IGESEntity > & | curve, | ||
| int & | vstart, | ||
| int & | vend ) const |
Returns the definition of an Edge (3D) given its rank.
| occ::handle< IGESSolid_EdgeList > IGESSolid_TopoBuilder::EdgeList | ( | ) | const |
Returns the EdgeList. It can be referenced, but it remains empty until call to EndShell or EndSolid.
| void IGESSolid_TopoBuilder::EndEdge | ( | ) |
Closes the definition of an Edge(UV) and adds it to the current Loop.
Closes the definition of the current Face, fills it and adds it to the current Shell with an orientation flag (0/1)
|
protected |
Closes the definition of Vertex and Edge Lists Warning : Called only by EndSimpleShell and EndSolid.
|
protected |
Closes the definition of a Loop and fills it Warning : EndLoop should not be called directly but through SetOuter or AddInner, which work on the current Face.
|
protected |
Closes the definition of the current Shell Warning : EndShell should not be called directly but through EndSimpleShell (for a simple Shell), SetMainShell (for main Shell of a Solid) or AddVoidShell (to a Solid)
| void IGESSolid_TopoBuilder::EndSimpleShell | ( | ) |
Closes the whole definition as that of a simple Shell.
| void IGESSolid_TopoBuilder::EndSolid | ( | ) |
Closes the whole definition as that of a ManifoldSolid Its call is exclusive from that of EndSimpleShell.
| void IGESSolid_TopoBuilder::MakeEdge | ( | const int | edgetype, |
| const int | edge3d, | ||
| const int | orientation ) |
Defines an Edge(UV), to be added in the current Loop by EndEdge <edgetype> gives the type of the edge <edge3d> identifies the Edge(3D) used as support The EdgeList is always the current one <orientation gives the orientation flag It is then necessary to :
| void IGESSolid_TopoBuilder::MakeFace | ( | const occ::handle< IGESData_IGESEntity > & | surface | ) |
Begins the definition of a new Face, on a surface All Loops defined by MakeLoop will be added in it, according the closing call : SetOuter for the Outer Loop (by default, if SetOuter is not called, no OuterLoop is defined); AddInner for the list of Inner Loops (there can be none)
| void IGESSolid_TopoBuilder::MakeLoop | ( | ) |
Begins the definition of a new Loop : it is the Current Loop All Edges (UV) defined by MakeEdge/EndEdge will be added in it The Loop can then be referenced but is empty. It will be filled with its Edges(UV) by EndLoop (from SetOuter/AddInner)
| void IGESSolid_TopoBuilder::MakeShell | ( | ) |
Begins the definition of a new Shell (either Simple or in a Solid)
| int IGESSolid_TopoBuilder::NbEdges | ( | ) | const |
Returns the count of recorded Edges (3D)
| int IGESSolid_TopoBuilder::NbVertices | ( | ) | const |
Returns the count of already recorded Vertices.
Closes the definition of the current Shell as for the Main Shell of a Solid, with an orientation flag (0/1)
| void IGESSolid_TopoBuilder::SetOuter | ( | ) |
Closes the current Loop and sets it Loop as Outer Loop. If no current Loop has yet been defined, does nothing.
| occ::handle< IGESSolid_Shell > IGESSolid_TopoBuilder::Shell | ( | ) | const |
Returns the current Shell. The current Shell is created empty by MakeShell and filled by EndShell.
| occ::handle< IGESSolid_ManifoldSolid > IGESSolid_TopoBuilder::Solid | ( | ) | const |
Returns the current ManifoldSolid. It is created empty by Create and filled by EndSolid.
Returns a Vertex, given its rank.
| occ::handle< IGESSolid_VertexList > IGESSolid_TopoBuilder::VertexList | ( | ) | const |
Returns the VertexList. It can be referenced, but it remains empty until call to EndShell or EndSolid.