0024428: Implementation of LGPL license
[occt.git] / src / BRepAlgo / BRepAlgo_Image.cdl
1 -- Created on: 1995-10-26
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 Image from BRepAlgo
18
19         ---Purpose: Stores link between a shape <S> and a shape <NewS>
20         --          obtained from <S>. <NewS> is an image of <S>.
21
22 uses
23     Shape                     from TopoDS,
24     ShapeEnum                 from TopAbs,      
25     ListOfShape               from TopTools,
26     DataMapOfShapeListOfShape from TopTools,
27     DataMapOfShapeShape       from TopTools
28
29 raises
30     ConstructionError from Standard
31     
32 is
33     Create;
34     
35     SetRoot (me : in out; S : Shape from TopoDS)
36     is static;
37     
38     
39     Bind (me : in out; OldS : Shape from TopoDS;
40                        NewS : Shape from TopoDS)                                         
41         ---Purpose: Links <NewS> as image of <OldS>.
42     raises 
43         ConstructionError -- if Olds has image.    
44     is static;
45     
46
47     Bind (me : in out; OldS : Shape       from TopoDS;
48                        NewS : ListOfShape from TopTools)
49         ---Purpose: Links <NewS> as image of <OldS>.
50     raises 
51         ConstructionError -- if Olds has image.    
52     is static;
53     
54
55     Add (me : in out;  OldS : Shape from TopoDS;
56                        NewS : Shape from TopoDS)
57         ---Purpose: Add <NewS> to the image of <OldS>.                 
58     raises 
59         ConstructionError -- if Olds has not image.    
60     is static;
61     
62     
63     Add (me : in out; OldS : Shape       from TopoDS;
64                       NewS : ListOfShape from TopTools)
65         ---Purpose: Add <NewS> to the image of <OldS>.                 
66     raises 
67         ConstructionError -- if Olds has not image.    
68     is static;
69     
70     Clear(me : in out)
71     is static;
72     
73     Remove(me : in out;  S : Shape from TopoDS)
74         ---Purpose: Remove <S> to set of images.
75     raises 
76         ConstructionError -- if S is not an image.    
77     is static;
78
79     Roots (me)
80         ---C++: return const &
81     returns ListOfShape from TopTools
82     is static;
83     
84     IsImage (me; S : Shape from TopoDS) 
85     returns Boolean from Standard
86     is static;
87     
88     ImageFrom (me; S : Shape from TopoDS) 
89         ---Purpose: Returns the generator of <S>
90         ---C++: return const &
91     returns Shape from TopoDS  
92     is static;
93     
94     Root (me; S : Shape from TopoDS) 
95         ---Purpose: Returns the upper generator of <S>
96         ---C++: return const &
97     returns Shape from TopoDS  
98     is static;
99     
100     HasImage (me; S : Shape from TopoDS) 
101     returns Boolean from Standard
102     is static;
103     
104     Image (me; S : Shape from TopoDS) 
105         ---Purpose: Returns the Image of <S>.
106         --          Returns <S> in the list if HasImage(S) is false.
107         ---C++: return const &      
108     returns ListOfShape from TopTools
109     is static;
110    
111     LastImage (me; S :        Shape from TopoDS;
112                    L : in out ListOfShape from TopTools) 
113         ---Purpose: Stores in <L> the images of images of...images of <S>.
114         --          <L> contains only <S> if  HasImage(S) is false.
115     is static;
116     
117     Compact (me : in out)
118         ---Purpose:  Keeps only the link between roots and lastimage.
119     is static;
120
121     Filter (me        : in out; 
122             S         : Shape     from TopoDS;
123             ShapeType : ShapeEnum from TopAbs);
124         ---Purpose: Deletes in the images the shape of type <ShapeType>
125         --          which are not in <S>.
126         --  Warning:  Compact() must be call before.
127                                 
128 fields
129
130     roots : ListOfShape               from TopTools;
131     up    : DataMapOfShapeShape       from TopTools;
132     down  : DataMapOfShapeListOfShape from TopTools;
133     
134 end Image;