1 -- Created on: 1995-12-21
2 -- Created by: Jean Yves LEBEY
3 -- Copyright (c) 1995-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
22 class AreaBuilder from TopOpeBRepBuild
25 -- The AreaBuilder algorithm is used to
26 -- reconstruct complex topological objects as Faces
28 -- * Loop is the composite topological object of
29 -- the boundary. Wire for a Face. Shell for a Solid.
30 -- * LoopSet is a tool describing the object to
31 -- build. It gives an iteration on Loops. For each
32 -- Loop it tells if it is on the boundary or if it is
34 -- * LoopClassifier is an algorithm used to test
35 -- if a Loop is inside another Loop.
36 -- The result of the reconstruction is an iteration
37 -- on the reconstructed areas. An area is described
39 -- A AreaBuilder is built with :
40 -- - a LoopSet describing the object to reconstruct.
41 -- - a LoopClassifier providing the classification algorithm.
46 Loop from TopOpeBRepBuild,
47 ListOfLoop from TopOpeBRepBuild,
48 ListIteratorOfListOfLoop from TopOpeBRepBuild,
49 ListOfListOfLoop from TopOpeBRepBuild,
50 ListIteratorOfListOfListOfLoop from TopOpeBRepBuild,
51 LoopSet from TopOpeBRepBuild,
52 LoopClassifier from TopOpeBRepBuild,
53 LoopEnum from TopOpeBRepBuild
57 Create returns AreaBuilder;
59 Create(LS : in out LoopSet; LC : in out LoopClassifier;
60 ForceClass : Boolean = Standard_False) returns AreaBuilder;
61 ---Purpose: Creates a AreaBuilder to build the areas on
62 -- the shapes described by <LS> using the classifier <LC>.
64 Delete(me:out) is virtual;
65 ---C++: alias "Standard_EXPORT virtual ~TopOpeBRepBuild_AreaBuilder(){Delete() ; }"
67 InitAreaBuilder(me : in out;
68 LS : in out LoopSet; LC : in out LoopClassifier;
69 ForceClass : Boolean from Standard = Standard_False)
70 ---Purpose: Sets a AreaBuilder to find the areas on
71 -- the shapes described by <LS> using the classifier <LC>.
74 CompareLoopWithListOfLoop(me;
75 LC : in out LoopClassifier;
79 returns State from TopAbs is static protected;
81 Atomize(me;state : in out State from TopAbs; newstate : State from TopAbs)
84 InitArea(me : in out) returns Integer from Standard is static;
85 ---Purpose: Initialize iteration on areas.
86 MoreArea(me) returns Boolean from Standard is static;
87 NextArea(me : in out) is static;
89 InitLoop(me : in out) returns Integer from Standard is static;
90 ---Purpose: Initialize iteration on loops of current Area.
91 MoreLoop(me) returns Boolean from Standard is static;
92 NextLoop(me : in out) is static;
93 Loop(me) returns Loop from TopOpeBRepBuild is static;
94 ---Purpose: Returns the current Loop in the current area.
97 ADD_Loop_TO_LISTOFLoop(me; L : Loop;
98 LOL : in out ListOfLoop;
99 s : Address = NULL) is virtual;
101 REM_Loop_FROM_LISTOFLoop(me; ITLOL : in out ListIteratorOfListOfLoop;
102 LOL : in out ListOfLoop;
103 s : Address = NULL) is virtual;
105 ADD_LISTOFLoop_TO_LISTOFLoop(me; LOL1 : in out ListOfLoop;
106 LOL2 : in out ListOfLoop;
109 s2 : Address = NULL) is virtual;
113 myArea : ListOfListOfLoop is protected;
114 myAreaIterator : ListIteratorOfListOfListOfLoop is protected;
115 myLoopIterator : ListIteratorOfListOfLoop is protected;
116 myUNKNOWNRaise : Boolean is protected;
118 end AreaBuilder from TopOpeBRepBuild;