Open CASCADE Technology 7.8.0
|
The class contains API level of the Splitter algorithm, which allows splitting a group of arbitrary shapes by the other group of arbitrary shapes.
The arguments of the operation are divided on two groups:
Objects - shapes that will be split;
Tools - shapes by which the Objects will be split.
The result of the operation contains only the split parts of the shapes from the group of Objects.
The split parts of the shapes from the group of Tools are excluded from the result.
The shapes can be split by the other shapes from the same group (in case these shapes are interfering).
More...
#include <BRepAlgoAPI_Splitter.hxx>
Public Member Functions | |
Constructors | |
BRepAlgoAPI_Splitter () | |
Empty constructor. | |
BRepAlgoAPI_Splitter (const BOPAlgo_PaveFiller &thePF) | |
Constructor with already prepared intersection tool - PaveFiller. | |
Setters/Getters for the Tools | |
void | SetTools (const TopTools_ListOfShape &theLS) |
Sets the Tool arguments. | |
const TopTools_ListOfShape & | Tools () const |
Returns the Tool arguments. | |
Performing the operation | |
virtual void | Build (const Message_ProgressRange &theRange=Message_ProgressRange()) override |
Performs the Split operation. Performs the intersection of the argument shapes (both objects and tools) and splits objects by the tools. | |
Public Member Functions inherited from BRepAlgoAPI_BuilderAlgo | |
BRepAlgoAPI_BuilderAlgo () | |
Empty constructor. | |
virtual | ~BRepAlgoAPI_BuilderAlgo () |
Empty constructor. | |
BRepAlgoAPI_BuilderAlgo (const BOPAlgo_PaveFiller &thePF) | |
Constructor with prepared Filler object. | |
void | SetArguments (const TopTools_ListOfShape &theLS) |
Sets the arguments. | |
const TopTools_ListOfShape & | Arguments () const |
Gets the arguments. | |
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. | |
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. | |
void | SetGlue (const BOPAlgo_GlueEnum theGlue) |
Sets the glue option for the algorithm, which allows increasing performance of the intersection of the input shapes. | |
BOPAlgo_GlueEnum | Glue () const |
Returns the glue option of the algorithm. | |
void | SetCheckInverted (const Standard_Boolean theCheck) |
Enables/Disables the check of the input solids for inverted status. | |
Standard_Boolean | CheckInverted () const |
Returns the flag defining whether the check for input solids on inverted status should be performed or not. | |
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. | |
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. | |
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: | |
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. | |
virtual Standard_Boolean | HasModified () const |
Returns true if any of the input shapes has been modified during operation. | |
virtual Standard_Boolean | HasGenerated () const |
Returns true if any of the input shapes has generated shapes during operation. | |
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. | |
void | SetToFillHistory (const Standard_Boolean theHistFlag) |
Allows disabling the history collection. | |
Standard_Boolean | HasHistory () const |
Returns flag of history availability. | |
const TopTools_ListOfShape & | SectionEdges () |
Returns a list of section edges. The edges represent the result of intersection between arguments of operation. | |
const BOPAlgo_PPaveFiller & | DSFiller () const |
Returns the Intersection tool. | |
const BOPAlgo_PBuilder & | Builder () const |
Returns the Building tool. | |
Handle< BRepTools_History > | History () const |
History tool. | |
Public Member Functions inherited from BRepAlgoAPI_Algo | |
virtual const TopoDS_Shape & | Shape () override |
Returns a shape built by the shape construction algorithm. Does not check if the shape is built. | |
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. | |
Standard_Boolean | RunParallel () const |
Returns the flag of parallel processing. | |
void | SetFuzzyValue (const Standard_Real theFuzz) |
Sets the additional tolerance. | |
Standard_Real | FuzzyValue () const |
Returns the additional tolerance. | |
Standard_Boolean | HasErrors () const |
Returns true if algorithm has failed. | |
Standard_Boolean | HasWarnings () const |
Returns true if algorithm has generated some warning alerts. | |
Standard_Boolean | HasError (const Handle< Standard_Type > &theType) const |
Returns true if algorithm has generated error of specified type. | |
Standard_Boolean | HasWarning (const Handle< Standard_Type > &theType) const |
Returns true if algorithm has generated warning of specified type. | |
void | DumpErrors (Standard_OStream &theOS) const |
Dumps the error status into the given stream. | |
void | DumpWarnings (Standard_OStream &theOS) const |
Dumps the warning statuses into the given stream. | |
void | ClearWarnings () |
Clears the warnings of the algorithm. | |
const Handle< Message_Report > & | GetReport () const |
Returns report collecting all errors and warnings. | |
void | SetUseOBB (const Standard_Boolean theUseOBB) |
Enables/Disables the usage of OBB. | |
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. | |
Protected Attributes | |
Fields | |
TopTools_ListOfShape | myTools |
Tool arguments of the operation. | |
Protected Attributes inherited from BRepAlgoAPI_BuilderAlgo | |
TopTools_ListOfShape | myArguments |
Arguments of the operation. | |
Standard_Boolean | myNonDestructive |
Non-destructive mode management. | |
BOPAlgo_GlueEnum | myGlue |
Gluing mode management. | |
Standard_Boolean | myCheckInverted |
Check for inverted solids management. | |
Standard_Boolean | myFillHistory |
Controls the history collection. | |
Standard_Boolean | myIsIntersectionNeeded |
Flag to control whether the intersection of arguments should be performed or not. | |
BOPAlgo_PPaveFiller | myDSFiller |
Intersection tool performs intersection of the argument shapes. | |
BOPAlgo_PBuilder | myBuilder |
Building tool performs construction of the result basing on the results of intersection. | |
Handle< BRepTools_History > | myHistory |
General History tool, containing all History of shapes modifications during the operation (including result simplification) | |
Handle< BRepTools_History > | mySimplifierHistory |
History of result shape simplification. | |
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. | |
Handle< Message_Report > | myReport |
Enables/Disables the usage of OBB. | |
Standard_Boolean | myRunParallel |
Enables/Disables the usage of OBB. | |
Standard_Real | myFuzzyValue |
Enables/Disables the usage of OBB. | |
Standard_Boolean | myUseOBB |
Enables/Disables the usage of OBB. | |
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. | |
void | IntersectShapes (const TopTools_ListOfShape &theArgs, const Message_ProgressRange &theRange) |
Intersects the given shapes with the intersection tool. | |
void | BuildResult (const Message_ProgressRange &theRange=Message_ProgressRange()) |
Builds the resulting shape. | |
virtual void | Clear () override |
Clears the algorithm from previous runs. | |
Protected Member Functions inherited from BRepAlgoAPI_Algo | |
BRepAlgoAPI_Algo () | |
Empty constructor. | |
virtual | ~BRepAlgoAPI_Algo () |
Destructor. | |
BRepAlgoAPI_Algo (const Handle< NCollection_BaseAllocator > &theAllocator) | |
Empty constructor. | |
Protected Member Functions inherited from BRepBuilderAPI_MakeShape | |
BRepBuilderAPI_MakeShape () | |
Protected Member Functions inherited from BRepBuilderAPI_Command | |
BRepBuilderAPI_Command () | |
Set done to False. | |
void | Done () |
Set done to true. | |
void | NotDone () |
Set done to false. | |
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. | |
BOPAlgo_Options () | |
Empty constructor. | |
BOPAlgo_Options (const Handle< NCollection_BaseAllocator > &theAllocator) | |
Constructor with allocator. | |
virtual | ~BOPAlgo_Options () |
Destructor. | |
const Handle< NCollection_BaseAllocator > & | Allocator () const |
Returns allocator. | |
void | AddError (const Handle< Message_Alert > &theAlert) |
Adds the alert as error (fail) | |
void | AddWarning (const Handle< Message_Alert > &theAlert) |
Adds the alert as warning. | |
Standard_Boolean | HasErrors () const |
Returns true if algorithm has failed. | |
Standard_Boolean | HasError (const Handle< Standard_Type > &theType) const |
Returns true if algorithm has generated error of specified type. | |
Standard_Boolean | HasWarnings () const |
Returns true if algorithm has generated some warning alerts. | |
Standard_Boolean | HasWarning (const Handle< Standard_Type > &theType) const |
Returns true if algorithm has generated warning of specified type. | |
const Handle< Message_Report > & | GetReport () const |
Returns report collecting all errors and warnings. | |
void | DumpErrors (Standard_OStream &theOS) const |
Dumps the error status into the given stream. | |
void | DumpWarnings (Standard_OStream &theOS) const |
Dumps the warning statuses into the given stream. | |
void | ClearWarnings () |
Clears the warnings of the algorithm. | |
void | SetFuzzyValue (const Standard_Real theFuzz) |
Sets the additional tolerance. | |
Standard_Real | FuzzyValue () const |
Returns the additional tolerance. | |
void | SetUseOBB (const Standard_Boolean theUseOBB) |
Enables/Disables the usage of OBB. | |
Standard_Boolean | UseOBB () const |
Returns the flag defining usage of OBB. | |
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. | |
Standard_Boolean | RunParallel () const |
Returns the flag of parallel processing. | |
Static Protected Member Functions inherited from BOPAlgo_Options | |
static Standard_Boolean | GetParallelMode () |
Gets the global parallel mode. | |
static void | SetParallelMode (const Standard_Boolean theNewMode) |
Sets the global parallel mode. | |
The class contains API level of the Splitter algorithm, which allows splitting a group of arbitrary shapes by the other group of arbitrary shapes.
The arguments of the operation are divided on two groups:
Objects - shapes that will be split;
Tools - shapes by which the Objects will be split.
The result of the operation contains only the split parts of the shapes from the group of Objects.
The split parts of the shapes from the group of Tools are excluded from the result.
The shapes can be split by the other shapes from the same group (in case these shapes are interfering).
The class is a General Fuse based algorithm. Thus, all options of the General Fuse algorithm such as Fuzzy mode, safe processing mode, parallel processing mode, gluing mode and history support are also available in this algorithm.
There is no requirement on the existence of the Tools shapes. And if there are no Tools shapes, the result of the splitting operation will be equivalent to the General Fuse result.
The algorithm returns the following Error statuses:
BRepAlgoAPI_Splitter::BRepAlgoAPI_Splitter | ( | ) |
Empty constructor.
BRepAlgoAPI_Splitter::BRepAlgoAPI_Splitter | ( | const BOPAlgo_PaveFiller & | thePF | ) |
Constructor with already prepared intersection tool - PaveFiller.
|
overridevirtual |
Performs the Split operation. Performs the intersection of the argument shapes (both objects and tools) and splits objects by the tools.
Reimplemented from BRepAlgoAPI_BuilderAlgo.
|
inline |
Sets the Tool arguments.
|
inline |
Returns the Tool arguments.
|
protected |
Tool arguments of the operation.