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

extension of the class TopOpeBRepBuild_Builder dedicated
to avoid bugs in "Rebuilding Result" algorithm for the case of SOLID/SOLID Boolean Operations

#include <TopOpeBRepBuild_Builder1.hxx>

Inheritance diagram for TopOpeBRepBuild_Builder1:
Inheritance graph
[legend]

Public Member Functions

 TopOpeBRepBuild_Builder1 (const TopOpeBRepDS_BuildTool &BT)
virtual void Destroy ()
virtual ~TopOpeBRepBuild_Builder1 ()
virtual void Clear ()
 Removes all splits and merges already performed.
Does NOT clear the handled DS (except ShapeWithStatesMaps).

virtual void Perform (const Handle< TopOpeBRepDS_HDataStructure > &HDS)
 Stores the data structure <HDS>,
Create shapes from the new geometries.

virtual void Perform (const Handle< TopOpeBRepDS_HDataStructure > &HDS, const TopoDS_Shape &S1, const TopoDS_Shape &S2)
 Stores the data structure <HDS>,
Create shapes from the new geometries,
Evaluates if an operation performed on shapes S1,S2
is a particular case.

virtual void MergeKPart ()
virtual void MergeKPart (const TopAbs_State TB1, const TopAbs_State TB2)
virtual void GFillSolidSFS (const TopoDS_Shape &SO1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
virtual void GFillShellSFS (const TopoDS_Shape &SH1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
virtual void GWESMakeFaces (const TopoDS_Shape &FF, TopOpeBRepBuild_WireEdgeSet &WES, TopTools_ListOfShape &LOF)
void GFillSplitsPVS (const TopoDS_Shape &anEdge, const TopOpeBRepBuild_GTopo &G1, TopOpeBRepBuild_PaveSet &PVS)
void GFillFaceNotSameDomSFS (const TopoDS_Shape &F1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
void GFillFaceNotSameDomWES (const TopoDS_Shape &F1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GFillWireNotSameDomWES (const TopoDS_Shape &W1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GFillEdgeNotSameDomWES (const TopoDS_Shape &E1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GFillFaceSameDomSFS (const TopoDS_Shape &F1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
void GFillFaceSameDomWES (const TopoDS_Shape &F1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GFillWireSameDomWES (const TopoDS_Shape &W1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GFillEdgeSameDomWES (const TopoDS_Shape &E1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void PerformONParts (const TopoDS_Shape &F, const TopTools_IndexedMapOfShape &SDfaces, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void PerformPieceIn2D (const TopoDS_Edge &aPieceToPerform, const TopoDS_Edge &aOriginalEdge, const TopoDS_Face &edgeFace, const TopoDS_Face &toFace, const TopOpeBRepBuild_GTopo &G, Standard_Boolean &keep)
Standard_Integer PerformPieceOn2D (const TopoDS_Shape &aPieceObj, const TopoDS_Shape &aFaceObj, const TopoDS_Shape &aEdgeObj, TopTools_ListOfShape &aListOfPieces, TopTools_ListOfShape &aListOfFaces, TopTools_ListOfShape &aListOfPiecesOut2d)
Standard_Integer TwoPiecesON (const TopTools_SequenceOfShape &aSeq, TopTools_ListOfShape &aListOfPieces, TopTools_ListOfShape &aListOfFaces, TopTools_ListOfShape &aListOfPiecesOut2d)
Standard_Integer CorrectResult2d (TopoDS_Shape &aResult)

Protected Member Functions

void PerformShapeWithStates ()
void PerformShapeWithStates (const TopoDS_Shape &anObj, const TopoDS_Shape &aTool)
void StatusEdgesToSplit (const TopoDS_Shape &anObj, const TopTools_IndexedMapOfShape &anEdgesToSplitMap, const TopTools_IndexedMapOfShape &anEdgesToRestMap)
void SplitEdge (const TopoDS_Shape &anEdge, TopTools_ListOfShape &aLNew, TopOpeBRepDS_DataMapOfShapeState &aDataMapOfShapeState)
void PerformFacesWithStates (const TopoDS_Shape &anObj, const TopTools_IndexedMapOfShape &aFaces, TopOpeBRepDS_DataMapOfShapeState &aSplF)
Standard_Integer IsSame2d (const TopTools_SequenceOfShape &aSeq, TopTools_ListOfShape &aListOfPiecesOut2d)
void OrientateEdgeOnFace (TopoDS_Edge &EdgeToPerform, const TopoDS_Face &baseFace, const TopoDS_Face &edgeFace, const TopOpeBRepBuild_GTopo &G1, Standard_Boolean &stateOfFaceOri) const

Protected Attributes

TopTools_DataMapOfShapeListOfShape myFSplits
TopTools_DataMapOfShapeListOfShape myESplits

Constructor & Destructor Documentation

TopOpeBRepBuild_Builder1::TopOpeBRepBuild_Builder1 ( const TopOpeBRepDS_BuildTool BT)
virtual TopOpeBRepBuild_Builder1::~TopOpeBRepBuild_Builder1 ( ) [inline, virtual]

Member Function Documentation

virtual void TopOpeBRepBuild_Builder1::Clear ( ) [virtual]

Reimplemented from TopOpeBRepBuild_Builder.

Standard_Integer TopOpeBRepBuild_Builder1::CorrectResult2d ( TopoDS_Shape aResult)
virtual void TopOpeBRepBuild_Builder1::Destroy ( ) [virtual]

Reimplemented from TopOpeBRepBuild_Builder.

void TopOpeBRepBuild_Builder1::GFillEdgeNotSameDomWES ( const TopoDS_Shape E1,
const TopTools_ListOfShape LSO2,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_WireEdgeSet WES 
)
void TopOpeBRepBuild_Builder1::GFillEdgeSameDomWES ( const TopoDS_Shape E1,
const TopTools_ListOfShape LSO2,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_WireEdgeSet WES 
)
void TopOpeBRepBuild_Builder1::GFillFaceNotSameDomSFS ( const TopoDS_Shape F1,
const TopTools_ListOfShape LSO2,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_ShellFaceSet SFS 
)
void TopOpeBRepBuild_Builder1::GFillFaceNotSameDomWES ( const TopoDS_Shape F1,
const TopTools_ListOfShape LSO2,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_WireEdgeSet WES 
)
void TopOpeBRepBuild_Builder1::GFillFaceSameDomSFS ( const TopoDS_Shape F1,
const TopTools_ListOfShape LSO2,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_ShellFaceSet SFS 
)
void TopOpeBRepBuild_Builder1::GFillFaceSameDomWES ( const TopoDS_Shape F1,
const TopTools_ListOfShape LSO2,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_WireEdgeSet WES 
)
virtual void TopOpeBRepBuild_Builder1::GFillShellSFS ( const TopoDS_Shape SH1,
const TopTools_ListOfShape LSO2,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_ShellFaceSet SFS 
) [virtual]

Reimplemented from TopOpeBRepBuild_Builder.

virtual void TopOpeBRepBuild_Builder1::GFillSolidSFS ( const TopoDS_Shape SO1,
const TopTools_ListOfShape LSO2,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_ShellFaceSet SFS 
) [virtual]

Reimplemented from TopOpeBRepBuild_Builder.

void TopOpeBRepBuild_Builder1::GFillSplitsPVS ( const TopoDS_Shape anEdge,
const TopOpeBRepBuild_GTopo G1,
TopOpeBRepBuild_PaveSet PVS 
)
void TopOpeBRepBuild_Builder1::GFillWireNotSameDomWES ( const TopoDS_Shape W1,
const TopTools_ListOfShape LSO2,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_WireEdgeSet WES 
)
void TopOpeBRepBuild_Builder1::GFillWireSameDomWES ( const TopoDS_Shape W1,
const TopTools_ListOfShape LSO2,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_WireEdgeSet WES 
)
virtual void TopOpeBRepBuild_Builder1::GWESMakeFaces ( const TopoDS_Shape FF,
TopOpeBRepBuild_WireEdgeSet WES,
TopTools_ListOfShape LOF 
) [virtual]

Reimplemented from TopOpeBRepBuild_Builder.

Standard_Integer TopOpeBRepBuild_Builder1::IsSame2d ( const TopTools_SequenceOfShape aSeq,
TopTools_ListOfShape aListOfPiecesOut2d 
) [protected]
virtual void TopOpeBRepBuild_Builder1::MergeKPart ( const TopAbs_State  TB1,
const TopAbs_State  TB2 
) [virtual]

Reimplemented from TopOpeBRepBuild_Builder.

virtual void TopOpeBRepBuild_Builder1::MergeKPart ( ) [virtual]

Reimplemented from TopOpeBRepBuild_Builder.

void TopOpeBRepBuild_Builder1::OrientateEdgeOnFace ( TopoDS_Edge EdgeToPerform,
const TopoDS_Face baseFace,
const TopoDS_Face edgeFace,
const TopOpeBRepBuild_GTopo G1,
Standard_Boolean stateOfFaceOri 
) const [protected]
virtual void TopOpeBRepBuild_Builder1::Perform ( const Handle< TopOpeBRepDS_HDataStructure > &  HDS,
const TopoDS_Shape S1,
const TopoDS_Shape S2 
) [virtual]

Reimplemented from TopOpeBRepBuild_Builder.

virtual void TopOpeBRepBuild_Builder1::Perform ( const Handle< TopOpeBRepDS_HDataStructure > &  HDS) [virtual]

Reimplemented from TopOpeBRepBuild_Builder.

void TopOpeBRepBuild_Builder1::PerformFacesWithStates ( const TopoDS_Shape anObj,
const TopTools_IndexedMapOfShape aFaces,
TopOpeBRepDS_DataMapOfShapeState aSplF 
) [protected]
void TopOpeBRepBuild_Builder1::PerformONParts ( const TopoDS_Shape F,
const TopTools_IndexedMapOfShape SDfaces,
const TopOpeBRepBuild_GTopo G,
TopOpeBRepBuild_WireEdgeSet WES 
)
void TopOpeBRepBuild_Builder1::PerformPieceIn2D ( const TopoDS_Edge aPieceToPerform,
const TopoDS_Edge aOriginalEdge,
const TopoDS_Face edgeFace,
const TopoDS_Face toFace,
const TopOpeBRepBuild_GTopo G,
Standard_Boolean keep 
)
Standard_Integer TopOpeBRepBuild_Builder1::PerformPieceOn2D ( const TopoDS_Shape aPieceObj,
const TopoDS_Shape aFaceObj,
const TopoDS_Shape aEdgeObj,
TopTools_ListOfShape aListOfPieces,
TopTools_ListOfShape aListOfFaces,
TopTools_ListOfShape aListOfPiecesOut2d 
)
void TopOpeBRepBuild_Builder1::PerformShapeWithStates ( ) [protected]
void TopOpeBRepBuild_Builder1::PerformShapeWithStates ( const TopoDS_Shape anObj,
const TopoDS_Shape aTool 
) [protected]
void TopOpeBRepBuild_Builder1::SplitEdge ( const TopoDS_Shape anEdge,
TopTools_ListOfShape aLNew,
TopOpeBRepDS_DataMapOfShapeState aDataMapOfShapeState 
) [protected]
void TopOpeBRepBuild_Builder1::StatusEdgesToSplit ( const TopoDS_Shape anObj,
const TopTools_IndexedMapOfShape anEdgesToSplitMap,
const TopTools_IndexedMapOfShape anEdgesToRestMap 
) [protected]
Standard_Integer TopOpeBRepBuild_Builder1::TwoPiecesON ( const TopTools_SequenceOfShape aSeq,
TopTools_ListOfShape aListOfPieces,
TopTools_ListOfShape aListOfFaces,
TopTools_ListOfShape aListOfPiecesOut2d 
)

Field Documentation

Reimplemented from TopOpeBRepBuild_Builder.

Reimplemented from TopOpeBRepBuild_Builder.


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