Open CASCADE Technology  7.2.0
Public Member Functions | Protected Member Functions | Protected Attributes

BOPAlgo_Builder Class Reference

The class is a General Fuse algorithm - base algorithm for the algorithms in the Boolean Component. Its main purpose is to build the split parts of the argument shapes from which the result of the operations is combined.
The result of the General Fuse algorithm itself is a compound containing all split parts of the arguments.
More...

#include <BOPAlgo_Builder.hxx>

Inheritance diagram for BOPAlgo_Builder:
Inheritance graph
[legend]

Public Member Functions

 BOPAlgo_Builder ()
 
virtual ~BOPAlgo_Builder ()
 
 BOPAlgo_Builder (const BOPCol_BaseAllocator &theAllocator)
 
virtual void Clear () override
 Clears all warnings and errors, and any data cached by the algorithm. User defined options are not cleared. More...
 
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 Perform () override
 
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 SetProgressIndicator (const Handle< Message_ProgressIndicator > &theObj)
 Set the Progress Indicator object. 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...
 

Protected Member Functions

virtual void PrepareHistory () override
 Prepare information for history support. More...
 
virtual void PerformInternal (const BOPAlgo_PaveFiller &thePF)
 
virtual void PerformInternal1 (const BOPAlgo_PaveFiller &thePF)
 
virtual void CheckData () override
 Checks input data. More...
 
void CheckFiller ()
 Checks if the intersection algorithm has Errors/Warnings. More...
 
virtual void Prepare ()
 
void FillImagesVertices ()
 
void FillImagesEdges ()
 
virtual void BuildResult (const TopAbs_ShapeEnum theType)
 
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)
 
virtual void FillIn3DParts (BOPCol_DataMapOfShapeListOfShape &theInParts, BOPCol_DataMapOfShapeShape &theDraftSolids, const BOPCol_BaseAllocator &theAllocator)
 
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_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

The class is a General Fuse algorithm - base algorithm for the algorithms in the Boolean Component. Its main purpose is to build the split parts of the argument shapes from which the result of the operations is combined.
The result of the General Fuse algorithm itself is a compound containing all split parts of the arguments.

Additionally to the options of the base classes, the algorithm has the following options:

The algorithm returns the following Error statuses:

Constructor & Destructor Documentation

◆ BOPAlgo_Builder() [1/2]

BOPAlgo_Builder::BOPAlgo_Builder ( )

◆ ~BOPAlgo_Builder()

virtual BOPAlgo_Builder::~BOPAlgo_Builder ( )
virtual

◆ BOPAlgo_Builder() [2/2]

BOPAlgo_Builder::BOPAlgo_Builder ( const BOPCol_BaseAllocator theAllocator)

Member Function Documentation

◆ AddArgument()

virtual void BOPAlgo_Builder::AddArgument ( const TopoDS_Shape theShape)
virtual

◆ Arguments()

const BOPCol_ListOfShape& BOPAlgo_Builder::Arguments ( ) const

◆ BuildDraftSolid()

void BOPAlgo_Builder::BuildDraftSolid ( const TopoDS_Shape theSolid,
TopoDS_Shape theDraftSolid,
BOPCol_ListOfShape theLIF 
)
protected

◆ BuildResult()

virtual void BOPAlgo_Builder::BuildResult ( const TopAbs_ShapeEnum  theType)
protectedvirtual

Reimplemented in BOPAlgo_BOP.

◆ BuildSplitFaces()

virtual void BOPAlgo_Builder::BuildSplitFaces ( )
protectedvirtual

◆ BuildSplitSolids()

void BOPAlgo_Builder::BuildSplitSolids ( BOPCol_DataMapOfShapeListOfShape theInParts,
BOPCol_DataMapOfShapeShape theDraftSolids,
const BOPCol_BaseAllocator theAllocator 
)
protected

◆ CheckData()

virtual void BOPAlgo_Builder::CheckData ( )
overrideprotectedvirtual

Checks input data.

Reimplemented from BOPAlgo_Algo.

Reimplemented in BOPAlgo_MakerVolume, BOPAlgo_BOP, BOPAlgo_Splitter, and BOPAlgo_Section.

◆ CheckFiller()

void BOPAlgo_Builder::CheckFiller ( )
protected

Checks if the intersection algorithm has Errors/Warnings.

◆ Clear()

virtual void BOPAlgo_Builder::Clear ( )
overridevirtual

Clears all warnings and errors, and any data cached by the algorithm. User defined options are not cleared.

Reimplemented from BOPAlgo_Options.

Reimplemented in BOPAlgo_CellsBuilder, BOPAlgo_MakerVolume, BOPAlgo_BOP, BOPAlgo_Splitter, and BRepFeat_Builder.

◆ FillImagesCompound()

void BOPAlgo_Builder::FillImagesCompound ( const TopoDS_Shape theS,
BOPCol_MapOfShape theMF 
)
protected

◆ FillImagesCompounds()

void BOPAlgo_Builder::FillImagesCompounds ( )
protected

◆ FillImagesContainer()

void BOPAlgo_Builder::FillImagesContainer ( const TopoDS_Shape theS,
const TopAbs_ShapeEnum  theType 
)
protected

◆ FillImagesContainers()

void BOPAlgo_Builder::FillImagesContainers ( const TopAbs_ShapeEnum  theType)
protected

◆ FillImagesEdges()

void BOPAlgo_Builder::FillImagesEdges ( )
protected

◆ FillImagesFaces()

void BOPAlgo_Builder::FillImagesFaces ( )
protected

◆ FillImagesFaces1()

void BOPAlgo_Builder::FillImagesFaces1 ( )
protected

◆ FillImagesSolids()

void BOPAlgo_Builder::FillImagesSolids ( )
protected

◆ FillImagesVertices()

void BOPAlgo_Builder::FillImagesVertices ( )
protected

◆ FillIn3DParts()

virtual void BOPAlgo_Builder::FillIn3DParts ( BOPCol_DataMapOfShapeListOfShape theInParts,
BOPCol_DataMapOfShapeShape theDraftSolids,
const BOPCol_BaseAllocator theAllocator 
)
protectedvirtual

Reimplemented in BRepFeat_Builder.

◆ FillInternalShapes()

void BOPAlgo_Builder::FillInternalShapes ( )
protected

◆ FillSameDomainFaces()

void BOPAlgo_Builder::FillSameDomainFaces ( )
protected

◆ Generated()

virtual const TopTools_ListOfShape& BOPAlgo_Builder::Generated ( const TopoDS_Shape theS)
overridevirtual

Returns the list of shapes generated from the shape theS.

Reimplemented from BOPAlgo_BuilderShape.

Reimplemented in BOPAlgo_Section.

◆ Glue()

BOPAlgo_GlueEnum BOPAlgo_Builder::Glue ( ) const

Returns the glue option of the algorithm.

◆ Images()

const BOPCol_DataMapOfShapeListOfShape& BOPAlgo_Builder::Images ( ) const

◆ IsDeleted()

virtual Standard_Boolean BOPAlgo_Builder::IsDeleted ( const TopoDS_Shape theS)
overridevirtual

Returns true if the shape theS has been deleted.

Reimplemented from BOPAlgo_BuilderShape.

Reimplemented in BOPAlgo_CellsBuilder.

◆ IsInterferred()

Standard_Boolean BOPAlgo_Builder::IsInterferred ( const TopoDS_Shape theS) const

◆ Modified()

virtual const TopTools_ListOfShape& BOPAlgo_Builder::Modified ( const TopoDS_Shape theS)
overridevirtual

Returns the list of shapes modified from the shape theS.

Reimplemented from BOPAlgo_BuilderShape.

Reimplemented in BOPAlgo_CellsBuilder.

◆ NonDestructive()

Standard_Boolean BOPAlgo_Builder::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.

◆ Origins()

const BOPCol_DataMapOfShapeListOfShape& BOPAlgo_Builder::Origins ( ) const

Returns myOrigins.

◆ PDS()

BOPDS_PDS BOPAlgo_Builder::PDS ( )

◆ Perform()

virtual void BOPAlgo_Builder::Perform ( )
overridevirtual

Implements BOPAlgo_Algo.

Reimplemented in BOPAlgo_MakerVolume, BOPAlgo_BOP, and BOPAlgo_Splitter.

◆ PerformInternal()

virtual void BOPAlgo_Builder::PerformInternal ( const BOPAlgo_PaveFiller thePF)
protectedvirtual

◆ PerformInternal1()

virtual void BOPAlgo_Builder::PerformInternal1 ( const BOPAlgo_PaveFiller thePF)
protectedvirtual

◆ PerformWithFiller()

virtual void BOPAlgo_Builder::PerformWithFiller ( const BOPAlgo_PaveFiller theFiller)
virtual

◆ PostTreat()

virtual void BOPAlgo_Builder::PostTreat ( )
protectedvirtual

◆ PPaveFiller()

BOPAlgo_PPaveFiller BOPAlgo_Builder::PPaveFiller ( )

◆ Prepare()

virtual void BOPAlgo_Builder::Prepare ( )
protectedvirtual

Reimplemented in BOPAlgo_CellsBuilder, and BRepFeat_Builder.

◆ PrepareHistory()

virtual void BOPAlgo_Builder::PrepareHistory ( )
overrideprotectedvirtual

Prepare information for history support.

Reimplemented from BOPAlgo_BuilderShape.

◆ SetArguments()

virtual void BOPAlgo_Builder::SetArguments ( const BOPCol_ListOfShape theLS)
virtual

◆ SetGlue()

void BOPAlgo_Builder::SetGlue ( const BOPAlgo_GlueEnum  theGlue)

Sets the glue option for the algorithm.

◆ SetNonDestructive()

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

◆ ShapesSD()

const BOPCol_DataMapOfShapeShape& BOPAlgo_Builder::ShapesSD ( ) const

Returns myShapesSD.

◆ Splits()

const BOPCol_DataMapOfShapeListOfShape& BOPAlgo_Builder::Splits ( ) const

Returns mySplits.

Field Documentation

◆ myArguments

BOPCol_ListOfShape BOPAlgo_Builder::myArguments
protected

◆ myContext

Handle< IntTools_Context > BOPAlgo_Builder::myContext
protected

◆ myDS

BOPDS_PDS BOPAlgo_Builder::myDS
protected

◆ myEntryPoint

Standard_Integer BOPAlgo_Builder::myEntryPoint
protected

◆ myGlue

BOPAlgo_GlueEnum BOPAlgo_Builder::myGlue
protected

◆ myImages

BOPCol_DataMapOfShapeListOfShape BOPAlgo_Builder::myImages
protected

◆ myMapFence

BOPCol_MapOfShape BOPAlgo_Builder::myMapFence
protected

◆ myNonDestructive

Standard_Boolean BOPAlgo_Builder::myNonDestructive
protected

◆ myOrigins

BOPCol_DataMapOfShapeListOfShape BOPAlgo_Builder::myOrigins
protected

◆ myPaveFiller

BOPAlgo_PPaveFiller BOPAlgo_Builder::myPaveFiller
protected

◆ myShapesSD

BOPCol_DataMapOfShapeShape BOPAlgo_Builder::myShapesSD
protected

◆ mySplits

BOPCol_DataMapOfShapeListOfShape BOPAlgo_Builder::mySplits
protected

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