Salome HOME
NRI : Merge from V1_2.
[modules/geom.git] / src / PARTITION / Partition_Loop.cdl
1 --  GEOM PARTITION : partition algorithm
2 --
3 --  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 --  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
5 -- 
6 --  This library is free software; you can redistribute it and/or 
7 --  modify it under the terms of the GNU Lesser General Public 
8 --  License as published by the Free Software Foundation; either 
9 --  version 2.1 of the License. 
10 -- 
11 --  This library is distributed in the hope that it will be useful, 
12 --  but WITHOUT ANY WARRANTY; without even the implied warranty of 
13 --  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
14 --  Lesser General Public License for more details. 
15 -- 
16 --  You should have received a copy of the GNU Lesser General Public 
17 --  License along with this library; if not, write to the Free Software 
18 --  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
19 -- 
20 --  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
21 --
22 --
23 --
24 --  File   : Partition_Loop.cdl
25 --  Author : Benedicte MARTIN
26 --  Module : GEOM
27
28 class Loop from Partition
29
30         ---Purpose: Builds the loops from a set of edges on a face.
31
32 uses
33
34     Face                      from TopoDS,
35     Edge                      from TopoDS,
36     ListOfShape               from TopTools,
37     DataMapOfShapeListOfShape from TopTools
38
39 is
40
41     Create;
42     
43     Init (me : in out; F : Face from TopoDS)
44         ---Purpose: Init with <F> the set of edges must have
45         --          pcurves on <F>. 
46     is static;
47     
48     AddEdge (me : in out; E  : in out Edge from TopoDS;
49                           LV : ListOfShape from TopTools)
50         ---Purpose: Add E with <LV>. <E> will be copied and trim 
51         --          by vertices in <LV>.
52     is static;
53     
54     AddConstEdge  (me : in out; E : Edge from TopoDS)
55         ---Purpose: Add <E> as const edge, E can be in the result.
56     is static;
57
58     Perform(me : in out)
59         ---Purpose: Make loops.
60     is static;
61     
62     NewWires (me)       
63         ---Purpose: Returns the list of wires performed. 
64         --          can be an empty list.
65         ---C++: return const &
66     returns ListOfShape from TopTools;
67         
68     WiresToFaces (me : in out)
69         ---Purpose:  Build faces from the wires result.
70     is static;
71     
72     NewFaces (me)
73         ---Purpose: Returns the list of faces.
74         ---Warning: The method <WiresToFaces> as to be called before.
75         --          can be an empty list.
76         ---C++: return const &
77     returns ListOfShape from TopTools;
78
79     
80 fields
81
82     myFace       : Face                      from TopoDS;
83     myConstEdges : ListOfShape               from TopTools;
84     myNewWires   : ListOfShape               from TopTools;
85     myNewFaces   : ListOfShape               from TopTools;
86          
87 end Loop;