Open CASCADE Technology
7.4.0
|
The root API class for performing Boolean Operations on arbitrary shapes. More...
#include <BRepAlgoAPI_BooleanOperation.hxx>
Public Member Functions | |
Setting/getting arguments | |
const TopoDS_Shape & | Shape1 () const |
Returns the first argument involved in this Boolean operation. Obsolete. More... | |
const TopoDS_Shape & | Shape2 () const |
Returns the second argument involved in this Boolean operation. Obsolete. More... | |
void | SetTools (const TopTools_ListOfShape &theLS) |
Sets the Tool arguments. More... | |
const TopTools_ListOfShape & | Tools () const |
Returns the Tools arguments. More... | |
Setting/Getting the type of Boolean operation | |
void | SetOperation (const BOPAlgo_Operation theBOP) |
Sets the type of Boolean operation. More... | |
BOPAlgo_Operation | Operation () const |
Returns the type of Boolean Operation. More... | |
Performing the operation | |
virtual void | Build () override |
Performs the Boolean operation. More... | |
Public Member Functions inherited from BRepAlgoAPI_BuilderAlgo | |
BRepAlgoAPI_BuilderAlgo () | |
Empty constructor. More... | |
virtual | ~BRepAlgoAPI_BuilderAlgo () |
Empty constructor. More... | |
BRepAlgoAPI_BuilderAlgo (const BOPAlgo_PaveFiller &thePF) | |
Constructor with prepared Filler object. More... | |
void | SetArguments (const TopTools_ListOfShape &theLS) |
Sets the arguments. More... | |
const TopTools_ListOfShape & | Arguments () const |
Gets the arguments. 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. 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, which allows increasing performance of the intersection of the input shapes. 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... | |
void | SimplifyResult (const Standard_Boolean theUnifyEdges=Standard_True, const Standard_Boolean theUnifyFaces=Standard_True, const Standard_Real theAngularTol=Precision::Angular()) |
Simplification of the result shape is performed by the means of ShapeUpgrade_UnifySameDomain algorithm. The result of the operation will be overwritten with the simplified result. More... | |
virtual const TopTools_ListOfShape & | Modified (const TopoDS_Shape &theS) override |
Returns the shapes modified from the shape <theS>. If any, the list will contain only those splits of the given shape, contained in the result. More... | |
virtual const TopTools_ListOfShape & | Generated (const TopoDS_Shape &theS) override |
Returns the list of shapes generated from the shape <theS>. In frames of Boolean Operations algorithms only Edges and Faces could have Generated elements, as only they produce new elements during intersection: More... | |
virtual Standard_Boolean | IsDeleted (const TopoDS_Shape &aS) override |
Checks if the shape <theS> has been completely removed from the result, i.e. the result does not contain the shape itself and any of its splits. Returns TRUE if the shape has been deleted. More... | |
virtual Standard_Boolean | HasModified () const |
Returns true if any of the input shapes has been modified during operation. More... | |
virtual Standard_Boolean | HasGenerated () const |
Returns true if any of the input shapes has generated shapes during operation. More... | |
virtual Standard_Boolean | HasDeleted () const |
Returns true if any of the input shapes has been deleted during operation. Normally, General Fuse operation should not have Deleted elements, but all derived operation can have. More... | |
void | SetToFillHistory (const Standard_Boolean theHistFlag) |
Allows disabling the history collection. More... | |
Standard_Boolean | HasHistory () const |
Returns flag of history availability. More... | |
const TopTools_ListOfShape & | SectionEdges () |
Returns a list of section edges. The edges represent the result of intersection between arguments of operation. More... | |
const BOPAlgo_PPaveFiller & | DSFiller () const |
Returns the Intersection tool. More... | |
const BOPAlgo_PBuilder & | Builder () const |
Returns the Building tool. More... | |
Handle< BRepTools_History > | History () const |
History tool. More... | |
Public Member Functions inherited from BRepAlgoAPI_Algo | |
virtual const TopoDS_Shape & | Shape () override |
Returns a shape built by the shape construction algorithm. Raises exception StdFail_NotDone if the shape was not built. More... | |
Public Member Functions inherited from BRepBuilderAPI_MakeShape | |
operator TopoDS_Shape () | |
Public Member Functions inherited from BRepBuilderAPI_Command | |
virtual | ~BRepBuilderAPI_Command () |
virtual Standard_Boolean | IsDone () const |
void | Check () const |
Raises NotDone if done is false. More... | |
Protected Attributes | |
Fields | |
TopTools_ListOfShape | myTools |
Tool arguments of operation. More... | |
BOPAlgo_Operation | myOperation |
Type of Boolean Operation. More... | |
Protected Attributes inherited from BRepAlgoAPI_BuilderAlgo | |
TopTools_ListOfShape | myArguments |
Arguments of the operation. More... | |
Standard_Boolean | myNonDestructive |
Non-destructive mode management. More... | |
BOPAlgo_GlueEnum | myGlue |
Gluing mode management. More... | |
Standard_Boolean | myCheckInverted |
Check for inverted solids management. More... | |
Standard_Boolean | myFillHistory |
Controls the history collection. More... | |
Standard_Boolean | myIsIntersectionNeeded |
Flag to control whether the intersection of arguments should be performed or not. More... | |
BOPAlgo_PPaveFiller | myDSFiller |
Intersection tool performs intersection of the argument shapes. More... | |
BOPAlgo_PBuilder | myBuilder |
Building tool performs construction of the result basing on the results of intersection. More... | |
Handle< BRepTools_History > | myHistory |
General History tool, containing all History of shapes modifications during the operation (including result simplification) More... | |
Handle< BRepTools_History > | mySimplifierHistory |
History of result shape simplification. More... | |
Protected Attributes inherited from BRepBuilderAPI_MakeShape | |
TopoDS_Shape | myShape |
TopTools_ListOfShape | myGenerated |
Protected Attributes inherited from BOPAlgo_Options | |
Handle< NCollection_BaseAllocator > | myAllocator |
Enables/Disables the usage of OBB. More... | |
Handle< Message_Report > | myReport |
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_ProgressIndicator > | myProgressIndicator |
Enables/Disables the usage of OBB. More... | |
Standard_Boolean | myUseOBB |
Enables/Disables the usage of OBB. More... | |
Constructors | |
BRepAlgoAPI_BooleanOperation () | |
Empty constructor. More... | |
BRepAlgoAPI_BooleanOperation (const BOPAlgo_PaveFiller &thePF) | |
Constructor with precomputed intersections of arguments. More... | |
BRepAlgoAPI_BooleanOperation (const TopoDS_Shape &theS1, const TopoDS_Shape &theS2, const BOPAlgo_Operation theOperation) | |
Constructor to perform Boolean operation on only two arguments. Obsolete. More... | |
BRepAlgoAPI_BooleanOperation (const TopoDS_Shape &theS1, const TopoDS_Shape &theS2, const BOPAlgo_PaveFiller &thePF, const BOPAlgo_Operation theOperation) | |
Constructor to perform Boolean operation on only two arguments with precomputed intersection results. Obsolete. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from BRepAlgoAPI_BuilderAlgo | |
virtual void | SetAttributes () |
Sets options (available in child classes) for the intersection tool. Here it does nothing. More... | |
void | IntersectShapes (const TopTools_ListOfShape &theArgs) |
Intersects the given shapes with the intersection tool. More... | |
void | BuildResult () |
Builds the resulting shape. More... | |
virtual void | Clear () override |
Clears the algorithm from previous runs. More... | |
Protected Member Functions inherited from BRepAlgoAPI_Algo | |
BRepAlgoAPI_Algo () | |
Empty constructor. More... | |
virtual | ~BRepAlgoAPI_Algo () |
Destructor. More... | |
BRepAlgoAPI_Algo (const Handle< NCollection_BaseAllocator > &theAllocator) | |
Empty constructor. More... | |
Protected Member Functions inherited from BRepBuilderAPI_MakeShape | |
BRepBuilderAPI_MakeShape () | |
Protected Member Functions inherited from BRepBuilderAPI_Command | |
BRepBuilderAPI_Command () | |
Set done to False. More... | |
void | Done () |
Set done to true. More... | |
void | NotDone () |
Set done to false. More... | |
Protected Member Functions inherited from BOPAlgo_Options | |
void | UserBreak () const |
Breaks the execution if the break signal is indicated by myProgressIndicator. More... | |
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 | 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 | SetUseOBB (const Standard_Boolean theUseOBB) |
Enables/Disables the usage of OBB. More... | |
Standard_Boolean | UseOBB () const |
Returns the flag defining usage of OBB. More... | |
Static Protected 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... | |
The root API class for performing Boolean Operations on arbitrary shapes.
The arguments of the operation are divided in two groups - Objects and Tools. Each group can contain any number of shapes, but each shape should be valid in terms of BRepCheck_Analyzer and BOPAlgo_ArgumentAnalyzer. The algorithm builds the splits of the given arguments using the intersection results and combines the result of Boolean Operation of given type:
The rules for the arguments and type of the operation are the following:
Additionally to the errors of the base class the algorithm returns the following Errors:
BRepAlgoAPI_BooleanOperation::BRepAlgoAPI_BooleanOperation | ( | ) |
Empty constructor.
BRepAlgoAPI_BooleanOperation::BRepAlgoAPI_BooleanOperation | ( | const BOPAlgo_PaveFiller & | thePF | ) |
Constructor with precomputed intersections of arguments.
|
protected |
Constructor to perform Boolean operation on only two arguments. Obsolete.
|
protected |
Constructor to perform Boolean operation on only two arguments with precomputed intersection results. Obsolete.
|
overridevirtual |
Performs the Boolean operation.
Reimplemented from BRepAlgoAPI_BuilderAlgo.
Reimplemented in BRepAlgoAPI_Section.
|
inline |
Returns the type of Boolean Operation.
|
inline |
Sets the type of Boolean operation.
|
inline |
Sets the Tool arguments.
|
inline |
Returns the first argument involved in this Boolean operation. Obsolete.
|
inline |
Returns the second argument involved in this Boolean operation. Obsolete.
|
inline |
Returns the Tools arguments.
|
protected |
Type of Boolean Operation.
|
protected |
Tool arguments of operation.