|
| BOPAlgo_MakerVolume () |
| Empty contructor. More...
|
|
virtual | ~BOPAlgo_MakerVolume () |
|
| BOPAlgo_MakerVolume (const Handle< NCollection_BaseAllocator > &theAllocator) |
| Empty contructor. More...
|
|
virtual void | Clear () override |
| Clears the data. More...
|
|
void | SetIntersect (const Standard_Boolean bIntersect) |
| Sets the flag myIntersect: if <bIntersect> is TRUE the shapes from <myArguments> will be intersected. if <bIntersect> is FALSE no intersection will be done. More...
|
|
Standard_Boolean | IsIntersect () const |
| Returns the flag <myIntersect>. More...
|
|
const TopoDS_Solid & | Box () const |
| Returns the solid box <mySBox>. More...
|
|
const TopTools_ListOfShape & | Faces () const |
| Returns the processed faces <myFaces>. More...
|
|
void | SetAvoidInternalShapes (const Standard_Boolean theAvoidInternal) |
| Defines the preventing of addition of internal for solid parts into the result. By default the internal parts are added into result. More...
|
|
Standard_Boolean | IsAvoidInternalShapes () const |
| Returns the AvoidInternalShapes flag. More...
|
|
virtual void | Perform () override |
| Performs the operation. More...
|
|
| BOPAlgo_Builder () |
| Empty constructor. More...
|
|
virtual | ~BOPAlgo_Builder () |
|
| BOPAlgo_Builder (const Handle< NCollection_BaseAllocator > &theAllocator) |
|
BOPAlgo_PPaveFiller | PPaveFiller () |
| Returns the PaveFiller, algorithm for sub-shapes intersection. More...
|
|
BOPDS_PDS | PDS () |
| Returns the Data Structure, holder of intersection information. More...
|
|
Handle< IntTools_Context > | Context () const |
| Returns the Context, tool for cashing heavy algorithms. More...
|
|
virtual void | AddArgument (const TopoDS_Shape &theShape) |
| Adds the argument to the operation. More...
|
|
virtual void | SetArguments (const TopTools_ListOfShape &theLS) |
| Sets the list of arguments for the operation. More...
|
|
const TopTools_ListOfShape & | Arguments () const |
| Returns the list of 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. This flag is taken into account if internal PaveFiller is used only. In the case of calling PerformWithFiller the corresponding flag of that PaveFiller is in force. 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. 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...
|
|
virtual void | PerformWithFiller (const BOPAlgo_PaveFiller &theFiller) |
| Performs the operation with the prepared filler. The intersection will not be performed in this case. More...
|
|
virtual void | BuildBOP (const TopTools_ListOfShape &theObjects, const TopAbs_State theObjState, const TopTools_ListOfShape &theTools, const TopAbs_State theToolsState, Handle< Message_Report > theReport=NULL) |
| Builds the result shape according to the given states for the objects and tools. These states can be unambiguously converted into the Boolean operation type. Thus, it performs the Boolean operation on the given groups of shapes. More...
|
|
void | BuildBOP (const TopTools_ListOfShape &theObjects, const TopTools_ListOfShape &theTools, const BOPAlgo_Operation theOperation, Handle< Message_Report > theReport=NULL) |
| Builds the result of Boolean operation of given type basing on the result of Builder operation (GF or any other). More...
|
|
const TopTools_DataMapOfShapeListOfShape & | Images () const |
| Returns the map of images. More...
|
|
const TopTools_DataMapOfShapeListOfShape & | Origins () const |
| Returns the map of origins. More...
|
|
const TopTools_DataMapOfShapeShape & | ShapesSD () const |
| Returns the map of Same Domain (SD) shapes - coinciding shapes from different arguments. More...
|
|
const TopoDS_Shape & | Shape () const |
| Returns the result of algorithm. More...
|
|
const TopTools_ListOfShape & | Modified (const TopoDS_Shape &theS) |
| Returns the list of shapes Modified from the shape theS. More...
|
|
const TopTools_ListOfShape & | Generated (const TopoDS_Shape &theS) |
| Returns the list of shapes Generated from the shape theS. More...
|
|
Standard_Boolean | IsDeleted (const TopoDS_Shape &theS) |
| Returns true if the shape theS has been deleted. In this case the shape will have no Modified elements, but can have Generated elements. More...
|
|
Standard_Boolean | HasModified () const |
| Returns true if any of the input shapes has been modified during operation. More...
|
|
Standard_Boolean | HasGenerated () const |
| Returns true if any of the input shapes has generated shapes during operation. More...
|
|
Standard_Boolean | HasDeleted () const |
| Returns true if any of the input shapes has been deleted during operation. More...
|
|
Handle< BRepTools_History > | History () |
| History Tool. More...
|
|
void | SetToFillHistory (const Standard_Boolean theHistFlag) |
| Allows disabling the history collection. More...
|
|
Standard_Boolean | HasHistory () const |
| Returns flag of history availability. 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 | 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...
|
|
The algorithm is to build solids from set of shapes. It uses the BOPAlgo_Builder algorithm to intersect the given shapes and build the images of faces (if needed) and BOPAlgo_BuilderSolid algorithm to build the solids.
Steps of the algorithm:
- Collect all faces: intersect the shapes if necessary and collect the images of faces, otherwise just collect the faces to the <myFaces> list; All faces on this step added twice, with orientation FORWARD and REVERSED;
- Create bounding box covering all the faces from <myFaces> and create solid box from corner points of that bounding box (myBBox, mySBox). Add faces from that box to <myFaces>;
- Build solids from <myFaces> using BOPAlgo_BuilderSolid algorithm;
- Treat the result: Eliminate solid containig faces from <mySBox>;
- Fill internal shapes: add internal vertices and edges into created solids;
- Prepare the history.
Fields: <myIntersect> - boolean flag. It defines whether intersect shapes from <myArguments> (if set to TRUE) or not (FALSE). The default value is TRUE. By setting it to FALSE the user should guarantee that shapes in <myArguments> do not interfere with each other, otherwise the result is unpredictable.
<myBBox> - bounding box, covering all faces from <myFaces>.
<mySBox> - Solid box created from the corner points of <myBBox>.
<myFaces> - the list is to keep the "final" faces, that will be given to the BOPAlgo_BuilderSolid algorithm. If the shapes have been interfered it should contain the images of the source shapes, otherwise its just the original faces. It also contains the faces from <mySBox>.
Fields inherited from BOPAlgo_Builder:
<myArguments> - list of the source shapes. The source shapes can have any type, but each shape must not be self-interfered.
<myShape> - Result shape:
- empty compound - if no solids were created;
- solid - if created only one solid;
- compound of solids - if created more than one solid.
Fields inherited from BOPAlgo_Algo:
<myRunParallel> - Defines whether the parallel processing is switched on or not. <myReport> - Error status of the operation. Additionally to the errors of the parent algorithm it can have the following values:
Example:
BOPAlgo_MakerVolume aMV; // aMV.SetArguments(aLS); //source shapes aMV.SetRunParallel(bRunParallel); //parallel or single mode aMV.SetIntersect(bIntersect); //intersect or not the shapes from <aLS> // aMV.Perform(); //perform the operation if (aMV.HasErrors()) { //check error status return; } // const TopoDS_Shape& aResult = aMV.Shape(); //result of the operation