Integration of OCCT 6.5.0 from SVN
[occt.git] / src / IntPatch / IntPatch_WLine.cdl
1 -- File:        IntPatch_WLine.cdl
2 -- Created:     Mon May 27 13:18:45 1991
3 -- Author:      Isabelle GRIGNON
4 ---Copyright:    Matra Datavision 1991, 1992
5
6
7 class WLine from IntPatch
8
9 inherits Line from IntPatch 
10
11         ---Purpose: Definition of set of points as a result of the intersection
12         --          between 2 parametrised patches.
13
14 uses
15      HCurve2d        from Adaptor2d,
16      Point           from IntPatch,
17      SequenceOfPoint from IntPatch,
18      PntOn2S         from IntSurf,
19      LineOn2S        from IntSurf,
20      TypeTrans       from IntSurf,
21      Situation       from IntSurf,
22      Box2d           from Bnd,
23      Box             from Bnd,
24      Pnt2d           from gp,
25      Pnt             from gp
26
27 raises OutOfRange  from Standard,
28        DomainError from Standard
29 is
30     Create(Line: LineOn2S from IntSurf; Tang: Boolean from Standard;
31            Trans1, Trans2: TypeTrans from IntSurf)
32     
33         ---Purpose: Creates a WLine as an intersection when the 
34         --          transitions are In or Out.
35     
36         returns mutable WLine from IntPatch;
37
38
39     Create(Line: LineOn2S from IntSurf; Tang: Boolean from Standard;
40            Situ1,Situ2: Situation from IntSurf)
41     
42         ---Purpose: Creates a WLine as an intersection when the 
43         --          transitions are Touch.
44     
45         returns mutable WLine from IntPatch;
46
47
48     Create(Line: LineOn2S from IntSurf; Tang: Boolean from Standard)
49     
50         ---Purpose: Creates a WLine as an intersection when the 
51         --          transitions are Undecided.
52     
53         returns mutable WLine from IntPatch;
54
55
56     AddVertex(me: mutable; Pnt: Point from IntPatch)
57     
58         ---Purpose: Adds a vertex in the list.
59
60         ---C++: inline
61
62         is static;
63
64     
65     SetPoint(me:mutable; Index: Integer from Standard; Pnt: Point from IntPatch)
66     
67         ---Purpose: Set the Point of index <Index> in the LineOn2S
68     
69         is static;
70     
71     
72     Replace(me: mutable; Index: Integer from Standard; Pnt: Point from IntPatch)
73     
74         ---Purpose: Replaces the element of range Index in the list
75         --          of points.
76         --          The exception OutOfRange is raised when
77         --          Index <= 0 or Index > NbVertex.
78
79         ---C++: inline
80
81         raises OutOfRange from Standard
82         
83         is static;
84
85
86     SetFirstPoint(me: mutable; IndFirst: Integer from Standard) is static;
87
88         ---C++: inline
89
90
91     SetLastPoint(me: mutable; IndLast: Integer from Standard) is static;
92
93         ---C++: inline
94
95
96     NbPnts(me)
97     
98         ---Purpose: Returns the number of intersection points.
99
100         returns Integer from Standard
101         ---C++: inline
102         
103         is static;
104
105
106     Point(me; Index: Integer from Standard)
107     
108         ---Purpose: Returns the intersection point of range Index.
109
110         returns PntOn2S from IntSurf
111         ---C++: inline
112         ---C++: return const&
113         
114         raises OutOfRange from Standard
115         --- The exception OutOfRange is raised if Index <= 0 or Index > NbPnts.
116         
117         is static;
118
119
120     HasFirstPoint(me)
121     
122         ---Purpose: Returns True if the line has a known First point.
123         --          This point is given by the method FirstPoint().
124     
125         returns Boolean from Standard
126         ---C++: inline
127         
128         is static;
129
130
131     HasLastPoint(me)
132     
133         ---Purpose: Returns True if the line has a known Last point.
134         --          This point is given by the method LastPoint().
135     
136         returns Boolean from Standard
137         ---C++: inline
138         
139         is static;
140
141
142     FirstPoint(me)
143     
144         ---Purpose: Returns the Point corresponding to the FirstPoint.
145     
146         returns Point from IntPatch
147         ---C++: inline
148         ---C++: return const&
149         
150         raises DomainError from Standard
151         --- The exception DomainError is raised when HasFirstPoint
152         --  returns False.
153         
154         is static;
155
156
157     LastPoint(me)
158     
159         ---Purpose: Returns the Point corresponding to the LastPoint.
160     
161         returns Point from IntPatch
162         ---C++: inline
163         ---C++: return const&
164         
165         raises DomainError from Standard
166         --- The exception DomainError is raised when HasFirstPoint
167         --  returns False.
168         
169         is static;
170
171
172     FirstPoint(me; Indfirst: out Integer from Standard)
173     
174         ---Purpose: Returns the Point corresponding to the FirstPoint.
175         --          Indfirst is the index of the first in the list
176         --          of vertices.
177     
178         returns Point from IntPatch
179         ---C++: inline
180         ---C++: return const&
181         
182         raises DomainError from Standard
183         --- The exception DomainError is raised when HasFirstPoint
184         --  returns False.
185         
186         is static;
187
188
189     LastPoint(me; Indlast: out Integer from Standard)
190     
191         ---Purpose: Returns the Point corresponding to the LastPoint.
192         --          Indlast is the index of the last in the list
193         --          of vertices.
194     
195         returns Point from IntPatch
196         ---C++: inline
197         ---C++: return const&
198         
199         raises DomainError from Standard
200         --- The exception DomainError is raised when HasFirstPoint
201         --  returns False.
202         
203         is static;
204
205
206     NbVertex(me)
207     
208         returns Integer from Standard
209         ---C++: inline
210         
211         is static;
212
213
214     Vertex(me; Index: Integer from Standard)
215     
216         ---Purpose: Returns the vertex of range Index on the line.
217     
218         returns Point from IntPatch
219         ---C++: inline
220         ---C++: return const&
221         
222         raises OutOfRange from Standard 
223         --- The exception OutOfRange is raised if Index <= 0 or
224         --  Index > NbVertex.
225
226         is static;
227
228
229     ComputeVertexParameters(me: mutable; Tol: Real from Standard)
230     
231         ---Purpose: Set the parameters of all the vertex on the line.
232         --          if a vertex is already in the line, 
233         --             its parameter is modified
234         --          else a new point in the line is inserted.
235         is static; 
236
237     Curve(me) 
238     
239        returns LineOn2S from IntSurf
240        is static;
241        
242
243     IsOutSurf1Box(me: mutable; P1: Pnt2d from gp )
244         returns Boolean from Standard
245         is static;
246
247     IsOutSurf2Box(me: mutable; P1: Pnt2d from gp )
248         returns Boolean from Standard
249         is static;
250         
251     IsOutBox(me: mutable; P: Pnt from gp)
252         returns Boolean from Standard
253         is static;
254
255
256     SetPeriod(me: mutable; pu1,pv1,pu2,pv2: Real from Standard)
257         is static;
258         
259
260     U1Period(me) 
261         returns Real from Standard
262         is static;
263
264     V1Period(me) 
265         returns Real from Standard
266         is static;
267
268     U2Period(me) 
269         returns Real from Standard
270         is static;
271
272     V2Period(me) 
273         returns Real from Standard
274         is static;
275         
276
277
278     SetArcOnS1(me: mutable ; A : HCurve2d from Adaptor2d)
279         is static;
280         
281     HasArcOnS1(me)
282         returns Boolean from Standard
283         is static;
284     
285     GetArcOnS1(me) 
286         ---C++: return const&
287         returns HCurve2d from Adaptor2d;
288
289     SetArcOnS2(me: mutable ; A : HCurve2d from Adaptor2d)
290         is static;
291         
292     HasArcOnS2(me)
293         returns Boolean from Standard
294         is static;
295     
296     GetArcOnS2(me) 
297         ---C++: return const&
298         returns HCurve2d from Adaptor2d;
299
300     Dump(me)
301     
302         is static;
303
304  
305 fields
306
307     curv : LineOn2S        from IntSurf;
308     fipt : Boolean         from Standard;
309     lapt : Boolean         from Standard;
310     indf : Integer         from Standard;
311     indl : Integer         from Standard;
312     svtx : SequenceOfPoint from IntPatch;
313     
314     Buv1 : Box2d        from Bnd;
315     Buv2 : Box2d        from Bnd;
316     Bxyz : Box          from Bnd;
317
318     u1period : Real from Standard;
319     v1period : Real from Standard;
320     u2period : Real from Standard;
321     v2period : Real from Standard;
322     
323     hasArcOnS1   : Boolean from Standard;
324     theArcOnS1   : HCurve2d from Adaptor2d;
325     hasArcOnS2   : Boolean from Standard;
326     theArcOnS2   : HCurve2d from Adaptor2d;
327     
328 end WLine;