0024830: Remove redundant keyword 'mutable' in CDL declarations
[occt.git] / src / Law / Law_Linear.cdl
1 -- Created on: 1995-01-12
2 -- Created by: Laurent BOURESCHE
3 -- Copyright (c) 1995-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 Linear from Law inherits Function from Law
18
19         ---Purpose: Describes an linear evolution law. 
20 uses
21     Array1OfReal    from TColStd,
22     Shape           from GeomAbs
23       
24 raises OutOfRange from Standard
25
26 is
27
28     Create
29     
30         returns Linear from Law;
31         ---Purpose: Constructs an empty linear evolution law.
32
33     Set(me: mutable; Pdeb,Valdeb,Pfin,Valfin: Real from Standard)
34         ---Purpose:
35         -- Defines this linear evolution law by assigning both:
36         -- -   the bounds Pdeb and Pfin of the parameter, and
37         -- -   the values Valdeb and Valfin of the function at these
38         --   two parametric bounds.   
39         is static;
40     Continuity(me) returns Shape from GeomAbs
41         ---Purpose: Returns GeomAbs_CN
42     is redefined static;
43     
44     NbIntervals(me; S : Shape from GeomAbs) returns Integer
45         ---Purpose: Returns  1
46     is redefined static;
47     
48     Intervals(me; T : in out Array1OfReal from TColStd; 
49                   S : Shape from GeomAbs)
50     raises
51         OutOfRange from Standard 
52     is redefined static;
53
54
55
56     Value(me: mutable; X: Real from Standard)
57     
58         returns Real from Standard;
59         ---Purpose: Returns the value of this function at the point of parameter X.
60
61     D1(me: mutable; X: Real from Standard; F,D: out Real from Standard); 
62         ---Purpose:
63         -- Returns the value F and the first derivative D of this
64         -- function at the point of parameter X.    
65     D2(me: mutable; X: Real from Standard; 
66        F,D, D2: out Real from Standard);
67         ---Purpose: Returns the value, first and second derivatives 
68         --          at parameter X.
69     
70     Trim(me; PFirst, PLast, Tol :Real from Standard) returns Function
71     
72         ---Purpose:   Returns a  law equivalent of  <me>  between
73         --        parameters <First>  and <Last>. <Tol>  is used  to
74         --        test for 3d points confusion.
75         --        It is usfule to determines the derivatives 
76         --        in these values <First> and <Last> if 
77         --        the Law is not Cn.          
78         is redefined static;
79
80     Bounds(me: mutable; PFirst,PLast: out Real from Standard);
81         ---Purpose: Returns the parametric bounds of the function.    
82
83 fields
84
85     valdeb  : Real from Standard;
86     valfin  : Real from Standard;
87     pdeb    : Real from Standard;
88     pfin    : Real from Standard;
89
90 end Linear;