0024952: Possibility to break Boolean operations algorithm by user request
[occt.git] / src / BOPAlgo / BOPAlgo_BOP.cdl
CommitLineData
4e57c75e 1-- Created by: Peter KURNEV
973c2be1 2-- Copyright (c) 1999-2014 OPEN CASCADE SAS
4e57c75e 3--
973c2be1 4-- This file is part of Open CASCADE Technology software library.
4e57c75e 5--
d5f74e42 6-- This library is free software; you can redistribute it and/or modify it under
7-- the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 8-- by the Free Software Foundation, with special exception defined in the file
9-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10-- distribution for complete text of the license and disclaimer of any warranty.
4e57c75e 11--
973c2be1 12-- Alternatively, this file may be used under the terms of Open CASCADE
8620e18d 13-- commercial license or contractual agreement.
4e57c75e 14
8620e18d 15--BOPAlgo_BOP.cdl
16
4e57c75e 17class BOP from BOPAlgo
18 inherits Builder from BOPAlgo
8620e18d 19
4e57c75e 20---Purpose:
21
8620e18d 22uses
23 ShapeEnum from TopAbs,
24 Shape from TopoDS,
25 ListOfShape from TopTools,
26 --
4e57c75e 27 BaseAllocator from BOPCol,
28 ListOfShape from BOPCol,
8620e18d 29 MapOfShape from BOPCol,
30 IndexedDataMapOfShapeListOfShape from BOPCol,
31 --
32 Operation from BOPAlgo,
4e57c75e 33 PaveFiller from BOPAlgo
34
35--raises
36
37is
38 Create
39 ---Purpose: Empty constructor
8620e18d 40 returns BOP from BOPAlgo;
4e57c75e 41 ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_BOP();"
42
43 Create (theAllocator: BaseAllocator from BOPCol)
8620e18d 44 returns BOP from BOPAlgo;
4e57c75e 45
46 Clear(me:out)
47 is redefined;
48 ---Purpose: Clears internal fields and arguments
49
4e57c75e 50 AddTool (me:out;
8620e18d 51 theShape: Shape from TopoDS)
4e57c75e 52 ---Purpose: Adds Tool argument of the operation
8620e18d 53 is virtual;
4e57c75e 54
55 SetOperation(me:out;
8620e18d 56 theOperation: Operation from BOPAlgo);
4e57c75e 57
58 Operation(me)
8620e18d 59 returns Operation from BOPAlgo;
60 --
61 Perform(me:out)
62 is redefined;
4e57c75e 63 --
64 -- protected methods
65 --
66 CheckData(me:out)
8620e18d 67 is redefined protected;
4e57c75e 68
69 Prepare(me:out)
8620e18d 70 is redefined protected;
4e57c75e 71 ---Purpose: Provides preparing actions
72
36f4947b 73 PerformInternal1(me:out;
4e57c75e 74 thePF:PaveFiller from BOPAlgo)
8620e18d 75 is redefined protected;
4e57c75e 76 ---Purpose: Performs calculations using prepared Filler
36f4947b 77 -- object <thePF>
8620e18d 78
79 BuildResult(me:out;
80 theType: ShapeEnum from TopAbs)
81 is redefined protected;
82
4e57c75e 83 BuildShape(me:out)
8620e18d 84 is protected;
4e57c75e 85
86 BuildRC(me:out)
8620e18d 87 is protected;
4e57c75e 88
89 BuildSolid(me:out)
8620e18d 90 is protected;
4e57c75e 91
92 BuildSection(me:out)
8620e18d 93 is protected;
4e57c75e 94
95 IsBoundSplits(me:out;
8620e18d 96 theS:Shape from TopoDS;
97 theMEF:out IndexedDataMapOfShapeListOfShape from BOPCol)
98 returns Boolean from Standard
99 is protected;
4e57c75e 100
b24ac892 101 Generated (me:out;
8620e18d 102 theS : Shape from TopoDS)
103 returns ListOfShape from TopTools
104 is redefined;
105 ---C++: return const &
b24ac892 106 ---Purpose: Returns the list of shapes generated from the
107 -- shape theS.
8620e18d 108
109
b24ac892 110
4e57c75e 111fields
4e57c75e 112 myOperation : Operation from BOPAlgo is protected;
4e57c75e 113 myDims : Integer from Standard[2] is protected;
114 --
115 myRC : Shape from TopoDS is protected;
116 myTools : ListOfShape from BOPCol is protected;
117 myMapTools : MapOfShape from BOPCol is protected;
118
119end BOP;