Open CASCADE Technology  7.3.0
Public Member Functions

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 ()
 Empty constructor. More...
 
virtual ~BOPAlgo_Builder ()
 
 BOPAlgo_Builder (const Handle< NCollection_BaseAllocator > &theAllocator)
 
virtual void Clear () override
 Clears the content of the algorithm. More...
 
BOPAlgo_PPaveFiller PPaveFiller ()
 Returns the PaveFiller, algorithm for sub-shapes intersection. More...
 
BOPDS_PDS PDS ()
 Returns the Data Structure, holder of intersection information. More...
 
Handle< IntTools_ContextContext () const
 Returns the Context, tool for cashing heavy algorithms. More...
 
Arguments
virtual void AddArgument (const TopoDS_Shape &theShape)
 Adds the argument to the operation. More...
 
virtual void SetArguments (const TopTools_ListOfShape &theLS)
 Sets the list of arguments for the operation. More...
 
const TopTools_ListOfShapeArguments () const
 Returns the list of arguments. More...
 
Options
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...
 
void SetCheckInverted (const Standard_Boolean theCheck)
 Enables/Disables the check of the input solids for inverted status. More...
 
Standard_Boolean CheckInverted () const
 Returns the flag defining whether the check for input solids on inverted status should be performed or not. More...
 
Performing the operation
virtual void Perform () override
 Performs the operation. The intersection will be performed also. More...
 
virtual void PerformWithFiller (const BOPAlgo_PaveFiller &theFiller)
 Performs the operation with the prepared filler. The intersection will not be performed in this case. More...
 
Images/Origins
const TopTools_DataMapOfShapeListOfShapeImages () const
 Returns the map of images. More...
 
const TopTools_DataMapOfShapeListOfShapeOrigins () const
 Returns the map of origins. More...
 
const TopTools_DataMapOfShapeShapeShapesSD () const
 Returns the map of Same Domain (SD) shapes - coinciding shapes from different arguments. 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 TopTools_IndexedDataMapOfShapeListOfShapeImagesResult () const
 
- Public Member Functions inherited from BOPAlgo_Options
 BOPAlgo_Options ()
 Empty constructor. More...
 
 BOPAlgo_Options (const Handle< NCollection_BaseAllocator > &theAllocator)
 Constructor with allocator. More...
 
virtual ~BOPAlgo_Options ()
 Destructor. More...
 
const Handle< NCollection_BaseAllocator > & Allocator () 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 SetUseOBB (const Standard_Boolean theUseOBB)
 Enables/Disables the usage of OBB. More...
 
Standard_Boolean UseOBB () const
 Returns the flag defining usage of OBB. 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

Methods for building the result
virtual void PerformInternal (const BOPAlgo_PaveFiller &thePF)
 Performs the building of the result. The method calls the PerfromInternal1() method surrounded by a try-catch block. More...
 
virtual void PerformInternal1 (const BOPAlgo_PaveFiller &thePF)
 Performs the building of the result. To build the result of any other operation it will be necessary to override this method. More...
 
virtual void BuildResult (const TopAbs_ShapeEnum theType)
 Builds the result of operation. The method is called for each of the arguments type and adds into the result the splits of the arguments of that type. More...
 
Checking input arguments
virtual void CheckData () override
 Checks the input data. More...
 
void CheckFiller ()
 Checks if the intersection algorithm has Errors/Warnings. More...
 
virtual void Prepare ()
 Prepares the result shape by making it empty compound. More...
 
Fill Images of VERTICES
void FillImagesVertices ()
 Fills the images of vertices. More...
 
Fill Images of EDGES
void FillImagesEdges ()
 Fills the images of edges. More...
 
Fill Images of CONTAINERS
void FillImagesContainers (const TopAbs_ShapeEnum theType)
 Fills the images of containers (WIRES/SHELLS/COMPSOLID). More...
 
void FillImagesContainer (const TopoDS_Shape &theS, const TopAbs_ShapeEnum theType)
 Builds the image of the given container using the splits of its sub-shapes. More...
 
Fill Images of FACES
void FillImagesFaces ()
 Fills the images of faces. The method consists of three steps: More...
 
virtual void BuildSplitFaces ()
 Builds the splits of faces using the information from the intersection stage stored in Data Structure. More...
 
void FillSameDomainFaces ()
 Looks for the same domain faces among the splits of the faces. Updates the map of images with SD faces. More...
 
void FillInternalVertices ()
 Classifies the alone vertices on faces relatively its splits and adds them as INTERNAL into the splits. More...
 
Fill Images of SOLIDS
void FillImagesSolids ()
 Fills the images of solids. The method consists of four steps: More...
 
void BuildDraftSolid (const TopoDS_Shape &theSolid, TopoDS_Shape &theDraftSolid, TopTools_ListOfShape &theLIF)
 Builds the draft solid by rebuilding the shells of the solid with the splits of faces. More...
 
virtual void FillIn3DParts (TopTools_DataMapOfShapeListOfShape &theInParts, TopTools_DataMapOfShapeShape &theDraftSolids, const Handle< NCollection_BaseAllocator > &theAllocator)
 Finds faces located inside each solid. More...
 
void BuildSplitSolids (TopTools_DataMapOfShapeListOfShape &theInParts, TopTools_DataMapOfShapeShape &theDraftSolids, const Handle< NCollection_BaseAllocator > &theAllocator)
 Builds the splits of the solids using their draft versions and faces located inside. More...
 
void FillInternalShapes ()
 Classifies the vertices and edges from the arguments relatively splits of solids and makes them INTERNAL for solids. More...
 
Fill Images of COMPOUNDS
void FillImagesCompounds ()
 Fills the images of compounds. More...
 
void FillImagesCompound (const TopoDS_Shape &theS, TopTools_MapOfShape &theMF)
 Builds the image of the given compound. More...
 
Post treatment
virtual void PostTreat ()
 Post treatment of the result of the operation. The method checks validity of the sub-shapes of the result and updates the tolerances to make them valid. More...
 
- Protected Member Functions inherited from BOPAlgo_BuilderShape
 BOPAlgo_BuilderShape ()
 
virtual ~BOPAlgo_BuilderShape ()
 
 BOPAlgo_BuilderShape (const Handle< NCollection_BaseAllocator > &theAllocator)
 
- Protected Member Functions inherited from BOPAlgo_Algo
 BOPAlgo_Algo ()
 Default constructor. More...
 
virtual ~BOPAlgo_Algo ()
 
 BOPAlgo_Algo (const Handle< NCollection_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

Fields
TopTools_ListOfShape myArguments
 Arguments of the operation. More...
 
TopTools_MapOfShape myMapFence
 Fence map providing the uniqueness of the shapes in the list of arguments. More...
 
BOPAlgo_PPaveFiller myPaveFiller
 Pave Filler - algorithm for sub-shapes intersection. More...
 
BOPDS_PDS myDS
 Data Structure - holder of intersection information. More...
 
Handle< IntTools_ContextmyContext
 Context - tool for cashing heavy algorithms such as Projectors and Classifiers. More...
 
Standard_Integer myEntryPoint
 EntryPoint - controls the deletion of the PaveFiller, which could live longer than the Builder. More...
 
TopTools_DataMapOfShapeListOfShape myImages
 Images - map of Images of the sub-shapes of arguments. More...
 
TopTools_DataMapOfShapeShape myShapesSD
 ShapesSD - map of SD Shapes. More...
 
TopTools_DataMapOfShapeListOfShape myOrigins
 Origins - map of Origins, back map of Images. More...
 
Standard_Boolean myNonDestructive
 Safe processing option allows avoiding modification of the input shapes. More...
 
BOPAlgo_GlueEnum myGlue
 Gluing option allows speeding up the intersection of the input shapes. More...
 
Standard_Boolean myCheckInverted
 Check inverted option allows disabling the check of input solids on inverted status. More...
 
- Protected Attributes inherited from BOPAlgo_BuilderShape
TopoDS_Shape myShape
 
TopTools_ListOfShape myHistShapes
 
TopTools_MapOfShape myMapShape
 
Standard_Boolean myHasDeleted
 
Standard_Boolean myHasGenerated
 
Standard_Boolean myHasModified
 
TopTools_IndexedDataMapOfShapeListOfShape myImagesResult
 
Standard_Boolean myFlagHistory
 
- Protected Attributes inherited from BOPAlgo_Options
Handle< NCollection_BaseAllocatormyAllocator
 Enables/Disables the usage of OBB. More...
 
Handle< Message_ReportmyReport
 Enables/Disables the usage of OBB. More...
 
Standard_Boolean myRunParallel
 Enables/Disables the usage of OBB. More...
 
Standard_Real myFuzzyValue
 Enables/Disables the usage of OBB. More...
 
Handle< Message_ProgressIndicatormyProgressIndicator
 Enables/Disables the usage of OBB. More...
 
Standard_Boolean myUseOBB
 Enables/Disables the usage of OBB. More...
 

History methods

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...
 
virtual void PrepareHistory () override
 Prepare information for history support. More...
 
virtual const TopTools_ListOfShapeLocModified (const TopoDS_Shape &theS)
 Prepare history information for the input shapes taking into account possible operation-specific modifications. For instance, in the CellsBuilder operation, additionally to splitting input shapes the splits of the shapes (or the shapes themselves) may be unified during removal of internal boundaries. In this case each split should be linked to the unified shape. 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 warnings:

The algorithm returns the following Error statuses:

Constructor & Destructor Documentation

◆ BOPAlgo_Builder() [1/2]

BOPAlgo_Builder::BOPAlgo_Builder ( )

Empty constructor.

◆ ~BOPAlgo_Builder()

virtual BOPAlgo_Builder::~BOPAlgo_Builder ( )
virtual

◆ BOPAlgo_Builder() [2/2]

BOPAlgo_Builder::BOPAlgo_Builder ( const Handle< NCollection_BaseAllocator > &  theAllocator)

Member Function Documentation

◆ AddArgument()

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

Adds the argument to the operation.

◆ Arguments()

const TopTools_ListOfShape& BOPAlgo_Builder::Arguments ( ) const
inline

Returns the list of arguments.

◆ BuildDraftSolid()

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

Builds the draft solid by rebuilding the shells of the solid with the splits of faces.

◆ BuildResult()

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

Builds the result of operation. The method is called for each of the arguments type and adds into the result the splits of the arguments of that type.

Reimplemented in BOPAlgo_BOP.

◆ BuildSplitFaces()

virtual void BOPAlgo_Builder::BuildSplitFaces ( )
protectedvirtual

Builds the splits of faces using the information from the intersection stage stored in Data Structure.

◆ BuildSplitSolids()

void BOPAlgo_Builder::BuildSplitSolids ( TopTools_DataMapOfShapeListOfShape theInParts,
TopTools_DataMapOfShapeShape theDraftSolids,
const Handle< NCollection_BaseAllocator > &  theAllocator 
)
protected

Builds the splits of the solids using their draft versions and faces located inside.

◆ CheckData()

virtual void BOPAlgo_Builder::CheckData ( )
overrideprotectedvirtual

Checks the 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.

◆ CheckInverted()

Standard_Boolean BOPAlgo_Builder::CheckInverted ( ) const
inline

Returns the flag defining whether the check for input solids on inverted status should be performed or not.

◆ Clear()

virtual void BOPAlgo_Builder::Clear ( )
overridevirtual

Clears the content of the algorithm.

Reimplemented from BOPAlgo_Options.

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

◆ Context()

Handle< IntTools_Context > BOPAlgo_Builder::Context ( ) const
inline

Returns the Context, tool for cashing heavy algorithms.

◆ FillImagesCompound()

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

Builds the image of the given compound.

◆ FillImagesCompounds()

void BOPAlgo_Builder::FillImagesCompounds ( )
protected

Fills the images of compounds.

◆ FillImagesContainer()

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

Builds the image of the given container using the splits of its sub-shapes.

◆ FillImagesContainers()

void BOPAlgo_Builder::FillImagesContainers ( const TopAbs_ShapeEnum  theType)
protected

Fills the images of containers (WIRES/SHELLS/COMPSOLID).

◆ FillImagesEdges()

void BOPAlgo_Builder::FillImagesEdges ( )
protected

Fills the images of edges.

◆ FillImagesFaces()

void BOPAlgo_Builder::FillImagesFaces ( )
protected

Fills the images of faces. The method consists of three steps:

  1. Build the splits of faces;
  2. Find SD faces;
  3. Add internal vertices (if any) to faces.

◆ FillImagesSolids()

void BOPAlgo_Builder::FillImagesSolids ( )
protected

Fills the images of solids. The method consists of four steps:

  1. Build the draft solid - just rebuild the solid using the splits of faces;
  2. Find faces from other arguments located inside the solids;
  3. Build splits of solid using the inside faces;
  4. Fill internal shapes for the splits (Wires and vertices).

◆ FillImagesVertices()

void BOPAlgo_Builder::FillImagesVertices ( )
protected

Fills the images of vertices.

◆ FillIn3DParts()

virtual void BOPAlgo_Builder::FillIn3DParts ( TopTools_DataMapOfShapeListOfShape theInParts,
TopTools_DataMapOfShapeShape theDraftSolids,
const Handle< NCollection_BaseAllocator > &  theAllocator 
)
protectedvirtual

Finds faces located inside each solid.

Reimplemented in BRepFeat_Builder.

◆ FillInternalShapes()

void BOPAlgo_Builder::FillInternalShapes ( )
protected

Classifies the vertices and edges from the arguments relatively splits of solids and makes them INTERNAL for solids.

◆ FillInternalVertices()

void BOPAlgo_Builder::FillInternalVertices ( )
protected

Classifies the alone vertices on faces relatively its splits and adds them as INTERNAL into the splits.

◆ FillSameDomainFaces()

void BOPAlgo_Builder::FillSameDomainFaces ( )
protected

Looks for the same domain faces among the splits of the faces. Updates the map of images with SD faces.

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

◆ Glue()

BOPAlgo_GlueEnum BOPAlgo_Builder::Glue ( ) const
inline

Returns the glue option of the algorithm.

◆ Images()

const TopTools_DataMapOfShapeListOfShape& BOPAlgo_Builder::Images ( ) const
inline

Returns the map of images.

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

◆ LocModified()

virtual const TopTools_ListOfShape* BOPAlgo_Builder::LocModified ( const TopoDS_Shape theS)
protectedvirtual

Prepare history information for the input shapes taking into account possible operation-specific modifications. For instance, in the CellsBuilder operation, additionally to splitting input shapes the splits of the shapes (or the shapes themselves) may be unified during removal of internal boundaries. In this case each split should be linked to the unified shape.

To have correct history information, the method should be redefined in each operation where such additional modification is possible. The input shape <theS> should be the one from arguments, and the returning list should contain all final elements to which the input shape has evolved, including those not contained in the result shape.

The method returns pointer to the list of modified elements. NULL pointer means that the shape has not been modified at all.

The General Fuse operation does not perform any other modification than splitting the input shapes basing on their intersection information. This information is contained in myImages map. Thus, here the method returns only splits (if any) contained in this map.

Reimplemented in BOPAlgo_CellsBuilder.

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

◆ NonDestructive()

Standard_Boolean BOPAlgo_Builder::NonDestructive ( ) const
inline

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 TopTools_DataMapOfShapeListOfShape& BOPAlgo_Builder::Origins ( ) const
inline

Returns the map of origins.

◆ PDS()

BOPDS_PDS BOPAlgo_Builder::PDS ( )
inline

Returns the Data Structure, holder of intersection information.

◆ Perform()

virtual void BOPAlgo_Builder::Perform ( )
overridevirtual

Performs the operation. The intersection will be performed also.

Implements BOPAlgo_Algo.

Reimplemented in BOPAlgo_MakerVolume, BOPAlgo_BOP, and BOPAlgo_Splitter.

◆ PerformInternal()

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

Performs the building of the result. The method calls the PerfromInternal1() method surrounded by a try-catch block.

◆ PerformInternal1()

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

Performs the building of the result. To build the result of any other operation it will be necessary to override this method.

Reimplemented in BOPAlgo_CellsBuilder, BOPAlgo_MakerVolume, BOPAlgo_BOP, and BOPAlgo_Section.

◆ PerformWithFiller()

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

Performs the operation with the prepared filler. The intersection will not be performed in this case.

◆ PostTreat()

virtual void BOPAlgo_Builder::PostTreat ( )
protectedvirtual

Post treatment of the result of the operation. The method checks validity of the sub-shapes of the result and updates the tolerances to make them valid.

◆ PPaveFiller()

BOPAlgo_PPaveFiller BOPAlgo_Builder::PPaveFiller ( )
inline

Returns the PaveFiller, algorithm for sub-shapes intersection.

◆ Prepare()

virtual void BOPAlgo_Builder::Prepare ( )
protectedvirtual

Prepares the result shape by making it empty compound.

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 TopTools_ListOfShape theLS)
virtual

Sets the list of arguments for the operation.

◆ SetCheckInverted()

void BOPAlgo_Builder::SetCheckInverted ( const Standard_Boolean  theCheck)
inline

Enables/Disables the check of the input solids for inverted status.

◆ SetGlue()

void BOPAlgo_Builder::SetGlue ( const BOPAlgo_GlueEnum  theGlue)
inline

Sets the glue option for the algorithm.

◆ SetNonDestructive()

void BOPAlgo_Builder::SetNonDestructive ( const Standard_Boolean  theFlag)
inline

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 TopTools_DataMapOfShapeShape& BOPAlgo_Builder::ShapesSD ( ) const
inline

Returns the map of Same Domain (SD) shapes - coinciding shapes from different arguments.

Field Documentation

◆ myArguments

TopTools_ListOfShape BOPAlgo_Builder::myArguments
protected

Arguments of the operation.

◆ myCheckInverted

Standard_Boolean BOPAlgo_Builder::myCheckInverted
protected

Check inverted option allows disabling the check of input solids on inverted status.

◆ myContext

Handle< IntTools_Context > BOPAlgo_Builder::myContext
protected

Context - tool for cashing heavy algorithms such as Projectors and Classifiers.

◆ myDS

BOPDS_PDS BOPAlgo_Builder::myDS
protected

Data Structure - holder of intersection information.

◆ myEntryPoint

Standard_Integer BOPAlgo_Builder::myEntryPoint
protected

EntryPoint - controls the deletion of the PaveFiller, which could live longer than the Builder.

◆ myGlue

BOPAlgo_GlueEnum BOPAlgo_Builder::myGlue
protected

Gluing option allows speeding up the intersection of the input shapes.

◆ myImages

TopTools_DataMapOfShapeListOfShape BOPAlgo_Builder::myImages
protected

Images - map of Images of the sub-shapes of arguments.

◆ myMapFence

TopTools_MapOfShape BOPAlgo_Builder::myMapFence
protected

Fence map providing the uniqueness of the shapes in the list of arguments.

◆ myNonDestructive

Standard_Boolean BOPAlgo_Builder::myNonDestructive
protected

Safe processing option allows avoiding modification of the input shapes.

◆ myOrigins

TopTools_DataMapOfShapeListOfShape BOPAlgo_Builder::myOrigins
protected

Origins - map of Origins, back map of Images.

◆ myPaveFiller

BOPAlgo_PPaveFiller BOPAlgo_Builder::myPaveFiller
protected

Pave Filler - algorithm for sub-shapes intersection.

◆ myShapesSD

TopTools_DataMapOfShapeShape BOPAlgo_Builder::myShapesSD
protected

ShapesSD - map of SD Shapes.


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