+++ /dev/null
--- Created on: 2012-06-01
--- Created by: Eugeny MALTCHIKOV
--- Copyright (c) 1999-2014 OPEN CASCADE SAS
---
--- This file is part of Open CASCADE Technology software library.
---
--- This library is free software; you can redistribute it and/or modify it under
--- the terms of the GNU Lesser General Public License version 2.1 as published
--- by the Free Software Foundation, with special exception defined in the file
--- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
--- distribution for complete text of the license and disclaimer of any warranty.
---
--- Alternatively, this file may be used under the terms of Open CASCADE
--- commercial license or contractual agreement.
-
-class Builder from BRepFeat
- inherits BOP from BOPAlgo
-
- ---Purpose: Provides a basic tool to implement features topological
- -- operations. The main goal of the algorithm is to perform
- -- the result of the operation according to the
- -- kept parts of the tool.
- -- Input data: a) DS;
- -- b) The kept parts of the tool;
- -- If the map of the kept parts of the tool
- -- is not filled boolean operation of the
- -- given type will be performed;
- -- c) Operation required.
- -- Steps: a) Fill myShapes, myRemoved maps;
- -- b) Rebuild edges and faces;
- -- c) Build images of the object;
- -- d) Build the result of the operation.
- -- Result: Result shape of the operation required.
-
-uses
- Shape from TopoDS,
- Face from TopoDS,
- ListOfShape from TopTools,
- MapOfOrientedShape from BOPCol,
- MapOfShape from BOPCol,
- IndexedMapOfShape from BOPCol,
- DataMapOfShapeListOfShape from BOPCol,
- DataMapOfShapeShape from BOPCol,
- BaseAllocator from BOPCol,
- ListOfShape from BOPCol,
- BOP from BOPAlgo
-
-is
- Create
- returns Builder from BRepFeat;
- ---C++: alias "Standard_EXPORT virtual ~BRepFeat_Builder();"
-
- Clear(me:out)
- is redefined;
- ---Purpose: Clears internal fields and arguments.
-
- Init(me:out;
- theShape : Shape from TopoDS);
- ---Purpose: Initialyzes the object of local boolean operation.
- --
-
- Init(me:out;
- theShape : Shape from TopoDS;
- theTool : Shape from TopoDS);
- ---Purpose: Initialyzes the arguments of local boolean operation.
- --
-
- SetOperation(me:out;
- theFuse : Integer from Standard);
- ---Purpose: Sets the operation of local boolean operation.
- -- If theFuse = 0 than the operation is CUT, otherwise FUSE.
-
- SetOperation(me:out;
- theFuse : Integer from Standard;
- theFlag : Boolean from Standard);
- ---Purpose: Sets the operation of local boolean operation.
- -- If theFlag = TRUE it means that no selection of parts
- -- of the tool is needed, t.e. no second part. In that case
- -- if theFuse = 0 than operation is COMMON, otherwise CUT21.
- -- If theFlag = FALSE SetOperation(theFuse) function is called.
-
- Prepare(me:out)
- is redefined protected;
- ---Purpose: Prepares builder of local operation.
- --
-
- PartsOfTool(me:out;
- theLT : out ListOfShape from TopTools);
- ---Purpose: Collects parts of the tool.
-
- KeepParts(me:out;
- theIm : ListOfShape from TopTools);
- ---Purpose: Initialyzes parts of the tool for second step of algorithm.
- -- Collects shapes and all sub-shapes into myShapes map.
-
- KeepPart(me:out;
- theS : Shape from TopoDS);
- ---Purpose: Adds shape theS and all its sub-shapes into myShapes map.
- --
-
- PerformResult(me:out);
- ---Purpose: Main function to build the result of the
- -- local operation required.
-
- RebuildFaces(me:out);
- ---Purpose: Rebuilds faces in accordance with the kept parts of the tool.
- --
-
- RebuildEdge(me:out;
- theE:Shape from TopoDS;
- theF:Face from TopoDS;
- theME:MapOfShape from BOPCol;
- aLEIm:out ListOfShape from BOPCol);
- ---Purpose: Rebuilds edges in accordance with the kept parts of the tool.
- --
-
- CheckSolidImages(me:out);
- ---Purpose: Collects the images of the object, that contains in
- -- the images of the tool.
-
- FillRemoved(me:out);
- ---Purpose: Collects the removed parts of the tool into myRemoved map.
- --
-
- FillRemoved(me:out;
- theS : Shape from TopoDS;
- theM : in out MapOfShape from BOPCol);
- ---Purpose: Adds the shape S and its sub-shapes into myRemoved map.
- --
-
- FillIn3DParts(me:out;
- theInParts:out DataMapOfShapeListOfShape from BOPCol;
- theDraftSolids:out DataMapOfShapeShape from BOPCol;
- theAllocator:BaseAllocator from BOPCol)
- is redefined protected;
- ---Purpose: Function is redefined to avoid the usage of removed faces.
- --
-
-fields
- myShapes : MapOfShape from BOPCol is protected;
- myRemoved : MapOfShape from BOPCol is protected;
- myFuse : Integer from Standard is protected;
-
-end Builder;