|
Open CASCADE Technology
6.9.0
|
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. More...
#include <BOPAlgo_MakerVolume.hxx>

Public Member Functions | |
| BOPAlgo_MakerVolume () | |
| Empty contructor. More... | |
| virtual | ~BOPAlgo_MakerVolume () |
| BOPAlgo_MakerVolume (const BOPCol_BaseAllocator &theAllocator) | |
| Empty contructor. More... | |
| virtual void | Clear () |
| 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 BOPCol_ListOfShape & | Faces () const |
| Returns the processed faces <myFaces>. More... | |
| virtual void | Perform () |
| Performs the operation. More... | |
Public Member Functions inherited from BOPAlgo_Builder | |
| BOPAlgo_Builder () | |
| virtual | ~BOPAlgo_Builder () |
| BOPAlgo_Builder (const BOPCol_BaseAllocator &theAllocator) | |
| BOPAlgo_PPaveFiller | PPaveFiller () |
| BOPDS_PDS | PDS () |
| virtual void | AddArgument (const TopoDS_Shape &theShape) |
| void | SetArguments (const TopTools_ListOfShape &theLS) |
| virtual void | SetArguments (const BOPCol_ListOfShape &theLS) |
| const BOPCol_ListOfShape & | Arguments () const |
| virtual void | PerformWithFiller (const BOPAlgo_PaveFiller &theFiller) |
| virtual const TopTools_ListOfShape & | Generated (const TopoDS_Shape &theS) |
| Returns the list of shapes generated from the shape theS. More... | |
| virtual const TopTools_ListOfShape & | Modified (const TopoDS_Shape &theS) |
| Returns the list of shapes modified from the shape theS. More... | |
| virtual Standard_Boolean | IsDeleted (const TopoDS_Shape &theS) |
| Returns true if the shape theS has been deleted. More... | |
| const BOPCol_DataMapOfShapeListOfShape & | Images () const |
| Standard_Boolean | IsInterferred (const TopoDS_Shape &theS) const |
| const BOPCol_DataMapOfShapeShape & | Origins () const |
| Returns myOrigins. More... | |
| const BOPCol_DataMapOfShapeShape & | ShapesSD () const |
| Returns myShapesSD. More... | |
| const BOPCol_DataMapOfShapeListOfShape & | Splits () const |
| Returns mySplits. More... | |
| void | SetFuzzyValue (const Standard_Real theFuzz) |
| Sets the additional tolerance. More... | |
| Standard_Real | FuzzyValue () const |
| Returns the additional tolerance. More... | |
Public Member Functions inherited from BOPAlgo_BuilderShape | |
| const TopoDS_Shape & | Shape () const |
| Returns the result of algorithm. More... | |
| Standard_Boolean | HasDeleted () const |
| Returns true if the at least one shape(or subshape) of arguments has been deleted. More... | |
| Standard_Boolean | HasGenerated () const |
| Returns true if the at least one shape(or subshape) of arguments has generated shapes. More... | |
| Standard_Boolean | HasModified () const |
| Returns true if the at least one shape(or subshape) of arguments has modified shapes. More... | |
| const BOPCol_IndexedDataMapOfShapeListOfShape & | ImagesResult () const |
Public Member Functions inherited from BOPAlgo_Algo | |
| Standard_Integer | ErrorStatus () const |
| Standard_Integer | WarningStatus () const |
| const BOPCol_BaseAllocator & | Allocator () const |
| 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 | SetProgressIndicator (const Handle< Message_ProgressIndicator > &theObj) |
| Set the Progress Indicator object. More... | |
Protected Member Functions | |
| virtual void | CheckData () |
| Checks the data. More... | |
| virtual void | PerformInternal1 (const BOPAlgo_PaveFiller &thePF) |
| Performs the operation. More... | |
| void | CollectFaces () |
| Collects all faces. More... | |
| void | MakeBox (BOPCol_MapOfShape &theBoxFaces) |
| Makes solid box. More... | |
| void | BuildSolids (BOPCol_ListOfShape &theLSR) |
| Builds solids. More... | |
| void | RemoveBox (BOPCol_ListOfShape &theLSR, const BOPCol_MapOfShape &theBoxFaces) |
| Removes the covering box. More... | |
| void | FillInternalShapes (const BOPCol_ListOfShape &theLSR) |
| Fills the solids with internal shapes. More... | |
| void | BuildShape (const BOPCol_ListOfShape &theLSR) |
| Builds the result. More... | |
Protected Member Functions inherited from BOPAlgo_Builder | |
| virtual void | PrepareHistory () |
| Prepare information for history support. More... | |
| virtual void | PerformInternal (const BOPAlgo_PaveFiller &thePF) |
| virtual void | Prepare () |
| void | FillImagesVertices () |
| void | FillImagesEdges () |
| virtual void | BuildResult (const TopAbs_ShapeEnum theType) |
| void | FillImagesContainers (const TopAbs_ShapeEnum theType) |
| void | FillImagesCompounds () |
| void | FillImagesContainer (const TopoDS_Shape &theS, const TopAbs_ShapeEnum theType) |
| void | FillImagesCompound (const TopoDS_Shape &theS, BOPCol_MapOfShape &theMF) |
| void | FillImagesFaces () |
| virtual void | BuildSplitFaces () |
| void | FillSameDomainFaces () |
| void | FillImagesFaces1 () |
| void | FillImagesSolids () |
| void | BuildDraftSolid (const TopoDS_Shape &theSolid, TopoDS_Shape &theDraftSolid, BOPCol_ListOfShape &theLIF) |
| virtual void | FillIn3DParts (BOPCol_DataMapOfShapeListOfShape &theInParts, BOPCol_DataMapOfShapeShape &theDraftSolids, const BOPCol_BaseAllocator &theAllocator) |
| void | BuildSplitSolids (BOPCol_DataMapOfShapeListOfShape &theInParts, BOPCol_DataMapOfShapeShape &theDraftSolids, const BOPCol_BaseAllocator &theAllocator) |
| void | FillInternalShapes () |
| virtual void | PostTreat () |
Protected Member Functions inherited from BOPAlgo_BuilderShape | |
| BOPAlgo_BuilderShape () | |
| virtual | ~BOPAlgo_BuilderShape () |
| BOPAlgo_BuilderShape (const BOPCol_BaseAllocator &theAllocator) | |
Protected Member Functions inherited from BOPAlgo_Algo | |
| BOPAlgo_Algo () | |
| virtual | ~BOPAlgo_Algo () |
| BOPAlgo_Algo (const BOPCol_BaseAllocator &theAllocator) | |
| virtual void | CheckResult () |
| void | UserBreak () const |
| Breaks the execution if the break signal is indicated by myProgressIndicator. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from BOPAlgo_Algo | |
| static Standard_Boolean | GetParallelMode () |
| static void | SetParallelMode (const Standard_Boolean theNewMode) |
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:
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:
Fields inherited from BOPAlgo_Algo:
<myRunParallel> - Defines whether the parallel processing is switched on or not. <myErrorStatus> - Error status of the operation: 0 - operation successful; 100 - no shapes to process; 102 - BOPAlgo_PaveFiller algorithm has failed; 103 - BOPAlgo_BuilderSolid algorithm has failed.
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.ErrorStatus()) { //check error status return; } // const TopoDS_Shape& aResult = aMV.Shape(); //result of the operation
| BOPAlgo_MakerVolume::BOPAlgo_MakerVolume | ( | ) |
Empty contructor.
|
virtual |
| BOPAlgo_MakerVolume::BOPAlgo_MakerVolume | ( | const BOPCol_BaseAllocator & | theAllocator | ) |
Empty contructor.
| const TopoDS_Solid& BOPAlgo_MakerVolume::Box | ( | ) | const |
Returns the solid box <mySBox>.
|
protected |
Builds the result.
|
protected |
Builds solids.
|
protectedvirtual |
Checks the data.
Reimplemented from BOPAlgo_Builder.
|
virtual |
Clears the data.
Reimplemented from BOPAlgo_Builder.
|
protected |
Collects all faces.
| const BOPCol_ListOfShape& BOPAlgo_MakerVolume::Faces | ( | ) | const |
Returns the processed faces <myFaces>.
|
protected |
Fills the solids with internal shapes.
| Standard_Boolean BOPAlgo_MakerVolume::IsIntersect | ( | ) | const |
Returns the flag <myIntersect>.
|
protected |
Makes solid box.
|
virtual |
Performs the operation.
Reimplemented from BOPAlgo_Builder.
|
protectedvirtual |
Performs the operation.
Reimplemented from BOPAlgo_Builder.
|
protected |
Removes the covering box.
| void BOPAlgo_MakerVolume::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.
|
protected |
|
protected |
|
protected |
|
protected |
1.8.5