7fd59977 |
1 | -- File: GeomFill_SnglrFunc.cdl |
2 | -- Created: Thu Feb 26 10:42:27 1998 |
3 | -- Author: Roman BORISOV |
4 | -- <rbv@ecolox.nnov.matra-dtv.fr> |
5 | ---Copyright: Matra Datavision 1998 |
6 | |
7 | |
8 | private class SnglrFunc from GeomFill inherits Curve from Adaptor3d |
9 | |
10 | ---Purpose: to represent function C'(t)^C''(t) |
11 | |
12 | uses |
13 | HCurve from Adaptor3d, |
14 | Shape from GeomAbs, |
15 | CurveType from GeomAbs, |
16 | Array1OfReal from TColStd, |
17 | Pnt from gp, |
18 | Vec from gp |
19 | |
20 | raises |
21 | OutOfRange from Standard, |
22 | DomainError from Standard |
23 | |
24 | is |
25 | Create(HC: HCurve from Adaptor3d) |
26 | returns SnglrFunc; |
27 | |
28 | SetRatio(me:in out; Ratio : Real) |
29 | is static; |
30 | |
31 | FirstParameter(me) returns Real |
32 | is redefined static; |
33 | |
34 | LastParameter(me) returns Real |
35 | is redefined static; |
36 | |
37 | NbIntervals(me: in out; S : Shape from GeomAbs) returns Integer |
38 | ---Purpose: Returns the number of intervals for continuity |
39 | -- <S>. May be one if Continuity(me) >= <S> |
40 | is redefined static; |
41 | |
42 | Intervals(me: in out; T : in out Array1OfReal from TColStd; |
43 | S : Shape from GeomAbs) |
44 | ---Purpose: Stores in <T> the parameters bounding the intervals |
45 | -- of continuity <S>. |
46 | -- |
47 | -- The array must provide enough room to accomodate |
48 | -- for the parameters. i.e. T.Length() > NbIntervals() |
49 | raises |
50 | OutOfRange from Standard |
51 | is redefined static; |
52 | |
53 | Value(me; U : Real) returns Pnt from gp |
54 | --- Purpose : Computes the point of parameter U on the curve. |
55 | is redefined static; |
56 | |
57 | IsPeriodic(me) returns Boolean |
58 | is redefined static; |
59 | |
60 | Period(me) returns Real |
61 | raises |
62 | DomainError from Standard -- if the curve is not periodic |
63 | is redefined static; |
64 | |
65 | D0 (me; U : Real; P : out Pnt from gp) |
66 | --- Purpose : Computes the point of parameter U on the curve. |
67 | is redefined static; |
68 | |
69 | D1 (me; U : Real; P : out Pnt from gp ; V : out Vec from gp) |
70 | --- Purpose : Computes the point of parameter U on the curve with its |
71 | -- first derivative. |
72 | raises |
73 | DomainError from Standard |
74 | --- Purpose : Raised if the continuity of the current interval |
75 | -- is not C1. |
76 | is redefined static; |
77 | |
78 | D2 (me; U : Real; P : out Pnt from gp; V1, V2 : out Vec from gp) |
79 | --- Purpose : |
80 | -- Returns the point P of parameter U, the first and second |
81 | -- derivatives V1 and V2. |
82 | raises |
83 | DomainError from Standard |
84 | --- Purpose : Raised if the continuity of the current interval |
85 | -- is not C2. |
86 | is redefined static; |
87 | |
88 | Resolution(me; R3d : Real) returns Real |
89 | ---Purpose : Returns the parametric resolution corresponding |
90 | -- to the real space resolution <R3d>. |
91 | is redefined static; |
92 | |
93 | GetType(me) returns CurveType from GeomAbs |
94 | ---Purpose: Returns the type of the curve in the current |
95 | -- interval : Line, Circle, Ellipse, Hyperbola, |
96 | -- Parabola, BezierCurve, BSplineCurve, OtherCurve. |
97 | is redefined static; |
98 | |
99 | fields |
100 | |
101 | myHCurve: HCurve from Adaptor3d; |
102 | ratio : Real; |
103 | |
104 | end SnglrFunc; |