0025701: Problem with the symmetry of fillet on two perpendicular cylinders
[occt.git] / src / Blend / Blend_Point.cdl
1 -- Created on: 1993-12-02
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1993-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 under
9 -- the terms of the GNU Lesser General Public License 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 Point from Blend
18
19         ---Purpose: 
20
21 uses Pnt   from gp,
22      Vec   from gp,
23      Vec2d from gp
24
25 raises DomainError from Standard
26
27 is
28
29     Create returns Point from Blend;
30         
31     Create(Pt1,Pt2       : Pnt from gp;
32            Param         : Real from Standard;
33            U1,V1,U2,V2   : Real from Standard;
34            Tg1,Tg2       : Vec from gp;
35            Tg12d,Tg22d   : Vec2d from gp)
36     ---Purpose: Creates a point on 2 surfaces, with tangents.
37     returns Point from Blend;
38         
39     Create(Pt1,Pt2       : Pnt from gp;
40            Param         : Real from Standard;
41            U1,V1,U2,V2   : Real from Standard)
42     ---Purpose: Creates a point on 2 surfaces, without tangents.
43     returns Point from Blend;
44         
45     Create(Pts,Ptc       : Pnt from gp;
46            Param         : Real from Standard;
47            U,V,W         : Real from Standard;
48            Tgs,Tgc       : Vec from gp;
49            Tg2d          : Vec2d from gp)
50     ---Purpose: Creates a point on a surface and a curve, with tangents.
51     returns Point from Blend;
52         
53     Create(Pts,Ptc       : Pnt from gp;
54            Param         : Real from Standard;
55            U,V,W         : Real from Standard)
56     ---Purpose: Creates a point on a surface and a curve, without tangents.
57     returns Point from Blend;
58         
59     Create(Pt1,Pt2       : Pnt from gp;
60            Param         : Real from Standard;
61            U1,V1,U2,V2   : Real from Standard;
62            PC            : Real from Standard;
63            Tg1,Tg2       : Vec from gp;
64            Tg12d,Tg22d   : Vec2d from gp)
65     ---Purpose: Creates a point on a surface and a curve on surface, 
66     --          with tangents.
67     returns Point from Blend;
68         
69     Create(Pt1,Pt2       : Pnt from gp;
70            Param         : Real from Standard;
71            U1,V1,U2,V2   : Real from Standard;
72            PC            : Real from Standard)
73     ---Purpose: Creates a point on a surface and a curve on surface, 
74     --          without tangents.
75     returns Point from Blend;
76         
77     Create(Pt1,Pt2       : Pnt from gp;
78            Param         : Real from Standard;
79            U1,V1,U2,V2   : Real from Standard;
80            PC1,PC2       : Real from Standard;
81            Tg1,Tg2       : Vec from gp;
82            Tg12d,Tg22d   : Vec2d from gp)
83     ---Purpose: Creates a point on two curves on surfaces, with tangents.
84     returns Point from Blend;
85         
86     Create(Pt1,Pt2       : Pnt from gp;
87            Param         : Real from Standard;
88            U1,V1,U2,V2   : Real from Standard;
89            PC1,PC2       : Real from Standard)
90     ---Purpose: Creates a point on two curves on surfaces, with tangents.
91     returns Point from Blend;
92         
93     SetValue(me: in out;Pt1,Pt2       : Pnt from gp;
94                         Param         : Real from Standard;
95                         U1,V1,U2,V2   : Real from Standard;
96                         Tg1,Tg2       : Vec from gp;
97                         Tg12d,Tg22d   : Vec2d from gp)
98     ---Purpose: Set the values for a point on 2 surfaces, with tangents.
99     is static;
100
101     SetValue(me: in out;Pt1,Pt2       : Pnt from gp;
102                         Param         : Real from Standard;
103                         U1,V1,U2,V2   : Real from Standard)
104     ---Purpose: Set the values for a point on 2 surfaces, without tangents.
105     is static;
106
107     SetValue(me: in out;Pts,Ptc       : Pnt from gp;
108                         Param         : Real from Standard;
109                         U,V,W         : Real from Standard;
110                         Tgs,Tgc       : Vec from gp;
111                         Tg2d          : Vec2d from gp)
112     ---Purpose: Set the values for a point on a surface and a curve,
113     --          with tangents.
114     is static;
115
116     SetValue(me: in out;Pts,Ptc       : Pnt from gp;
117                         Param         : Real from Standard;
118                         U,V,W         : Real from Standard)
119     ---Purpose: Set the values for a point on a surface and a curve,
120     --          without tangents.
121     is static;
122
123     SetValue(me            : in out;
124              Pt1,Pt2       : Pnt from gp;
125              Param         : Real from Standard;
126              U1,V1,U2,V2   : Real from Standard;
127              PC            : Real from Standard;
128              Tg1,Tg2       : Vec from gp;
129              Tg12d,Tg22d   : Vec2d from gp);
130     ---Purpose: Creates a point on a surface and a curve on surface, 
131     --          with tangents.
132         
133     SetValue(me            : in out;
134              Pt1,Pt2       : Pnt from gp;
135              Param         : Real from Standard;
136              U1,V1,U2,V2   : Real from Standard;
137              PC            : Real from Standard);
138     ---Purpose: Creates a point on a surface and a curve on surface, 
139     --          without tangents.
140         
141     SetValue(me            : in out;
142              Pt1,Pt2       : Pnt from gp;
143              Param         : Real from Standard;
144              U1,V1,U2,V2   : Real from Standard;
145              PC1,PC2       : Real from Standard;
146              Tg1,Tg2       : Vec from gp;
147              Tg12d,Tg22d   : Vec2d from gp);
148     ---Purpose: Creates a point on two curves on surfaces, with tangents.
149         
150     SetValue(me            : in out;
151              Pt1,Pt2       : Pnt from gp;
152              Param         : Real from Standard;
153              U1,V1,U2,V2   : Real from Standard;
154              PC1,PC2       : Real from Standard);
155     ---Purpose: Creates a point on two curves on surfaces, without tangents.
156         
157     SetValue(me            : in out;
158              Pt1,Pt2       : Pnt from gp;
159              Param         : Real from Standard;
160              PC1,PC2       : Real from Standard);
161     ---Purpose: Creates a point on two curves.
162         
163     SetParameter(me            : in out;
164                  Param         : Real from Standard);
165     ---C++: inline
166     ---Purpose: Changes parameter on existing point
167              
168     Parameter(me)
169     returns Real from Standard
170     ---C++: inline
171     is static;
172     
173     IsTangencyPoint(me)
174     ---Purpose: Returns Standard_True if it was not possible to compute
175     --          the tangent vectors at PointOnS1 and/or PointOnS2.
176     ---C++: inline
177     returns Boolean from Standard
178     is static;
179
180
181 -- methods for a point on 2 surfaces
182
183     PointOnS1(me)
184     returns Pnt from gp
185     ---C++: inline
186     ---C++: return const&
187     is static;
188     
189     PointOnS2(me)
190     returns Pnt from gp
191     ---C++: inline
192     ---C++: return const&
193     is static;
194
195     ParametersOnS1(me; U,V: out Real from Standard)
196     ---C++: inline
197     is static;
198     
199     ParametersOnS2(me; U,V: out Real from Standard)
200     ---C++: inline
201     is static;
202
203     TangentOnS1(me)
204     returns Vec from gp
205     ---C++: inline
206     ---C++: return const&
207     raises DomainError from Standard
208     --- The exception is raised when IsTangencyPoint
209     --  returns Standard_True.
210     is static;
211     
212     TangentOnS2(me)
213     returns Vec from gp
214     ---C++: inline
215     ---C++: return const&
216     raises DomainError from Standard
217     --- The exception is raised when IsTangencyPoint
218     --  returns Standard_True.
219     is static;
220     
221     Tangent2dOnS1(me)
222     returns Vec2d from gp
223     ---C++: inline
224     raises DomainError from Standard
225     --- The exception is raised when IsTangencyPoint
226     --  returns Standard_True.
227     is static;
228     
229     Tangent2dOnS2(me)
230     returns Vec2d from gp
231     ---C++: inline
232     raises DomainError from Standard
233     --- The exception is raised when IsTangencyPoint
234     --  returns Standard_True.
235     is static;
236     
237
238 -- methods for a point on a surface and a curve
239
240     PointOnS(me)
241     returns Pnt from gp
242     ---C++: inline
243     ---C++: return const&
244     is static;
245     
246     PointOnC(me)
247     returns Pnt from gp
248     ---C++: inline
249     ---C++: return const&
250     is static;
251
252     ParametersOnS(me; U,V: out Real from Standard)
253     ---C++: inline
254     is static;
255     
256     ParameterOnC(me)
257     returns Real from Standard
258     ---C++: inline
259     is static;
260     
261     TangentOnS(me)
262     returns Vec from gp
263     ---C++: inline
264     ---C++: return const&
265     raises DomainError from Standard
266     --- The exception is raised when IsTangencyPoint
267     --  returns Standard_True.
268     is static;
269     
270     TangentOnC(me)
271     returns Vec from gp
272     ---C++: inline
273     ---C++: return const&
274     raises DomainError from Standard
275     --- The exception is raised when IsTangencyPoint
276     --  returns Standard_True.
277     is static;
278     
279     Tangent2d(me)
280     returns Vec2d from gp
281     ---C++: inline
282     raises DomainError from Standard
283     --- The exception is raised when IsTangencyPoint
284     --  returns Standard_True.
285     is static;
286
287 -- methods for a point on two curves
288
289     PointOnC1(me)
290     returns Pnt from gp
291     ---C++: inline
292     ---C++: return const&
293     is static;
294     
295     PointOnC2(me)
296     returns Pnt from gp
297     ---C++: inline
298     ---C++: return const&
299     is static;
300
301
302     ParameterOnC1(me)
303     returns Real from Standard
304     ---C++: inline
305     is static;
306     
307     ParameterOnC2(me)
308     returns Real from Standard
309     ---C++: inline
310     is static;
311
312     
313     TangentOnC1(me)
314     returns Vec from gp
315     ---C++: inline
316     ---C++: return const&
317     raises DomainError from Standard
318     --- The exception is raised when IsTangencyPoint
319     --  returns Standard_True.
320     is static;
321     
322     TangentOnC2(me)
323     returns Vec from gp
324     ---C++: inline
325     ---C++: return const&
326     raises DomainError from Standard
327     --- The exception is raised when IsTangencyPoint
328     --  returns Standard_True.
329     is static;   
330     
331     
332         
333 fields
334     pt1    : Pnt     from gp;
335     pt2    : Pnt     from gp; 
336     tg1    : Vec     from gp;
337     tg2    : Vec     from gp;
338     prm    : Real    from Standard;
339     u1     : Real    from Standard;
340     v1     : Real    from Standard;
341     u2     : Real    from Standard;
342     v2     : Real    from Standard;
343     pc1    : Real    from Standard;
344     pc2    : Real    from Standard;
345     utg12d : Real    from Standard;
346     vtg12d : Real    from Standard;
347     utg22d : Real    from Standard;
348     vtg22d : Real    from Standard;
349     hass1  : Boolean from Standard;
350     hass2  : Boolean from Standard;    
351     hasc1  : Boolean from Standard; 
352     hasc2  : Boolean from Standard;
353     istgt  : Boolean from Standard;    
354 end Point;