1 -- Created on: 1995-12-21
2 -- Created by: Jean Yves LEBEY
3 -- Copyright (c) 1995-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and / or modify it
9 -- under the terms of the GNU Lesser General Public version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class AreaBuilder from TopOpeBRepBuild
20 -- The AreaBuilder algorithm is used to
21 -- reconstruct complex topological objects as Faces
23 -- * Loop is the composite topological object of
24 -- the boundary. Wire for a Face. Shell for a Solid.
25 -- * LoopSet is a tool describing the object to
26 -- build. It gives an iteration on Loops. For each
27 -- Loop it tells if it is on the boundary or if it is
29 -- * LoopClassifier is an algorithm used to test
30 -- if a Loop is inside another Loop.
31 -- The result of the reconstruction is an iteration
32 -- on the reconstructed areas. An area is described
34 -- A AreaBuilder is built with :
35 -- - a LoopSet describing the object to reconstruct.
36 -- - a LoopClassifier providing the classification algorithm.
41 Loop from TopOpeBRepBuild,
42 ListOfLoop from TopOpeBRepBuild,
43 ListIteratorOfListOfLoop from TopOpeBRepBuild,
44 ListOfListOfLoop from TopOpeBRepBuild,
45 ListIteratorOfListOfListOfLoop from TopOpeBRepBuild,
46 LoopSet from TopOpeBRepBuild,
47 LoopClassifier from TopOpeBRepBuild,
48 LoopEnum from TopOpeBRepBuild
52 Create returns AreaBuilder;
54 Create(LS : in out LoopSet; LC : in out LoopClassifier;
55 ForceClass : Boolean = Standard_False) returns AreaBuilder;
56 ---Purpose: Creates a AreaBuilder to build the areas on
57 -- the shapes described by <LS> using the classifier <LC>.
59 Delete(me:out) is virtual;
60 ---C++: alias "Standard_EXPORT virtual ~TopOpeBRepBuild_AreaBuilder(){Delete() ; }"
62 InitAreaBuilder(me : in out;
63 LS : in out LoopSet; LC : in out LoopClassifier;
64 ForceClass : Boolean from Standard = Standard_False)
65 ---Purpose: Sets a AreaBuilder to find the areas on
66 -- the shapes described by <LS> using the classifier <LC>.
69 CompareLoopWithListOfLoop(me;
70 LC : in out LoopClassifier;
74 returns State from TopAbs is static protected;
76 Atomize(me;state : in out State from TopAbs; newstate : State from TopAbs)
79 InitArea(me : in out) returns Integer from Standard is static;
80 ---Purpose: Initialize iteration on areas.
81 MoreArea(me) returns Boolean from Standard is static;
82 NextArea(me : in out) is static;
84 InitLoop(me : in out) returns Integer from Standard is static;
85 ---Purpose: Initialize iteration on loops of current Area.
86 MoreLoop(me) returns Boolean from Standard is static;
87 NextLoop(me : in out) is static;
88 Loop(me) returns Loop from TopOpeBRepBuild is static;
89 ---Purpose: Returns the current Loop in the current area.
92 ADD_Loop_TO_LISTOFLoop(me; L : Loop;
93 LOL : in out ListOfLoop;
94 s : Address = NULL) is virtual;
96 REM_Loop_FROM_LISTOFLoop(me; ITLOL : in out ListIteratorOfListOfLoop;
97 LOL : in out ListOfLoop;
98 s : Address = NULL) is virtual;
100 ADD_LISTOFLoop_TO_LISTOFLoop(me; LOL1 : in out ListOfLoop;
101 LOL2 : in out ListOfLoop;
104 s2 : Address = NULL) is virtual;
108 myArea : ListOfListOfLoop is protected;
109 myAreaIterator : ListIteratorOfListOfListOfLoop is protected;
110 myLoopIterator : ListIteratorOfListOfLoop is protected;
111 myUNKNOWNRaise : Boolean is protected;
113 end AreaBuilder from TopOpeBRepBuild;