0024428: Implementation of LGPL license
[occt.git] / src / BRepAlgo / BRepAlgo_Loop.cdl
1 -- Created on: 1995-11-10
2 -- Created by: Yves FRICAUD
3 -- Copyright (c) 1995-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class Loop from BRepAlgo
18
19         ---Purpose: Builds the loops from a set of edges on a face.
20
21 uses
22
23     Face                      from TopoDS,
24     Edge                      from TopoDS,
25     ListOfShape               from TopTools,
26     DataMapOfShapeListOfShape from TopTools, 
27     DataMapOfShapeShape       from TopTools
28
29 is
30
31     Create;
32     
33     Init (me : in out; F : Face from TopoDS)
34         ---Purpose: Init with <F> the set of edges must have
35         --          pcurves on <F>. 
36     is static;
37     
38     AddEdge (me : in out; E  : in out Edge from TopoDS;
39                           LV : ListOfShape from TopTools)
40         ---Purpose: Add E with <LV>. <E> will be copied and trim 
41         --          by vertices in <LV>.
42     is static;
43     
44     AddConstEdge  (me : in out; E : Edge from TopoDS)
45         ---Purpose: Add <E> as const edge, E can be in the result.
46     is static;
47
48     AddConstEdges (me : in out; LE : ListOfShape from TopTools)
49         ---Purpose: Add <LE> as a set of const edges.
50     is static;
51
52     Perform(me : in out)
53         ---Purpose: Make loops.
54     is static;
55     
56     CutEdge(me;
57             E    :        Edge        from TopoDS;
58             VonE :        ListOfShape from TopTools;
59             NE   : in out ListOfShape from TopTools)
60         ---Purpose:  Cut the  edge <E>  in  several edges  <NE> on the
61         --          vertices<VonE>.
62     is static;
63     
64     NewWires (me)       
65         ---Purpose: Returns the list of wires performed. 
66         --          can be an empty list.
67         ---C++: return const &
68     returns ListOfShape from TopTools;
69         
70     WiresToFaces (me : in out)
71         ---Purpose:  Build faces from the wires result.
72     is static;
73     
74     NewFaces (me)
75         ---Purpose: Returns the list of faces.
76         --  Warning: The method <WiresToFaces> as to be called before.
77         --          can be an empty list.
78         ---C++: return const &
79     returns ListOfShape from TopTools;
80
81     NewEdges (me ; E : Edge from TopoDS)
82         ---Purpose: Returns the list of new edges built from an edge <E>
83         --          it can be an empty list.
84         ---C++: return const &
85     returns ListOfShape from TopTools;
86
87     GetVerticesForSubstitute (me; VerVerMap: out DataMapOfShapeShape from TopTools);
88         ---Purpose: Returns the datamap of vertices with their substitutes.
89     
90     VerticesForSubstitute (me : in out; VerVerMap: in out DataMapOfShapeShape from TopTools);
91         ---Purpose:
92     
93 fields
94
95     myFace       : Face                      from TopoDS;
96     myConstEdges : ListOfShape               from TopTools;
97     myVerOnEdges : DataMapOfShapeListOfShape from TopTools;
98     myNewWires   : ListOfShape               from TopTools;
99     myNewFaces   : ListOfShape               from TopTools;
100     myNewEdges   : DataMapOfShapeListOfShape from TopTools; 
101      
102     myVerticesForSubstitute  : DataMapOfShapeShape from TopTools;
103     
104 end Loop;