Open CASCADE Technology  7.1.0.beta
Public Member Functions | Protected Member Functions | Protected Attributes

BRepFeat_Builder Class Reference

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. More...

#include <BRepFeat_Builder.hxx>

Inheritance diagram for BRepFeat_Builder:
Inheritance graph
[legend]

Public Member Functions

 BRepFeat_Builder ()
 
virtual ~BRepFeat_Builder ()
 
virtual void Clear () override
 Clears internal fields and arguments. More...
 
void Init (const TopoDS_Shape &theShape)
 Initialyzes the object of local boolean operation. More...
 
void Init (const TopoDS_Shape &theShape, const TopoDS_Shape &theTool)
 Initialyzes the arguments of local boolean operation. More...
 
void SetOperation (const Standard_Integer theFuse)
 Sets the operation of local boolean operation. If theFuse = 0 than the operation is CUT, otherwise FUSE. More...
 
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. More...
 
void PartsOfTool (TopTools_ListOfShape &theLT)
 Collects parts of the tool. More...
 
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. More...
 
void KeepPart (const TopoDS_Shape &theS)
 Adds shape theS and all its sub-shapes into myShapes map. More...
 
void PerformResult ()
 Main function to build the result of the local operation required. More...
 
void RebuildFaces ()
 Rebuilds faces in accordance with the kept parts of the tool. More...
 
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. More...
 
void CheckSolidImages ()
 Collects the images of the object, that contains in the images of the tool. More...
 
void FillRemoved ()
 Collects the removed parts of the tool into myRemoved map. More...
 
void FillRemoved (const TopoDS_Shape &theS, BOPCol_MapOfShape &theM)
 Adds the shape S and its sub-shapes into myRemoved map. More...
 
- Public Member Functions inherited from BOPAlgo_BOP
 BOPAlgo_BOP ()
 Empty constructor. More...
 
virtual ~BOPAlgo_BOP ()
 
 BOPAlgo_BOP (const BOPCol_BaseAllocator &theAllocator)
 
virtual void AddTool (const TopoDS_Shape &theShape)
 Adds Tool argument of the operation. More...
 
virtual void SetTools (const BOPCol_ListOfShape &theShapes)
 
void SetOperation (const BOPAlgo_Operation theOperation)
 
BOPAlgo_Operation Operation () const
 
virtual void Perform () override
 
- Public Member Functions inherited from BOPAlgo_Builder
 BOPAlgo_Builder ()
 
virtual ~BOPAlgo_Builder ()
 
 BOPAlgo_Builder (const BOPCol_BaseAllocator &theAllocator)
 
BOPAlgo_PPaveFiller PPaveFiller ()
 
BOPDS_PDS PDS ()
 
virtual void AddArgument (const TopoDS_Shape &theShape)
 
virtual void SetArguments (const BOPCol_ListOfShape &theLS)
 
const BOPCol_ListOfShapeArguments () const
 
virtual void PerformWithFiller (const BOPAlgo_PaveFiller &theFiller)
 
virtual const TopTools_ListOfShapeGenerated (const TopoDS_Shape &theS) override
 Returns the list of shapes generated from the shape theS. More...
 
virtual const TopTools_ListOfShapeModified (const TopoDS_Shape &theS) override
 Returns the list of shapes modified from the shape theS. More...
 
virtual Standard_Boolean IsDeleted (const TopoDS_Shape &theS) override
 Returns true if the shape theS has been deleted. More...
 
const BOPCol_DataMapOfShapeListOfShapeImages () const
 
Standard_Boolean IsInterferred (const TopoDS_Shape &theS) const
 
const BOPCol_DataMapOfShapeShapeOrigins () const
 Returns myOrigins. More...
 
const BOPCol_DataMapOfShapeShapeShapesSD () const
 Returns myShapesSD. More...
 
const BOPCol_DataMapOfShapeListOfShapeSplits () const
 Returns mySplits. More...
 
void SetNonDestructive (const Standard_Boolean theFlag)
 Sets the flag that defines the mode of treatment. In non-destructive mode the argument shapes are not modified. Instead a copy of a sub-shape is created in the result if it is needed to be updated. This flag is taken into account if internal PaveFiller is used only. In the case of calling PerformWithFiller the corresponding flag of that PaveFiller is in force. More...
 
Standard_Boolean NonDestructive () const
 Returns the flag that defines the mode of treatment. In non-destructive mode the argument shapes are not modified. Instead a copy of a sub-shape is created in the result if it is needed to be updated. More...
 
- Public Member Functions inherited from BOPAlgo_BuilderShape
const TopoDS_ShapeShape () const
 Returns the result of algorithm. More...
 
Standard_Boolean HasDeleted () const
 Returns true if the at least one shape(or subshape) of arguments has been deleted. More...
 
Standard_Boolean HasGenerated () const
 Returns true if the at least one shape(or subshape) of arguments has generated shapes. More...
 
Standard_Boolean HasModified () const
 Returns true if the at least one shape(or subshape) of arguments has modified shapes. More...
 
const BOPCol_IndexedDataMapOfShapeListOfShapeImagesResult () const
 
- Public Member Functions inherited from BOPAlgo_Algo
Standard_Integer ErrorStatus () const
 
Standard_Integer WarningStatus () const
 
const BOPCol_BaseAllocatorAllocator () const
 
void SetRunParallel (const Standard_Boolean theFlag)
 Set the flag of parallel processing if <theFlag> is true the parallel processing is switched on if <theFlag> is false the parallel processing is switched off. More...
 
Standard_Boolean RunParallel () const
 Returns the flag of parallel processing. More...
 
void SetFuzzyValue (const Standard_Real theFuzz)
 Sets the additional tolerance. More...
 
Standard_Real FuzzyValue () const
 Returns the additional tolerance. More...
 
void SetProgressIndicator (const Handle< Message_ProgressIndicator > &theObj)
 Set the Progress Indicator object. More...
 

Protected Member Functions

virtual void Prepare () override
 Prepares builder of local operation. More...
 
virtual void FillIn3DParts (BOPCol_DataMapOfShapeListOfShape &theInParts, BOPCol_DataMapOfShapeShape &theDraftSolids, const BOPCol_BaseAllocator &theAllocator) override
 Function is redefined to avoid the usage of removed faces. More...
 
- Protected Member Functions inherited from BOPAlgo_BOP
virtual void CheckData () override
 
virtual void PerformInternal1 (const BOPAlgo_PaveFiller &thePF) override
 Performs calculations using prepared Filler object <thePF> More...
 
virtual void BuildResult (const TopAbs_ShapeEnum theType) override
 
void BuildShape ()
 
void BuildRC ()
 
void BuildSolid ()
 
Standard_Boolean IsBoundSplits (const TopoDS_Shape &theS, BOPCol_IndexedDataMapOfShapeListOfShape &theMEF)
 
- Protected Member Functions inherited from BOPAlgo_Builder
virtual void PrepareHistory () override
 Prepare information for history support. More...
 
virtual void PerformInternal (const BOPAlgo_PaveFiller &thePF)
 
void FillImagesVertices ()
 
void FillImagesEdges ()
 
void FillImagesContainers (const TopAbs_ShapeEnum theType)
 
void FillImagesCompounds ()
 
void FillImagesContainer (const TopoDS_Shape &theS, const TopAbs_ShapeEnum theType)
 
void FillImagesCompound (const TopoDS_Shape &theS, BOPCol_MapOfShape &theMF)
 
void FillImagesFaces ()
 
virtual void BuildSplitFaces ()
 
void FillSameDomainFaces ()
 
void FillImagesFaces1 ()
 
void FillImagesSolids ()
 
void BuildDraftSolid (const TopoDS_Shape &theSolid, TopoDS_Shape &theDraftSolid, BOPCol_ListOfShape &theLIF)
 
void BuildSplitSolids (BOPCol_DataMapOfShapeListOfShape &theInParts, BOPCol_DataMapOfShapeShape &theDraftSolids, const BOPCol_BaseAllocator &theAllocator)
 
void FillInternalShapes ()
 
virtual void PostTreat ()
 
- Protected Member Functions inherited from BOPAlgo_BuilderShape
 BOPAlgo_BuilderShape ()
 
virtual ~BOPAlgo_BuilderShape ()
 
 BOPAlgo_BuilderShape (const BOPCol_BaseAllocator &theAllocator)
 
- Protected Member Functions inherited from BOPAlgo_Algo
 BOPAlgo_Algo ()
 
virtual ~BOPAlgo_Algo ()
 
 BOPAlgo_Algo (const BOPCol_BaseAllocator &theAllocator)
 
virtual void CheckResult ()
 
void UserBreak () const
 Breaks the execution if the break signal is indicated by myProgressIndicator. More...
 

Protected Attributes

BOPCol_MapOfShape myShapes
 
BOPCol_MapOfShape myRemoved
 
Standard_Integer myFuse
 
- Protected Attributes inherited from BOPAlgo_BOP
BOPAlgo_Operation myOperation
 
Standard_Integer myDims [2]
 
TopoDS_Shape myRC
 
BOPCol_ListOfShape myTools
 
BOPCol_MapOfShape myMapTools
 
- Protected Attributes inherited from BOPAlgo_Builder
BOPCol_ListOfShape myArguments
 
BOPCol_MapOfShape myMapFence
 
BOPAlgo_PPaveFiller myPaveFiller
 
BOPDS_PDS myDS
 
Handle< IntTools_ContextmyContext
 
Standard_Integer myEntryPoint
 
BOPCol_DataMapOfShapeListOfShape myImages
 
BOPCol_DataMapOfShapeShape myShapesSD
 
BOPCol_DataMapOfShapeListOfShape mySplits
 
BOPCol_DataMapOfShapeShape myOrigins
 
Standard_Boolean myNonDestructive
 
- Protected Attributes inherited from BOPAlgo_BuilderShape
TopoDS_Shape myShape
 
TopTools_ListOfShape myHistShapes
 
BOPCol_MapOfShape myMapShape
 
Standard_Boolean myHasDeleted
 
Standard_Boolean myHasGenerated
 
Standard_Boolean myHasModified
 
BOPCol_IndexedDataMapOfShapeListOfShape myImagesResult
 
Standard_Boolean myFlagHistory
 
- Protected Attributes inherited from BOPAlgo_Algo
BOPCol_BaseAllocator myAllocator
 
Standard_Integer myErrorStatus
 
Standard_Integer myWarningStatus
 
Standard_Boolean myRunParallel
 
Standard_Real myFuzzyValue
 
Handle< Message_ProgressIndicatormyProgressIndicator
 

Additional Inherited Members

- Static Public Member Functions inherited from BOPAlgo_Algo
static Standard_Boolean GetParallelMode ()
 
static void SetParallelMode (const Standard_Boolean theNewMode)
 

Detailed Description

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.

Constructor & Destructor Documentation

BRepFeat_Builder::BRepFeat_Builder ( )
virtual BRepFeat_Builder::~BRepFeat_Builder ( )
virtual

Member Function Documentation

void BRepFeat_Builder::CheckSolidImages ( )

Collects the images of the object, that contains in the images of the tool.

virtual void BRepFeat_Builder::Clear ( )
overridevirtual

Clears internal fields and arguments.

Reimplemented from BOPAlgo_BOP.

virtual void BRepFeat_Builder::FillIn3DParts ( BOPCol_DataMapOfShapeListOfShape theInParts,
BOPCol_DataMapOfShapeShape theDraftSolids,
const BOPCol_BaseAllocator theAllocator 
)
overrideprotectedvirtual

Function is redefined to avoid the usage of removed faces.

Reimplemented from BOPAlgo_Builder.

void BRepFeat_Builder::FillRemoved ( )

Collects the removed parts of the tool into myRemoved map.

void BRepFeat_Builder::FillRemoved ( const TopoDS_Shape theS,
BOPCol_MapOfShape theM 
)

Adds the shape S and its sub-shapes into myRemoved map.

void BRepFeat_Builder::Init ( const TopoDS_Shape theShape)

Initialyzes the object of local boolean operation.

void BRepFeat_Builder::Init ( const TopoDS_Shape theShape,
const TopoDS_Shape theTool 
)

Initialyzes the arguments of local boolean operation.

void BRepFeat_Builder::KeepPart ( const TopoDS_Shape theS)

Adds shape theS and all its sub-shapes into myShapes map.

void BRepFeat_Builder::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 BRepFeat_Builder::PartsOfTool ( TopTools_ListOfShape theLT)

Collects parts of the tool.

void BRepFeat_Builder::PerformResult ( )

Main function to build the result of the local operation required.

virtual void BRepFeat_Builder::Prepare ( )
overrideprotectedvirtual

Prepares builder of local operation.

Reimplemented from BOPAlgo_BOP.

void BRepFeat_Builder::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 BRepFeat_Builder::RebuildFaces ( )

Rebuilds faces in accordance with the kept parts of the tool.

void BRepFeat_Builder::SetOperation ( const Standard_Integer  theFuse)

Sets the operation of local boolean operation. If theFuse = 0 than the operation is CUT, otherwise FUSE.

void BRepFeat_Builder::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.

Field Documentation

Standard_Integer BRepFeat_Builder::myFuse
protected
BOPCol_MapOfShape BRepFeat_Builder::myRemoved
protected
BOPCol_MapOfShape BRepFeat_Builder::myShapes
protected

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