|
Open CASCADE Technology
6.7.1
|
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 <br> Warning : Called only by EndSimpleShell and EndSolid | |
| void | EndLoop () |
Closes the definition of a Loop and fills it <br> Warning : EndLoop should not be called directly but through | |
| void | EndShell () |
Closes the definition of the current Shell <br> Warning : EndShell should not be called directly but through | |
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 <br>
Warning : Called only by EndSimpleShell and EndSolid
|
protected |
Closes the definition of a Loop and fills it <br>
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 <br>
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