Open CASCADE Technology
7.5.0
|
Solid Builder is the algorithm for building solids from set of faces. The given faces should be non-intersecting, i.e. all coinciding parts of the faces should be shared among them. More...
#include <BOPAlgo_BuilderSolid.hxx>
Public Member Functions | |
Constructors | |
BOPAlgo_BuilderSolid () | |
Empty constructor. More... | |
virtual | ~BOPAlgo_BuilderSolid () |
Empty constructor. More... | |
BOPAlgo_BuilderSolid (const Handle< NCollection_BaseAllocator > &theAllocator) | |
Constructor with allocator. More... | |
Performing the operation | |
virtual void | Perform () override |
Performs the construction of the solids from the given faces. More... | |
Getting the bounding boxes of the created solids | |
const TopTools_DataMapOfShapeBox & | GetBoxesMap () const |
For classification purposes the algorithm builds the bounding boxes for all created solids. This method returns the data map of solid - box pairs. More... | |
Public Member Functions inherited from BOPAlgo_BuilderArea | |
void | SetContext (const Handle< IntTools_Context > &theContext) |
Sets the context for the algorithms. More... | |
const TopTools_ListOfShape & | Shapes () const |
Returns the input shapes. More... | |
void | SetShapes (const TopTools_ListOfShape &theLS) |
Sets the shapes for building areas. More... | |
const TopTools_ListOfShape & | Loops () const |
Returns the found loops. More... | |
const TopTools_ListOfShape & | Areas () const |
Returns the found areas. More... | |
void | SetAvoidInternalShapes (const Standard_Boolean theAvoidInternal) |
Defines the preventing of addition of internal parts into result. The default value is FALSE, i.e. the internal parts are added into result. More... | |
Standard_Boolean | IsAvoidInternalShapes () const |
Returns the AvoidInternalShapes flag. More... | |
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... | |
virtual void | Clear () |
Clears all warnings and errors, and any data cached by the algorithm. User defined options are not cleared. 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 Message_ProgressScope &theProgress) |
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 methods performing the operation | |
virtual void | PerformShapesToAvoid () override |
Collect the faces: More... | |
virtual void | PerformLoops () override |
Build all possible closed shells from the given faces. The method fills the following maps: More... | |
virtual void | PerformAreas () override |
Classifies the created shells on the Holes and Growths. Creates the solids from the Growths shells. Puts the Hole shells into the closest Growths solids. More... | |
virtual void | PerformInternalShapes () override |
Classifies the unused faces relatively the created solids. Puts the classified faces into the closest solids as internal shells. Warns the user about unclassified faces if any. 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... | |
Protected Member Functions inherited from BOPAlgo_BuilderArea | |
BOPAlgo_BuilderArea () | |
virtual | ~BOPAlgo_BuilderArea () |
BOPAlgo_BuilderArea (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 | CheckData () |
Checks input data. More... | |
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 inherited from BOPAlgo_BuilderArea | |
Handle< IntTools_Context > | myContext |
TopTools_ListOfShape | myShapes |
TopTools_ListOfShape | myLoops |
TopTools_ListOfShape | myLoopsInternal |
TopTools_ListOfShape | myAreas |
TopTools_IndexedMapOfOrientedShape | myShapesToAvoid |
Standard_Boolean | myAvoidInternalShapes |
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... | |
const Message_ProgressScope * | myProgressScope |
Enables/Disables the usage of OBB. More... | |
Standard_Boolean | myUseOBB |
Enables/Disables the usage of OBB. More... | |
Solid Builder is the algorithm for building solids from set of faces. The given faces should be non-intersecting, i.e. all coinciding parts of the faces should be shared among them.
The algorithm performs the following steps to build the solids:
It is possible to avoid all internal shells in the resulting solids. For that it is necessary to use the method SetAvoidInternalShapes(true) of the base class. In this case the steps 5 and 6 will not be performed at all.
The algorithm may return the following warnings:
Example of usage of the algorithm:
BOPAlgo_BuilderSolid::BOPAlgo_BuilderSolid | ( | ) |
Empty constructor.
|
virtual |
Empty constructor.
BOPAlgo_BuilderSolid::BOPAlgo_BuilderSolid | ( | const Handle< NCollection_BaseAllocator > & | theAllocator | ) |
Constructor with allocator.
|
inline |
For classification purposes the algorithm builds the bounding boxes for all created solids. This method returns the data map of solid - box pairs.
|
overridevirtual |
Performs the construction of the solids from the given faces.
Implements BOPAlgo_Algo.
|
overrideprotectedvirtual |
Classifies the created shells on the Holes and Growths. Creates the solids from the Growths shells. Puts the Hole shells into the closest Growths solids.
Implements BOPAlgo_BuilderArea.
|
overrideprotectedvirtual |
Classifies the unused faces relatively the created solids. Puts the classified faces into the closest solids as internal shells. Warns the user about unclassified faces if any.
Implements BOPAlgo_BuilderArea.
|
overrideprotectedvirtual |
Build all possible closed shells from the given faces. The method fills the following maps:
Implements BOPAlgo_BuilderArea.
|
overrideprotectedvirtual |
Collect the faces:
Implements BOPAlgo_BuilderArea.