# DataExchange
TKIGES
IGESSolid

# IGESSolid_TopoBuilder Class Reference

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
.

`#include <IGESSolid_TopoBuilder.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
Standard_EXPORT | IGESSolid_TopoBuilder ()
| Creates an empty TopoBuilder This creates also a unique VertexList and a unique EdgeList, empty, but which can be referenced from starting .
Standard_EXPORT void | Clear ()
| Resets the TopoBuilder for an entirely new operation (with a new EdgeList, a new VertexList, new Shells, ...) .
Standard_EXPORT void | AddVertex (const gp_XYZ &val)
| Adds a Vertex to the VertexList .
Standard_EXPORT Standard_Integer | NbVertices () const
| Returns the count of already recorded Vertices .
Standard_EXPORT const gp_XYZ & | Vertex (const Standard_Integer num) const
| Returns a Vertex, given its rank .
Standard_EXPORT Handle_IGESSolid_VertexList | VertexList () const
| Returns the VertexList. It can be referenced, but it remains empty until call to EndShell or EndSolid .
Standard_EXPORT 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 .
Standard_EXPORT Standard_Integer | NbEdges () const
| Returns the count of recorded Edges (3D) .
Standard_EXPORT 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 .
Standard_EXPORT Handle_IGESSolid_EdgeList | EdgeList () const
| Returns the EdgeList. It can be referenced, but it remains empty until call to EndShell or EndSolid .
Standard_EXPORT 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) .
Standard_EXPORT 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 : - give the parametric curves - close the definition of this edge(UV) by EndEdge, else the next call to MakeEdge will erase this one .
Standard_EXPORT void | AddCurveUV (const Handle(IGESData_IGESEntity)&curve, const Standard_Integer iso)
| Adds a Parametric Curve (UV) to the current Edge(UV) .
Standard_EXPORT void | EndEdge ()
| Closes the definition of an Edge(UV) and adds it to the current Loop .
Standard_EXPORT 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) .
Standard_EXPORT void | SetOuter ()
| Closes the current Loop and sets it Loop as Outer Loop. If no current Loop has yet been defined, does nothing. .
Standard_EXPORT void | AddInner ()
| Closes the current Loop and adds it to the list of Inner Loops for the current Face .
Standard_EXPORT 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) .
Standard_EXPORT void | MakeShell ()
| Begins the definition of a new Shell (either Simple or in a Solid) .
Standard_EXPORT void | EndSimpleShell ()
| Closes the whole definition as that of a simple Shell .
Standard_EXPORT 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) .
Standard_EXPORT 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) .
Standard_EXPORT void | EndSolid ()
| Closes the whole definition as that of a ManifoldSolid Its call is exclusive from that of EndSimpleShell .
Standard_EXPORT Handle_IGESSolid_Shell | Shell () const
| Returns the current Shell. The current Shell is created empty by MakeShell and filled by EndShell .
Standard_EXPORT Handle_IGESSolid_ManifoldSolid | Solid () const
| Returns the current ManifoldSolid. It is created empty by Create and filled by EndSolid .

## Protected Member Functions

Standard_EXPORT void | EndLists ()
| Closes the definition of Vertex and Edge Lists Warning : Called only by EndSimpleShell and EndSolid .
Standard_EXPORT 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 .
Standard_EXPORT 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) .

## Private Attributes

Handle_IGESSolid_ManifoldSolid | thesolid
Handle_IGESSolid_Shell | themains
Standard_Integer | themflag
Handle_TColStd_HSequenceOfTransient | thevoids
Handle_TColStd_HSequenceOfInteger | thevflag
Handle_IGESSolid_Shell | theshell
Handle_TColStd_HSequenceOfTransient | thefaces
Handle_TColStd_HSequenceOfInteger | thefflag
Handle_IGESSolid_Face | theface
Handle_IGESData_IGESEntity | thesurf
Standard_Integer | theouter
Handle_TColStd_HSequenceOfTransient | theinner
Handle_IGESSolid_Loop | theloop
Handle_TColStd_HSequenceOfInteger | theetype
Handle_TColStd_HSequenceOfInteger | thee3d
Handle_TColStd_HSequenceOfInteger | theeflag
Handle_TColStd_HSequenceOfTransient | theeuv
Handle_TColStd_HSequenceOfInteger | theisol
Handle_TColStd_HSequenceOfTransient | thecuruv
Handle_TColStd_HSequenceOfTransient | theiso
Handle_IGESSolid_EdgeList | theedgel
Handle_TColStd_HSequenceOfTransient | thecur3d
Handle_TColStd_HSequenceOfInteger | thevstar
Handle_TColStd_HSequenceOfInteger | thevend
Handle_IGESSolid_VertexList | thevertl
Handle_TColgp_HSequenceOfXYZ | thepoint

## Constructor & Destructor Documentation

Standard_EXPORT IGESSolid_TopoBuilder::IGESSolid_TopoBuilder | ( |  | ) |

## Member Function Documentation

Standard_EXPORT void IGESSolid_TopoBuilder::AddCurveUV | ( | const Handle(IGESData_IGESEntity)& | curve,
|  | const Standard_Integer | iso
| ) |

Standard_EXPORT void IGESSolid_TopoBuilder::AddEdge | ( | const Handle(IGESData_IGESEntity)& | curve,
|  | const Standard_Integer | vstart,
|  | const Standard_Integer | vend
| ) |

Standard_EXPORT void IGESSolid_TopoBuilder::AddInner | ( |  | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::AddVertex | ( | const gp_XYZ & | val | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::AddVoidShell | ( | const Standard_Integer | orientation | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::Clear | ( |  | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::Edge | ( | const Standard_Integer | num,
|  | Handle(IGESData_IGESEntity)& | curve,
|  | Standard_Integer & | vstart,
|  | Standard_Integer & | vend
| ) | const

Standard_EXPORT Handle_IGESSolid_EdgeList IGESSolid_TopoBuilder::EdgeList | ( |  | ) | const

Standard_EXPORT void IGESSolid_TopoBuilder::EndEdge | ( |  | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::EndFace | ( | const Standard_Integer | orientation | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::EndLists | ( |  | ) | `[protected]`

Standard_EXPORT void IGESSolid_TopoBuilder::EndLoop | ( |  | ) | `[protected]`

Standard_EXPORT void IGESSolid_TopoBuilder::EndShell | ( |  | ) | `[protected]`

Standard_EXPORT void IGESSolid_TopoBuilder::EndSimpleShell | ( |  | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::EndSolid | ( |  | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::MakeEdge | ( | const Standard_Integer | edgetype,
|  | const Standard_Integer | edge3d,
|  | const Standard_Integer | orientation
| ) |

Standard_EXPORT void IGESSolid_TopoBuilder::MakeFace | ( | const Handle(IGESData_IGESEntity)& | surface | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::MakeLoop | ( |  | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::MakeShell | ( |  | ) |

Standard_EXPORT Standard_Integer IGESSolid_TopoBuilder::NbEdges | ( |  | ) | const

Standard_EXPORT Standard_Integer IGESSolid_TopoBuilder::NbVertices | ( |  | ) | const

void IGESSolid_TopoBuilder::operator delete | ( | void * | anAddress | ) | `[inline]`

void* IGESSolid_TopoBuilder::operator new | ( | size_t | size | ) | `[inline]`

void* IGESSolid_TopoBuilder::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

Standard_EXPORT void IGESSolid_TopoBuilder::SetMainShell | ( | const Standard_Integer | orientation | ) |

Standard_EXPORT void IGESSolid_TopoBuilder::SetOuter | ( |  | ) |

Standard_EXPORT Handle_IGESSolid_Shell IGESSolid_TopoBuilder::Shell | ( |  | ) | const

Standard_EXPORT Handle_IGESSolid_ManifoldSolid IGESSolid_TopoBuilder::Solid | ( |  | ) | const

Standard_EXPORT const gp_XYZ& IGESSolid_TopoBuilder::Vertex | ( | const Standard_Integer | num | ) | const

Standard_EXPORT Handle_IGESSolid_VertexList IGESSolid_TopoBuilder::VertexList | ( |  | ) | const

## Field Documentation

Handle_TColStd_HSequenceOfTransient IGESSolid_TopoBuilder::thecur3d`[private]`

Handle_TColStd_HSequenceOfTransient IGESSolid_TopoBuilder::thecuruv`[private]`

Handle_TColStd_HSequenceOfInteger IGESSolid_TopoBuilder::thee3d`[private]`

Handle_IGESSolid_EdgeList IGESSolid_TopoBuilder::theedgel`[private]`

Handle_TColStd_HSequenceOfInteger IGESSolid_TopoBuilder::theeflag`[private]`

Handle_TColStd_HSequenceOfInteger IGESSolid_TopoBuilder::theetype`[private]`

Handle_TColStd_HSequenceOfTransient IGESSolid_TopoBuilder::theeuv`[private]`

Handle_IGESSolid_Face IGESSolid_TopoBuilder::theface`[private]`

Handle_TColStd_HSequenceOfTransient IGESSolid_TopoBuilder::thefaces`[private]`

Handle_TColStd_HSequenceOfInteger IGESSolid_TopoBuilder::thefflag`[private]`

Handle_TColStd_HSequenceOfTransient IGESSolid_TopoBuilder::theinner`[private]`

Handle_TColStd_HSequenceOfTransient IGESSolid_TopoBuilder::theiso`[private]`

Handle_TColStd_HSequenceOfInteger IGESSolid_TopoBuilder::theisol`[private]`

Handle_IGESSolid_Loop IGESSolid_TopoBuilder::theloop`[private]`

Handle_IGESSolid_Shell IGESSolid_TopoBuilder::themains`[private]`

Standard_Integer IGESSolid_TopoBuilder::themflag`[private]`

Standard_Integer IGESSolid_TopoBuilder::theouter`[private]`

Handle_TColgp_HSequenceOfXYZ IGESSolid_TopoBuilder::thepoint`[private]`

Handle_IGESSolid_Shell IGESSolid_TopoBuilder::theshell`[private]`

Handle_IGESSolid_ManifoldSolid IGESSolid_TopoBuilder::thesolid`[private]`

Handle_IGESData_IGESEntity IGESSolid_TopoBuilder::thesurf`[private]`

Handle_TColStd_HSequenceOfInteger IGESSolid_TopoBuilder::thevend`[private]`

Handle_IGESSolid_VertexList IGESSolid_TopoBuilder::thevertl`[private]`

Handle_TColStd_HSequenceOfInteger IGESSolid_TopoBuilder::thevflag`[private]`

Handle_TColStd_HSequenceOfTransient IGESSolid_TopoBuilder::thevoids`[private]`

Handle_TColStd_HSequenceOfInteger IGESSolid_TopoBuilder::thevstar`[private]`

The documentation for this class was generated from the following file:

- IGESSolid_TopoBuilder.hxx