OCC Main Page | DataExchange | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

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:
Generated on Mon Aug 25 14:41:28 2008 for OpenCASCADE by  doxygen 1.4.1