|
Open CASCADE Technology
7.7.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 (const Message_ProgressRange &theRange=Message_ProgressRange()) 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... | |
| 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, const Message_ProgressRange &theRange) |
| Intersects the given shapes with the intersection tool. More... | |
| void | BuildResult (const Message_ProgressRange &theRange=Message_ProgressRange()) |
| 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 | |
| Standard_Boolean | UserBreak (const Message_ProgressScope &thePS) |
| Adds error to the report if the break signal was caught. Returns true in this case, false otherwise. 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 | 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.
1.8.13