![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
The class contains API level of the General Fuse algorithm. More...
#include <BRepAlgoAPI_BuilderAlgo.hxx>

Public Member Functions | |||||||
Constructors | |||||||
Empty constructor | |||||||
| BRepAlgoAPI_BuilderAlgo () | |||||||
| Constructor with prepared Filler object. | |||||||
| ~BRepAlgoAPI_BuilderAlgo () override | |||||||
| Constructor with prepared Filler object. | |||||||
| BRepAlgoAPI_BuilderAlgo (const BOPAlgo_PaveFiller &thePF) | |||||||
| Constructor with prepared Filler object. | |||||||
| BRepAlgoAPI_BuilderAlgo (const BRepAlgoAPI_BuilderAlgo &)=delete | |||||||
| Copy constructor is not allowed. | |||||||
| BRepAlgoAPI_BuilderAlgo (BRepAlgoAPI_BuilderAlgo &&)=delete | |||||||
| Move constructor is not allowed. | |||||||
| BRepAlgoAPI_BuilderAlgo & | operator= (const BRepAlgoAPI_BuilderAlgo &)=delete | ||||||
| Copy assignment is not allowed. | |||||||
| BRepAlgoAPI_BuilderAlgo & | operator= (BRepAlgoAPI_BuilderAlgo &&)=delete | ||||||
| Move assignment is not allowed. | |||||||
Setting/Getting data for the algorithm | |||||||
Sets the arguments | |||||||
| void | SetArguments (const NCollection_List< TopoDS_Shape > &theLS) | ||||||
| Gets the arguments. | |||||||
| const NCollection_List< TopoDS_Shape > & | Arguments () const | ||||||
| Gets the arguments. | |||||||
Setting options | |||||||
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. | |||||||
| void | SetNonDestructive (const bool theFlag) | ||||||
| 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. | |||||||
| bool | 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 bool theCheck) | ||||||
| Enables/Disables the check of the input solids for inverted status. | |||||||
| bool | CheckInverted () const | ||||||
| Returns the flag defining whether the check for input solids on inverted status should be performed or not. | |||||||
Performing the operation | |||||||
Performs the algorithm | |||||||
| void | Build (const Message_ProgressRange &theRange=Message_ProgressRange()) override | ||||||
| This is called by Shape(). It does nothing but may be redefined. | |||||||
Result simplification | |||||||
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. The simplification is performed without creation of the Internal shapes, i.e. shapes connections will never be broken. Simplification is performed on the whole result shape. Thus, if the input shapes contained connected tangent edges or faces unmodified during the operation they will also be unified. After simplification, the History of result simplification is merged into the main history of operation. So, it is taken into account when asking for Modified, Generated and Deleted shapes. Some options of the main operation are passed into the Unifier:
| |||||||
| void | SimplifyResult (const bool theUnifyEdges=true, const bool theUnifyFaces=true, const double theAngularTol=Precision::Angular()) | ||||||
History support | |||||||
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. | |||||||
| const NCollection_List< TopoDS_Shape > & | Modified (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: | |||||||
| const NCollection_List< TopoDS_Shape > & | 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: | |||||||
| bool | 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 bool | HasModified () const | ||||||
| Returns true if any of the input shapes has been modified during operation. | |||||||
| virtual bool | HasGenerated () const | ||||||
| Returns true if any of the input shapes has generated shapes during operation. | |||||||
| virtual bool | 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. | |||||||
Enabling/Disabling the history collection. | |||||||
Allows disabling the history collection | |||||||
| void | SetToFillHistory (const bool theHistFlag) | ||||||
| Returns flag of history availability. | |||||||
| bool | HasHistory () const | ||||||
| Returns flag of history availability. | |||||||
Getting the section edges | |||||||
Returns a list of section edges. The edges represent the result of intersection between arguments of operation. | |||||||
| const NCollection_List< TopoDS_Shape > & | SectionEdges () | ||||||
Getting tools performing the job | |||||||
Returns the Intersection tool | |||||||
| const BOPAlgo_PPaveFiller & | DSFiller () const | ||||||
| Returns the Building tool. | |||||||
| const BOPAlgo_PBuilder & | Builder () const | ||||||
| Returns the Building tool. | |||||||
| occ::handle< BRepTools_History > | History () const | ||||||
| History tool. | |||||||
Public Member Functions inherited from BRepAlgoAPI_Algo | |||||||
| const TopoDS_Shape & | Shape () override | ||||||
| Returns a shape built by the shape construction algorithm. Does not check if the shape is built. | |||||||
| void | ClearWarnings () | ||||||
| Clears the warnings of the algorithm. | |||||||
| 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. | |||||||
| double | FuzzyValue () const | ||||||
| Returns the additional tolerance. | |||||||
| const occ::handle< Message_Report > & | GetReport () const | ||||||
| Returns report collecting all errors and warnings. | |||||||
| bool | HasError (const occ::handle< Standard_Type > &theType) const | ||||||
| Returns true if algorithm has generated error of specified type. | |||||||
| bool | HasErrors () const | ||||||
| Returns true if algorithm has failed. | |||||||
| bool | HasWarning (const occ::handle< Standard_Type > &theType) const | ||||||
| Returns true if algorithm has generated warning of specified type. | |||||||
| bool | HasWarnings () const | ||||||
| Returns true if algorithm has generated some warning alerts. | |||||||
| bool | RunParallel () const | ||||||
| Returns the flag of parallel processing. | |||||||
| void | SetFuzzyValue (const double theFuzz) | ||||||
| Sets the additional tolerance. | |||||||
| void | SetRunParallel (const bool 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. | |||||||
| void | SetUseOBB (const bool 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 bool | IsDone () const | ||||||
| void | Check () const | ||||||
| Raises NotDone if done is false. | |||||||
Protected Member Functions | |
Setting options to the Intersection tool | |
Sets options (available in child classes) for the intersection tool. Here it does nothing. | |
| virtual void | SetAttributes () |
Protected methods for shapes intersection and building result | |
Intersects the given shapes with the intersection tool | |
| void | IntersectShapes (const NCollection_List< TopoDS_Shape > &theArgs, const Message_ProgressRange &theRange) |
| Builds the resulting shape. | |
| void | BuildResult (const Message_ProgressRange &theRange=Message_ProgressRange()) |
| Builds the resulting shape. | |
Clearing the contents of the algorithm | |
Clears the algorithm from previous runs | |
| void | Clear () override |
| Clears all warnings and errors, and any data cached by the algorithm. User defined options are not cleared. | |
Protected Member Functions inherited from BRepAlgoAPI_Algo | |
| BRepAlgoAPI_Algo () | |
| Empty constructor. | |
| ~BRepAlgoAPI_Algo () override | |
| Destructor. | |
| BRepAlgoAPI_Algo (const occ::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 | |
| bool | 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 occ::handle< NCollection_BaseAllocator > &theAllocator) | |
| Constructor with allocator. | |
| virtual | ~BOPAlgo_Options () |
| Destructor. | |
| const occ::handle< NCollection_BaseAllocator > & | Allocator () const |
| Returns allocator. | |
| void | AddError (const occ::handle< Message_Alert > &theAlert) |
| Adds the alert as error (fail) | |
| void | AddWarning (const occ::handle< Message_Alert > &theAlert) |
| Adds the alert as warning. | |
| bool | HasErrors () const |
| Returns true if algorithm has failed. | |
| bool | HasError (const occ::handle< Standard_Type > &theType) const |
| Returns true if algorithm has generated error of specified type. | |
| bool | HasWarnings () const |
| Returns true if algorithm has generated some warning alerts. | |
| bool | HasWarning (const occ::handle< Standard_Type > &theType) const |
| Returns true if algorithm has generated warning of specified type. | |
| const occ::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 double theFuzz) |
| Sets the additional tolerance. | |
| double | FuzzyValue () const |
| Returns the additional tolerance. | |
| void | SetUseOBB (const bool theUseOBB) |
| Enables/Disables the usage of OBB. | |
| bool | UseOBB () const |
| Returns the flag defining usage of OBB. | |
| void | SetRunParallel (const bool 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. | |
| bool | RunParallel () const |
| Returns the flag of parallel processing. | |
Protected Attributes | |
Fields | |
| NCollection_List< TopoDS_Shape > | myArguments |
| Arguments of the operation. | |
| bool | myNonDestructive |
| Non-destructive mode management. | |
| BOPAlgo_GlueEnum | myGlue |
| Gluing mode management. | |
| bool | myCheckInverted |
| Check for inverted solids management. | |
| bool | myFillHistory |
| Controls the history collection. | |
| bool | 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. | |
| occ::handle< BRepTools_History > | myHistory |
| General History tool, containing all History of shapes modifications during the operation (including result simplification) | |
| occ::handle< BRepTools_History > | mySimplifierHistory |
| History of result shape simplification. | |
Protected Attributes inherited from BRepBuilderAPI_MakeShape | |
| TopoDS_Shape | myShape |
| NCollection_List< TopoDS_Shape > | myGenerated |
Protected Attributes inherited from BOPAlgo_Options | |
| occ::handle< NCollection_BaseAllocator > | myAllocator |
| Enables/Disables the usage of OBB. | |
| occ::handle< Message_Report > | myReport |
| Enables/Disables the usage of OBB. | |
| bool | myRunParallel |
| Enables/Disables the usage of OBB. | |
| double | myFuzzyValue |
| Enables/Disables the usage of OBB. | |
| bool | myUseOBB |
| Enables/Disables the usage of OBB. | |
Additional Inherited Members | |
Static Protected Member Functions inherited from BOPAlgo_Options | |
| static bool | GetParallelMode () |
| Gets the global parallel mode. | |
| static void | SetParallelMode (const bool theNewMode) |
| Sets the global parallel mode. | |
The class contains API level of the General Fuse algorithm.
Additionally to the options defined in the base class, the algorithm has the following options:
It returns the following Error statuses:
Warnings statuses from underlying DS Filler and Builder algorithms are collected in the report.
The class provides possibility to simplify the resulting shape by unification of the tangential edges and faces. It is performed by the method SimplifyResult. See description of this method for more details.
| BRepAlgoAPI_BuilderAlgo::BRepAlgoAPI_BuilderAlgo | ( | ) |
Constructor with prepared Filler object.
|
override |
Constructor with prepared Filler object.
| BRepAlgoAPI_BuilderAlgo::BRepAlgoAPI_BuilderAlgo | ( | const BOPAlgo_PaveFiller & | thePF | ) |
Constructor with prepared Filler object.
|
delete |
Copy constructor is not allowed.
|
delete |
Move constructor is not allowed.
|
inline |
Gets the arguments.
|
overridevirtual |
This is called by Shape(). It does nothing but may be redefined.
Reimplemented from BRepBuilderAPI_MakeShape.
Reimplemented in BRepAlgoAPI_Section, and BRepAlgoAPI_Splitter.
|
inline |
Returns the Building tool.
|
protected |
Builds the resulting shape.
|
inline |
Returns the flag defining whether the check for input solids on inverted status should be performed or not.
|
overrideprotectedvirtual |
Clears all warnings and errors, and any data cached by the algorithm. User defined options are not cleared.
Reimplemented from BRepAlgoAPI_Algo.
|
inline |
Returns the Building tool.
|
overridevirtual |
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:
Reimplemented from BRepBuilderAPI_MakeShape.
|
inline |
Returns the glue option of the algorithm.
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.
Returns true if any of the input shapes has generated shapes during operation.
|
inline |
Returns flag of history availability.
Returns true if any of the input shapes has been modified during operation.
|
inline |
History tool.
|
protected |
Builds the resulting shape.
|
overridevirtual |
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.
Reimplemented from BRepBuilderAPI_MakeShape.
|
overridevirtual |
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:
Reimplemented from BRepBuilderAPI_MakeShape.
|
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.
|
delete |
Move assignment is not allowed.
|
delete |
Copy assignment is not allowed.
| const NCollection_List< TopoDS_Shape > & BRepAlgoAPI_BuilderAlgo::SectionEdges | ( | ) |
|
inline |
Gets the arguments.
Reimplemented in BRepAlgoAPI_Section.
Enables/Disables the check of the input solids for inverted status.
|
inline |
Sets the glue option for the algorithm, which allows increasing performance of the intersection of the input shapes.
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.
Returns flag of history availability.
| void BRepAlgoAPI_BuilderAlgo::SimplifyResult | ( | const bool | theUnifyEdges = true, |
| const bool | theUnifyFaces = true, | ||
| const double | theAngularTol = Precision::Angular() ) |
|
protected |
Arguments of the operation.
|
protected |
Building tool performs construction of the result basing on the results of intersection.
|
protected |
Check for inverted solids management.
|
protected |
Intersection tool performs intersection of the argument shapes.
|
protected |
Controls the history collection.
|
protected |
Gluing mode management.
|
protected |
General History tool, containing all History of shapes modifications during the operation (including result simplification)
|
protected |
Flag to control whether the intersection of arguments should be performed or not.
|
protected |
Non-destructive mode management.
|
protected |
History of result shape simplification.