7fd59977 |
1 | -- File: ImpTool.cdl |
2 | -- Created: Thu Mar 26 14:24:05 1992 |
3 | -- Author: Laurent BUCHARD |
4 | -- <lbr@topsn3> |
5 | ---Copyright: Matra Datavision 1992 |
6 | |
7 | |
8 | |
9 | deferred class ImpTool from IntImpParGen |
10 | |
11 | ---Purpose: Template class for an implicit curve. |
12 | |
13 | |
14 | uses Pnt2d from gp, |
15 | Vec2d from gp |
16 | |
17 | is |
18 | |
19 | |
20 | Value (me; U: Real from Standard) |
21 | |
22 | --Purpose: Computes the point at parameter U on the |
23 | -- Implicit Curve. |
24 | |
25 | returns Pnt2d from gp |
26 | is static; |
27 | |
28 | |
29 | D1 (me; U: Real from Standard ; P: out Pnt2d; T: out Vec2d) |
30 | |
31 | --Purpose: Computes the first derivative and the point on the |
32 | -- implicit curve at parameter U. |
33 | |
34 | is static; |
35 | |
36 | |
37 | D2 (me; U: Real from Standard ; P: out Pnt2d; T,N: out Vec2d) |
38 | |
39 | --Purpose: Computes the first, the second derivatives |
40 | -- and the point on the implicit curve at parameter U. |
41 | |
42 | is static; |
43 | |
44 | |
45 | Distance(me; P: Pnt2d from gp) |
46 | |
47 | ---Purpose: Computes the value of the signed distance between |
48 | -- the point P and the implicit curve. |
49 | -- |
50 | |
51 | returns Real from Standard |
52 | is static; |
53 | |
54 | |
55 | GradDistance(me; P: Pnt2d from gp) |
56 | |
57 | ---Purpose: Computes the Gradient of the Signed Distance |
58 | -- between a point and the implicit curve, at the |
59 | -- point P. |
60 | -- |
61 | |
62 | returns Vec2d from gp |
63 | is static; |
64 | |
65 | |
66 | FindParameter(me; P: Pnt2d from gp) |
67 | |
68 | ---Purpose: Returns the parameter U of the point on the |
69 | -- implicit curve corresponding to the point P. |
70 | -- The correspondance between P and the point P(U) on |
71 | -- the implicit curve must be coherent with the way |
72 | -- of determination of the signed distance. |
73 | |
74 | returns Real from Standard |
75 | is static; |
76 | |
77 | |
78 | end ImpTool; |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |