Open CASCADE Technology  7.2.0
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_DataMapOfShapeListOfShapeOrigins () 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...
 
void SetGlue (const BOPAlgo_GlueEnum theGlue)
 Sets the glue option for the algorithm. More...
 
BOPAlgo_GlueEnum Glue () const
 Returns the glue option of the algorithm. 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_Options
 BOPAlgo_Options ()
 Empty constructor. More...
 
 BOPAlgo_Options (const BOPCol_BaseAllocator &theAllocator)
 Constructor with allocator. More...
 
virtual ~BOPAlgo_Options ()
 Destructor. More...
 
const BOPCol_BaseAllocatorAllocator () const
 Returns allocator. More...
 
void AddError (const Handle< Message_Alert > &theAlert)
 Adds the alert as error (fail) More...
 
void AddWarning (const Handle< Message_Alert > &theAlert)
 Adds the alert as warning. More...
 
Standard_Boolean HasErrors () const
 Returns true if algorithm has failed. More...
 
Standard_Boolean HasError (const Handle< Standard_Type > &theType) const
 Returns true if algorithm has generated error of specified type. More...
 
Standard_Boolean HasWarnings () const
 Returns true if algorithm has generated some warning alerts. More...
 
Standard_Boolean HasWarning (const Handle< Standard_Type > &theType) const
 Returns true if algorithm has generated warning of specified type. More...
 
const Handle< Message_Report > & GetReport () const
 Returns report collecting all errors and warnings. More...
 
void DumpErrors (Standard_OStream &theOS) const
 Dumps the error status into the given stream. More...
 
void DumpWarnings (Standard_OStream &theOS) const
 Dumps the warning statuses into the given stream. More...
 
void ClearWarnings ()
 Clears the warnings of the algorithm. More...
 
void SetFuzzyValue (const Standard_Real theFuzz)
 Sets the additional tolerance. More...
 
Standard_Real FuzzyValue () const
 Returns the additional tolerance. More...
 
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 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
 Checks input data. More...
 
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)
 
Standard_Boolean TreatEmptyShape ()
 Treatment of the cases with empty shapes.
It returns TRUE if there is nothing to do, i.e. all shapes in one of the groups are empty shapes. More...
 
- 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 CheckFiller ()
 Checks if the intersection algorithm has Errors/Warnings. More...
 
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 ()
 Default constructor. More...
 
virtual ~BOPAlgo_Algo ()
 
 BOPAlgo_Algo (const BOPCol_BaseAllocator &theAllocator)
 
virtual void CheckResult ()
 Checks the obtained result. More...
 
- Protected Member Functions inherited from BOPAlgo_Options
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_DataMapOfShapeListOfShape myOrigins
 
Standard_Boolean myNonDestructive
 
BOPAlgo_GlueEnum myGlue
 
- 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_Options
BOPCol_BaseAllocator myAllocator
 Set the Progress Indicator object. More...
 
Handle< Message_ReportmyReport
 Set the Progress Indicator object. More...
 
Standard_Boolean myRunParallel
 Set the Progress Indicator object. More...
 
Standard_Real myFuzzyValue
 Set the Progress Indicator object. More...
 
Handle< Message_ProgressIndicatormyProgressIndicator
 Set the Progress Indicator object. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from BOPAlgo_Options
static Standard_Boolean GetParallelMode ()
 Gets the global parallel mode. More...
 
static void SetParallelMode (const Standard_Boolean theNewMode)
 Sets the global parallel mode. More...
 

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

◆ ~BRepFeat_Builder()

virtual BRepFeat_Builder::~BRepFeat_Builder ( )
virtual

Member Function Documentation

◆ CheckSolidImages()

void BRepFeat_Builder::CheckSolidImages ( )

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

◆ Clear()

virtual void BRepFeat_Builder::Clear ( )
overridevirtual

Clears internal fields and arguments.

Reimplemented from BOPAlgo_BOP.

◆ FillIn3DParts()

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.

◆ FillRemoved() [1/2]

void BRepFeat_Builder::FillRemoved ( )

Collects the removed parts of the tool into myRemoved map.

◆ FillRemoved() [2/2]

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

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

◆ Init() [1/2]

void BRepFeat_Builder::Init ( const TopoDS_Shape theShape)

Initialyzes the object of local boolean operation.

◆ Init() [2/2]

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

Initialyzes the arguments of local boolean operation.

◆ KeepPart()

void BRepFeat_Builder::KeepPart ( const TopoDS_Shape theS)

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

◆ KeepParts()

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.

◆ PartsOfTool()

void BRepFeat_Builder::PartsOfTool ( TopTools_ListOfShape theLT)

Collects parts of the tool.

◆ PerformResult()

void BRepFeat_Builder::PerformResult ( )

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

◆ Prepare()

virtual void BRepFeat_Builder::Prepare ( )
overrideprotectedvirtual

Prepares builder of local operation.

Reimplemented from BOPAlgo_Builder.

◆ RebuildEdge()

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.

◆ RebuildFaces()

void BRepFeat_Builder::RebuildFaces ( )

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

◆ SetOperation() [1/2]

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.

◆ SetOperation() [2/2]

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

◆ myFuse

Standard_Integer BRepFeat_Builder::myFuse
protected

◆ myRemoved

BOPCol_MapOfShape BRepFeat_Builder::myRemoved
protected

◆ myShapes

BOPCol_MapOfShape BRepFeat_Builder::myShapes
protected

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