Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions
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

DEFINE_STANDARD_ALLOC 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

Standard_Integer NbVertices () const
 Returns the count of already recorded Vertices

const gp_XYZVertex (const Standard_Integer num) const
 Returns a Vertex, given its rank

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 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_Integer NbEdges () const
 Returns the count of recorded Edges (3D)

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

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 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 AddCurveUV (const Handle< IGESData_IGESEntity > &curve, const Standard_Integer 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 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 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)

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 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 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 EndSolid ()
 Closes the whole definition as that of a ManifoldSolid
Its call is exclusive from that of EndSimpleShell

Handle_IGESSolid_Shell Shell () const
 Returns the current Shell. The current Shell is created empty
by MakeShell and filled by EndShell

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)


Constructor & Destructor Documentation


Member Function Documentation

Handle_IGESSolid_EdgeList IGESSolid_TopoBuilder::EdgeList ( ) const
  • give the parametric curves
  • close the definition of this edge(UV) by EndEdge, else
    the next call to MakeEdge will erase this one
Handle_IGESSolid_Shell IGESSolid_TopoBuilder::Shell ( ) const
Handle_IGESSolid_ManifoldSolid IGESSolid_TopoBuilder::Solid ( ) const
Handle_IGESSolid_VertexList IGESSolid_TopoBuilder::VertexList ( ) const

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