|
Open CASCADE Technology
6.9.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. More... | |
| void | Clear () |
| Resets the TopoBuilder for an entirely new operation (with a new EdgeList, a new VertexList, new Shells, ...) More... | |
| void | AddVertex (const gp_XYZ &val) |
| Adds a Vertex to the VertexList. More... | |
| Standard_Integer | NbVertices () const |
| Returns the count of already recorded Vertices. More... | |
| const gp_XYZ & | Vertex (const Standard_Integer num) const |
| Returns a Vertex, given its rank. More... | |
| Handle< IGESSolid_VertexList > | VertexList () const |
| Returns the VertexList. It can be referenced, but it remains empty until call to EndShell or EndSolid. More... | |
| void | AddEdge (const Handle< IGESData_IGESEntity > &curve, const Standard_Integer vstart, const Standard_Integer vend) |
| Adds an Edge (3D) to the EdgeList, defined by a Curve and two number of Vertex, for start and end. More... | |
| Standard_Integer | NbEdges () const |
| Returns the count of recorded Edges (3D) More... | |
| void | Edge (const Standard_Integer num, Handle< IGESData_IGESEntity > &curve, Standard_Integer &vstart, Standard_Integer &vend) const |
| Returns the definition of an Edge (3D) given its rank. More... | |
| Handle< IGESSolid_EdgeList > | EdgeList () const |
| Returns the EdgeList. It can be referenced, but it remains empty until call to EndShell or EndSolid. More... | |
| 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) More... | |
| void | MakeEdge (const Standard_Integer edgetype, const Standard_Integer edge3d, const Standard_Integer 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 allways the current one <orientation gives the orientation flag It is then necessary to : More... | |
| void | AddCurveUV (const Handle< IGESData_IGESEntity > &curve, const Standard_Integer iso) |
| Adds a Parametric Curve (UV) to the current Edge(UV) More... | |
| void | EndEdge () |
| Closes the definition of an Edge(UV) and adds it to the current Loop. More... | |
| void | MakeFace (const 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) More... | |
| void | SetOuter () |
| Closes the current Loop and sets it Loop as Outer Loop. If no current Loop has yet been defined, does nothing. More... | |
| void | AddInner () |
| Closes the current Loop and adds it to the list of Inner Loops for the current Face. More... | |
| void | EndFace (const Standard_Integer orientation) |
| Closes the definition of the current Face, fills it and adds it to the current Shell with an orientation flag (0/1) More... | |
| void | MakeShell () |
| Begins the definition of a new Shell (either Simple or in a Solid) More... | |
| void | EndSimpleShell () |
| Closes the whole definition as that of a simple Shell. More... | |
| void | SetMainShell (const Standard_Integer orientation) |
| Closes the definition of the current Shell as for the Main Shell of a Solid, with an orientation flag (0/1) More... | |
| void | AddVoidShell (const Standard_Integer 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) More... | |
| void | EndSolid () |
| Closes the whole definition as that of a ManifoldSolid Its call is exclusive from that of EndSimpleShell. More... | |
| Handle< IGESSolid_Shell > | Shell () const |
| Returns the current Shell. The current Shell is created empty by MakeShell and filled by EndShell. More... | |
| Handle< IGESSolid_ManifoldSolid > | Solid () const |
| Returns the current ManifoldSolid. It is created empty by Create and filled by EndSolid. More... | |
Protected Member Functions | |
| void | EndLists () |
| Closes the definition of Vertex and Edge Lists Warning : Called only by EndSimpleShell and EndSolid. More... | |
| 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. More... | |
| 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) More... | |
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 Handle< IGESData_IGESEntity > & | curve, |
| const Standard_Integer | iso | ||
| ) |
Adds a Parametric Curve (UV) to the current Edge(UV)
| void IGESSolid_TopoBuilder::AddEdge | ( | const Handle< IGESData_IGESEntity > & | curve, |
| const Standard_Integer | vstart, | ||
| const Standard_Integer | 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.
| void IGESSolid_TopoBuilder::AddVertex | ( | const gp_XYZ & | val | ) |
Adds a Vertex to the VertexList.
| void IGESSolid_TopoBuilder::AddVoidShell | ( | const Standard_Integer | 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 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 Standard_Integer | num, |
| Handle< IGESData_IGESEntity > & | curve, | ||
| Standard_Integer & | vstart, | ||
| Standard_Integer & | vend | ||
| ) | const |
Returns the definition of an Edge (3D) given its rank.
| 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.
| void IGESSolid_TopoBuilder::EndFace | ( | const Standard_Integer | orientation | ) |
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 Standard_Integer | edgetype, |
| const Standard_Integer | edge3d, | ||
| const Standard_Integer | 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 allways the current one <orientation gives the orientation flag It is then necessary to :
| void IGESSolid_TopoBuilder::MakeFace | ( | const 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)
| Standard_Integer IGESSolid_TopoBuilder::NbEdges | ( | ) | const |
Returns the count of recorded Edges (3D)
| Standard_Integer IGESSolid_TopoBuilder::NbVertices | ( | ) | const |
Returns the count of already recorded Vertices.
| void IGESSolid_TopoBuilder::SetMainShell | ( | const Standard_Integer | orientation | ) |
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.
| Handle< IGESSolid_Shell > IGESSolid_TopoBuilder::Shell | ( | ) | const |
Returns the current Shell. The current Shell is created empty by MakeShell and filled by EndShell.
| Handle< IGESSolid_ManifoldSolid > IGESSolid_TopoBuilder::Solid | ( | ) | const |
Returns the current ManifoldSolid. It is created empty by Create and filled by EndSolid.
| const gp_XYZ& IGESSolid_TopoBuilder::Vertex | ( | const Standard_Integer | num | ) | const |
Returns a Vertex, given its rank.
| Handle< IGESSolid_VertexList > IGESSolid_TopoBuilder::VertexList | ( | ) | const |
Returns the VertexList. It can be referenced, but it remains empty until call to EndShell or EndSolid.
1.8.5