Integration of OCCT 6.5.0 from SVN
[occt.git] / src / TopOpeBRepDS / TopOpeBRepDS_DSS.cdl
1 -- File:        TopOpeBRepDS_DSS.cdl
2 -- Created:     Thu Feb  5 10:58:58 1998
3 -- Author:      Jean Yves LEBEY
4 --              <jyl@langdox.paris1.matra-dtv.fr>
5 ---Copyright:    Matra Datavision 1998
6
7 class DSS from TopOpeBRepDS
8
9 uses 
10     
11     Shape from TopoDS,
12     ListOfShape  from TopTools,
13     Config from TopOpeBRepDS,    
14     Interference from TopOpeBRepDS,
15     ListOfInterference from TopOpeBRepDS,
16     ShapeData from TopOpeBRepDS,
17     DoubleMapOfIntegerShape from TopOpeBRepDS,
18     MapOfIntegerShapeData from TopOpeBRepDS
19
20 is  
21     
22     Create returns DSS;
23
24     Clear(me:in out);
25
26     AddShape(me:in out;S:Shape) returns Integer;
27     ---Purpose: Insert a shape S. Returns the index.
28
29     AddShape(me:in out;S:Shape;I:Integer) returns Integer;
30     ---Purpose: Insert a shape S which ancestor is I = 1 or 2. Returns the index.
31     
32     KeepShape(me;I:Integer;K:Boolean = Standard_True) returns Boolean;
33
34     KeepShape(me;S:Shape;K:Boolean = Standard_True) returns Boolean;
35
36     ChangeKeepShape(me:in out;I:Integer;K:Boolean);
37     
38     ChangeKeepShape(me:in out;S:Shape;K:Boolean);
39
40     ShapeInterferences(me;S:Shape;K:Boolean = Standard_True)
41     returns ListOfInterference from TopOpeBRepDS;
42     ---C++: return const &
43
44     ChangeShapeInterferences(me:in out;S:Shape) 
45     returns ListOfInterference from TopOpeBRepDS;
46     ---C++: return &
47     
48     ShapeInterferences(me;I:Integer;K:Boolean = Standard_True) 
49     returns ListOfInterference from TopOpeBRepDS;
50     ---C++: return const &
51     
52     ChangeShapeInterferences(me:in out;I:Integer) 
53     returns ListOfInterference from TopOpeBRepDS;
54     ---C++: return &
55     
56     ShapeSameDomain(me;S:Shape) 
57     returns ListOfShape from TopTools;
58     ---C++: return const &
59     
60     ChangeShapeSameDomain(me:in out;S:Shape)
61     returns ListOfShape from TopTools;
62     ---C++: return &
63     
64     ShapeSameDomain(me;I:Integer)
65     returns ListOfShape from TopTools;
66     ---C++: return const &
67     
68     ChangeShapeSameDomain(me:in out;I:Integer) 
69     returns ListOfShape from TopTools;
70     ---C++: return &
71     
72     ChangeShapeData(me: in out)
73     returns MapOfIntegerShapeData from TopOpeBRepDS;
74     ---C++: return &
75     
76     AddShapeSameDomain(me:in out;S,SSD:Shape);
77     
78     RemoveShapeSameDomain(me:in out;S,SSD:Shape);
79     
80     -- reference
81
82     SameDomainRef(me;I:Integer) returns Integer;
83
84     SameDomainRef(me;S:Shape) returns Integer;
85
86     SameDomainRef(me:in out;I:Integer;Ref:Integer);
87
88     SameDomainRef(me:in out;S:Shape;Ref:Integer);
89
90     -- orientation
91
92     SameDomainOri(me;I:Integer) returns Config from TopOpeBRepDS;
93
94     SameDomainOri(me;S:Shape) returns Config from TopOpeBRepDS;
95
96     SameDomainOri(me:in out;I:Integer;Ori:Config from TopOpeBRepDS);
97
98     SameDomainOri(me:in out;S:Shape;Ori:Config from TopOpeBRepDS);
99
100     -- index
101
102     SameDomainInd(me;I:Integer) returns Integer;
103
104     SameDomainInd(me;S:Shape) returns Integer;
105
106     SameDomainInd(me:in out;I:Integer;Ind:Integer);
107     
108     SameDomainInd(me:in out;S:Shape;Ind:Integer);
109
110     AncestorRank(me;I:Integer) returns Integer;
111
112     AncestorRank(me;S:Shape) returns Integer;
113
114     AncestorRank(me:in out;I:Integer;Ianc:Integer);
115
116     AncestorRank(me:in out;S:Shape;Ianc:Integer);
117
118     -- interferences
119
120     AddShapeInterference(me:in out;S:Shape;I:Interference from TopOpeBRepDS);
121     
122     RemoveShapeInterference(me:in out;S:Shape;I:Interference from TopOpeBRepDS);
123
124     FillShapesSameDomain(me:in out;S1,S2:Shape);
125
126     UnfillShapesSameDomain(me:in out;S1,S2:Shape);
127
128     -- - - - - - - - - - - -         
129     -- The Topological shapes
130     -- - - - - - - - - - - -   
131
132     NbShapes(me) returns Integer;
133     
134     Shape(me;I:Integer;K:Boolean = Standard_True) returns Shape;
135     ---Purpose: returns the shape of index I stored the maps
136     ---C++: return const &
137     
138     Shape(me;S:Shape;K:Boolean = Standard_True) returns Integer;
139     ---Purpose: returns the index of shape <S>, 0 if <S> is not in the maps.
140         
141     -- - - - - - - - - - - - - - - - - - - - - 
142     -- Geometry attached to a topological shape
143     -- - - - - - - - - - - - - - - - - - - - - 
144    
145     HasGeometry(me;S:Shape) returns Boolean;
146     ---Purpose: Returns True if <S> has new geometries, i.e :
147     -- True if S is stored and has an interference list not empty
148
149     HasShape(me;S:Shape;K:Boolean = Standard_True) returns Boolean;
150     ---Purpose: Returns True if <S> is stored in the maps
151
152 fields
153
154     myDMOIS:DoubleMapOfIntegerShape from TopOpeBRepDS;
155     myNbDMOIS:Integer;
156     myIMOSD:MapOfIntegerShapeData from TopOpeBRepDS; 
157     myEmptyListOfInterference:ListOfInterference from TopOpeBRepDS;
158     myEmptyListOfShape:ListOfShape from TopTools;
159     myEmptyShape:Shape from TopoDS;
160
161 end DSS from TopOpeBRepDS;