Open CASCADE Technology 6.6.0
|
Provides a basic tool to implement features topological
operations. The main goal of the algorithm is to perform
the result of the operation according to the
kept parts of the tool.
Input data: a) DS;
b) The kept parts of the tool;
If the map of the kept parts of the tool
is not filled boolean operation of the
given type will be performed;
c) Operation required.
Steps: a) Fill myShapes, myRemoved maps;
b) Rebuild edges and faces;
c) Build images of the object;
d) Build the result of the operation.
Result: Result shape of the operation required.
#include <BRepFeat_Builder.hxx>
Public Member Functions | |
BRepFeat_Builder () | |
virtual | ~BRepFeat_Builder () |
virtual void | Clear () |
Clears internal fields and arguments. | |
void | Init (const TopoDS_Shape &theShape) |
Initialyzes the object of local boolean operation. | |
void | Init (const TopoDS_Shape &theShape, const TopoDS_Shape &theTool) |
Initialyzes the arguments of local boolean operation. | |
void | SetOperation (const Standard_Integer theFuse) |
Sets the operation of local boolean operation. If theFuse = 0 than the operation is CUT, otherwise FUSE. | |
void | SetOperation (const Standard_Integer theFuse, const Standard_Boolean theFlag) |
Sets the operation of local boolean operation. If theFlag = TRUE it means that no selection of parts of the tool is needed, t.e. no second part. In that case if theFuse = 0 than operation is COMMON, otherwise CUT21. If theFlag = FALSE SetOperation(theFuse) function is called. | |
void | PartsOfTool (TopTools_ListOfShape &theLT) |
Collects parts of the tool. | |
void | KeepParts (const TopTools_ListOfShape &theIm) |
Initialyzes parts of the tool for second step of algorithm. Collects shapes and all sub-shapes into myShapes map. | |
void | KeepPart (const TopoDS_Shape &theS) |
Adds shape theS and all its sub-shapes into myShapes map. | |
void | PerformResult () |
Main function to build the result of the local operation required. | |
void | RebuildFaces () |
Rebuilds faces in accordance with the kept parts of the tool. | |
void | RebuildEdge (const TopoDS_Shape &theE, const TopoDS_Face &theF, const BOPCol_MapOfShape &theME, BOPCol_ListOfShape &aLEIm) |
Rebuilds edges in accordance with the kept parts of the tool. | |
void | CheckSolidImages () |
Collects the images of the object, that contains in the images of the tool. | |
void | FillRemoved () |
Collects the removed parts of the tool into myRemoved map. | |
void | FillRemoved (const TopoDS_Shape &theS, BOPCol_MapOfShape &theM) |
Adds the shape S and its sub-shapes into myRemoved map. | |
Protected Member Functions | |
virtual void | Prepare () |
Prepares builder of local operation. | |
virtual void | FillIn3DParts (BOPCol_DataMapOfShapeListOfShape &theInParts, BOPCol_DataMapOfShapeShape &theDraftSolids, const BOPCol_BaseAllocator &theAllocator) |
Function is redefined to avoid the usage of removed faces. | |
Protected Attributes | |
BOPCol_MapOfShape | myShapes |
BOPCol_MapOfShape | myRemoved |
Standard_Integer | myFuse |
BRepFeat_Builder::BRepFeat_Builder | ( | ) |
virtual BRepFeat_Builder::~BRepFeat_Builder | ( | ) | [virtual] |
void BRepFeat_Builder::CheckSolidImages | ( | ) |
virtual void BRepFeat_Builder::Clear | ( | ) | [virtual] |
Reimplemented from BOPAlgo_BOP.
virtual void BRepFeat_Builder::FillIn3DParts | ( | BOPCol_DataMapOfShapeListOfShape & | theInParts, |
BOPCol_DataMapOfShapeShape & | theDraftSolids, | ||
const BOPCol_BaseAllocator & | theAllocator | ||
) | [protected, virtual] |
Reimplemented from BOPAlgo_Builder.
void BRepFeat_Builder::FillRemoved | ( | ) |
void BRepFeat_Builder::FillRemoved | ( | const TopoDS_Shape & | theS, |
BOPCol_MapOfShape & | theM | ||
) |
void BRepFeat_Builder::Init | ( | const TopoDS_Shape & | theShape | ) |
void BRepFeat_Builder::Init | ( | const TopoDS_Shape & | theShape, |
const TopoDS_Shape & | theTool | ||
) |
void BRepFeat_Builder::KeepPart | ( | const TopoDS_Shape & | theS | ) |
void BRepFeat_Builder::KeepParts | ( | const TopTools_ListOfShape & | theIm | ) |
void BRepFeat_Builder::PartsOfTool | ( | TopTools_ListOfShape & | theLT | ) |
void BRepFeat_Builder::PerformResult | ( | ) |
virtual void BRepFeat_Builder::Prepare | ( | ) | [protected, virtual] |
Reimplemented from BOPAlgo_BOP.
void BRepFeat_Builder::RebuildEdge | ( | const TopoDS_Shape & | theE, |
const TopoDS_Face & | theF, | ||
const BOPCol_MapOfShape & | theME, | ||
BOPCol_ListOfShape & | aLEIm | ||
) |
void BRepFeat_Builder::RebuildFaces | ( | ) |
void BRepFeat_Builder::SetOperation | ( | const Standard_Integer | theFuse, |
const Standard_Boolean | theFlag | ||
) |
void BRepFeat_Builder::SetOperation | ( | const Standard_Integer | theFuse | ) |
Standard_Integer BRepFeat_Builder::myFuse [protected] |
BOPCol_MapOfShape BRepFeat_Builder::myRemoved [protected] |
BOPCol_MapOfShape BRepFeat_Builder::myShapes [protected] |