0023022: This is desirable to access OpenGl extensions and core API (1.2+) in one...
[occt.git] / src / Law / Law_BSpFunc.cdl
1 -- File:        Law_BSpFunc.cdl
2 -- Created:     Wed Nov 15 16:16:24 1995
3 -- Author:      Laurent BOURESCHE
4 --              <lbo@phylox>
5 ---Copyright:    Matra Datavision 1995
6
7
8 class BSpFunc from Law inherits Function from Law
9
10         ---Purpose: Law Function based on a BSpline curve 1d.  Package
11         --          methods and classes are implemented in package Law
12         --          to    construct  the  basis    curve with  several
13         --          constraints.
14
15 uses
16     BSpline from Law,
17     Array1OfReal    from TColStd,
18     Shape           from GeomAbs
19       
20 raises OutOfRange from Standard   
21
22 is
23
24     Create returns mutable BSpFunc from Law;
25     
26     Create(C  : BSpline from Law; First, Last: Real) 
27     returns mutable BSpFunc from Law;
28     
29     Continuity(me) returns Shape from GeomAbs
30     is redefined static;
31     
32     NbIntervals(me; S : Shape from GeomAbs) returns Integer
33         ---Purpose: Returns  the number  of  intervals for  continuity
34         --          <S>. May be one if Continuity(me) >= <S>
35     is redefined static;
36     
37     Intervals(me; T : in out Array1OfReal from TColStd; 
38                   S : Shape from GeomAbs)
39         ---Purpose: Stores in <T> the  parameters bounding the intervals
40         --          of continuity <S>.
41         --          
42         --          The array must provide  enough room to  accomodate
43         --          for the parameters. i.e. T.Length() > NbIntervals()
44     raises
45         OutOfRange from Standard 
46     is redefined static;
47
48     Value(me: mutable; X: Real from Standard)
49     returns Real from Standard;
50         
51     D1(me: mutable; X: Real from Standard; F,D: out Real from Standard); 
52     
53     D2(me: mutable; X: Real from Standard; 
54        F,D, D2: out Real from Standard);
55     
56
57     Trim(me; PFirst, PLast, Tol :Real from Standard) returns Function
58     
59     ---Purpose:   Returns a  law equivalent of  <me>  between
60         --        parameters <First>  and <Last>. <Tol>  is used  to
61         --        test for 3d points confusion.
62         --        It is usfule to determines the derivatives 
63         --        in these values <First> and <Last> if 
64         --        the Law is not Cn.          
65         is redefined static;    
66     
67     Bounds(me: mutable; PFirst,PLast: out Real from Standard);
68     
69     Curve(me) returns mutable BSpline from Law;
70
71     SetCurve(me : mutable; 
72              C  : BSpline from Law);
73
74 fields
75     curv : BSpline from Law; -- is protected;To force Curve() and 
76                              -- SetCurve() to  be  used.  
77     first  : Real;
78     last   : Real;
79 end BSpFunc;