Open CASCADE Technology 6.6.0
Public Member Functions | Protected Attributes
TopOpeBRepBuild_HBuilder Class Reference

The HBuilder algorithm constructs topological
objects from an existing topology and new
geometries attached to the topology. It is used to
construct the result of a topological operation;
the existing topologies are the parts involved in
the topological operation and the new geometries
are the intersection lines and points.

#include <TopOpeBRepBuild_HBuilder.hxx>

Inheritance diagram for TopOpeBRepBuild_HBuilder:
Inheritance graph
[legend]

Public Member Functions

 TopOpeBRepBuild_HBuilder (const TopOpeBRepDS_BuildTool &BT)
const TopOpeBRepDS_BuildToolBuildTool () const
void Perform (const Handle< TopOpeBRepDS_HDataStructure > &HDS)
 Stores the data structure <HDS>,
Create shapes from the new geometries described in <HDS>.

void Perform (const Handle< TopOpeBRepDS_HDataStructure > &HDS, const TopoDS_Shape &S1, const TopoDS_Shape &S2)
 Same as previous + evaluates if an operation performed on shapes S1,S2
is a particular case.

void Clear ()
 Removes all split and merge already performed.
Does NOT clear the handled DS.

Handle_TopOpeBRepDS_HDataStructure DataStructure () const
 returns the DS handled by this builder

TopOpeBRepDS_BuildToolChangeBuildTool ()
void MergeShapes (const TopoDS_Shape &S1, const TopAbs_State TB1, const TopoDS_Shape &S2, const TopAbs_State TB2)
 Merges the two shapes <S1> and <S2> keeping the
parts of states <TB1>,<TB2> in <S1>,<S2>.

void MergeSolids (const TopoDS_Shape &S1, const TopAbs_State TB1, const TopoDS_Shape &S2, const TopAbs_State TB2)
 Merges the two solids <S1> and <S2> keeping the
parts in each solid of states <TB1> and <TB2>.

void MergeSolid (const TopoDS_Shape &S, const TopAbs_State TB)
 Merges the solid <S> keeping the
parts of state <TB>.

Standard_Boolean IsSplit (const TopoDS_Shape &S, const TopAbs_State ToBuild) const
 Returns True if the shape <S> has been split.

const TopTools_ListOfShapeSplits (const TopoDS_Shape &S, const TopAbs_State ToBuild) const
 Returns the split parts <ToBuild> of shape <S>.

Standard_Boolean IsMerged (const TopoDS_Shape &S, const TopAbs_State ToBuild) const
 Returns True if the shape <S> has been merged.

const TopTools_ListOfShapeMerged (const TopoDS_Shape &S, const TopAbs_State ToBuild) const
 Returns the merged parts <ToBuild> of shape <S>.

const TopoDS_ShapeNewVertex (const Standard_Integer I) const
 Returns the vertex created on point .

const TopTools_ListOfShapeNewEdges (const Standard_Integer I) const
 Returns the edges created on curve .

TopTools_ListOfShapeChangeNewEdges (const Standard_Integer I)
 Returns the edges created on curve .

const TopTools_ListOfShapeNewFaces (const Standard_Integer I) const
 Returns the faces created on surface .

const TopTools_ListOfShapeSection ()
void InitExtendedSectionDS (const Standard_Integer k=3)
void InitSection (const Standard_Integer k=3)
Standard_Boolean MoreSection () const
void NextSection ()
const TopoDS_ShapeCurrentSection () const
Standard_Integer GetDSEdgeFromSectEdge (const TopoDS_Shape &E, const Standard_Integer rank)
TColStd_ListOfIntegerGetDSFaceFromDSEdge (const Standard_Integer indexEdg, const Standard_Integer rank)
Standard_Integer GetDSCurveFromSectEdge (const TopoDS_Shape &SectEdge)
Standard_Integer GetDSFaceFromDSCurve (const Standard_Integer indexCur, const Standard_Integer rank)
Standard_Integer GetDSPointFromNewVertex (const TopoDS_Shape &NewVert)
Standard_Boolean EdgeCurveAncestors (const TopoDS_Shape &E, TopoDS_Shape &F1, TopoDS_Shape &F2, Standard_Integer &IC)
 search for the couple of face F1,F2
(from arguments of supra Perform(S1,S2,HDS)) method which
intersection gives section edge E built on an intersection curve.
returns True if F1,F2 have been valued.
returns False if E is not a section edge built
on intersection curve IC.

Standard_Boolean EdgeSectionAncestors (const TopoDS_Shape &E, TopTools_ListOfShape &LF1, TopTools_ListOfShape &LF2, TopTools_ListOfShape &LE1, TopTools_ListOfShape &LE2)
 search for the couple of face F1,F2
(from arguments of supra Perform(S1,S2,HDS)) method which
intersection gives section edge E built on at least one edge .
returns True if F1,F2 have been valued.
returns False if E is not a section edge built
on at least one edge of S1 and/or S2.
LE1,LE2 are edges of S1,S2 which common part is edge E.
LE1 or LE2 may be empty() but not both.

Standard_Integer IsKPart ()
 Returns 0 is standard operation, != 0 if particular case

void MergeKPart (const TopAbs_State TB1, const TopAbs_State TB2)
TopOpeBRepBuild_BuilderChangeBuilder ()

Protected Attributes

TopOpeBRepBuild_Builder1 myBuilder

Constructor & Destructor Documentation

TopOpeBRepBuild_HBuilder::TopOpeBRepBuild_HBuilder ( const TopOpeBRepDS_BuildTool BT)

Member Function Documentation

const TopOpeBRepDS_BuildTool& TopOpeBRepBuild_HBuilder::BuildTool ( ) const
TopOpeBRepBuild_Builder& TopOpeBRepBuild_HBuilder::ChangeBuilder ( )
TopOpeBRepDS_BuildTool& TopOpeBRepBuild_HBuilder::ChangeBuildTool ( )
TopTools_ListOfShape& TopOpeBRepBuild_HBuilder::ChangeNewEdges ( const Standard_Integer  I)
void TopOpeBRepBuild_HBuilder::Clear ( )
const TopoDS_Shape& TopOpeBRepBuild_HBuilder::CurrentSection ( ) const
Handle_TopOpeBRepDS_HDataStructure TopOpeBRepBuild_HBuilder::DataStructure ( ) const
Standard_Boolean TopOpeBRepBuild_HBuilder::EdgeCurveAncestors ( const TopoDS_Shape E,
TopoDS_Shape F1,
TopoDS_Shape F2,
Standard_Integer IC 
)
Standard_Boolean TopOpeBRepBuild_HBuilder::EdgeSectionAncestors ( const TopoDS_Shape E,
TopTools_ListOfShape LF1,
TopTools_ListOfShape LF2,
TopTools_ListOfShape LE1,
TopTools_ListOfShape LE2 
)
Standard_Integer TopOpeBRepBuild_HBuilder::GetDSCurveFromSectEdge ( const TopoDS_Shape SectEdge)
Standard_Integer TopOpeBRepBuild_HBuilder::GetDSEdgeFromSectEdge ( const TopoDS_Shape E,
const Standard_Integer  rank 
)
Standard_Integer TopOpeBRepBuild_HBuilder::GetDSFaceFromDSCurve ( const Standard_Integer  indexCur,
const Standard_Integer  rank 
)
TColStd_ListOfInteger& TopOpeBRepBuild_HBuilder::GetDSFaceFromDSEdge ( const Standard_Integer  indexEdg,
const Standard_Integer  rank 
)
Standard_Integer TopOpeBRepBuild_HBuilder::GetDSPointFromNewVertex ( const TopoDS_Shape NewVert)
void TopOpeBRepBuild_HBuilder::InitExtendedSectionDS ( const Standard_Integer  k = 3)
void TopOpeBRepBuild_HBuilder::InitSection ( const Standard_Integer  k = 3)
Standard_Integer TopOpeBRepBuild_HBuilder::IsKPart ( )
Standard_Boolean TopOpeBRepBuild_HBuilder::IsMerged ( const TopoDS_Shape S,
const TopAbs_State  ToBuild 
) const
Standard_Boolean TopOpeBRepBuild_HBuilder::IsSplit ( const TopoDS_Shape S,
const TopAbs_State  ToBuild 
) const
const TopTools_ListOfShape& TopOpeBRepBuild_HBuilder::Merged ( const TopoDS_Shape S,
const TopAbs_State  ToBuild 
) const
void TopOpeBRepBuild_HBuilder::MergeKPart ( const TopAbs_State  TB1,
const TopAbs_State  TB2 
)
void TopOpeBRepBuild_HBuilder::MergeShapes ( const TopoDS_Shape S1,
const TopAbs_State  TB1,
const TopoDS_Shape S2,
const TopAbs_State  TB2 
)
void TopOpeBRepBuild_HBuilder::MergeSolid ( const TopoDS_Shape S,
const TopAbs_State  TB 
)
void TopOpeBRepBuild_HBuilder::MergeSolids ( const TopoDS_Shape S1,
const TopAbs_State  TB1,
const TopoDS_Shape S2,
const TopAbs_State  TB2 
)
Standard_Boolean TopOpeBRepBuild_HBuilder::MoreSection ( ) const
const TopTools_ListOfShape& TopOpeBRepBuild_HBuilder::NewEdges ( const Standard_Integer  I) const
const TopTools_ListOfShape& TopOpeBRepBuild_HBuilder::NewFaces ( const Standard_Integer  I) const
const TopoDS_Shape& TopOpeBRepBuild_HBuilder::NewVertex ( const Standard_Integer  I) const
void TopOpeBRepBuild_HBuilder::NextSection ( )
void TopOpeBRepBuild_HBuilder::Perform ( const Handle< TopOpeBRepDS_HDataStructure > &  HDS)
void TopOpeBRepBuild_HBuilder::Perform ( const Handle< TopOpeBRepDS_HDataStructure > &  HDS,
const TopoDS_Shape S1,
const TopoDS_Shape S2 
)
const TopTools_ListOfShape& TopOpeBRepBuild_HBuilder::Section ( )
const TopTools_ListOfShape& TopOpeBRepBuild_HBuilder::Splits ( const TopoDS_Shape S,
const TopAbs_State  ToBuild 
) const

Field Documentation


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines