0024830: Remove redundant keyword 'mutable' in CDL declarations
[occt.git] / src / Expr / Expr_FunctionDerivative.cdl
1 -- Created on: 1991-01-14
2 -- Created by: Arnaud BOUZY
3 -- Copyright (c) 1991-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 FunctionDerivative from Expr
18
19 inherits GeneralFunction from Expr
20
21 uses NamedUnknown from Expr, 
22     GeneralExpression from Expr,
23     Array1OfNamedUnknown from Expr,
24     Array1OfReal from TColStd,
25     AsciiString from TCollection
26
27 raises OutOfRange from Standard,
28     DimensionMismatch from Standard,
29     NumericError from Standard,
30     NotEvaluable from Expr
31
32 is
33
34     Create(func : GeneralFunction; withX : NamedUnknown; deg : Integer)
35     ---Purpose: Creates a FunctionDerivative of degree <deg> relative 
36     --          to the <withX> variable.
37     --          Raises OutOfRange if <deg> lower or equal to zero.
38     ---Level : Advanced
39     returns FunctionDerivative
40     raises OutOfRange;
41
42     NbOfVariables(me)
43     ---Purpose: Returns the number of variables of <me>.
44     returns Integer;
45
46     Variable(me; index : Integer)
47     ---Purpose: Returns the variable denoted by <index> in <me>.
48     --          Raises OutOfRange if <index> greater than 
49     --          NbOfVariables of <me>. 
50     returns NamedUnknown
51     raises OutOfRange;
52     
53     Evaluate(me; vars : Array1OfNamedUnknown; 
54                 values : Array1OfReal)
55     ---Purpose: Computes the value of <me> with the given variables.
56     --          Raises DimensionMismatch if Length(vars) is different from 
57     --          Length(values).
58     returns Real
59     raises DimensionMismatch, NumericError,NotEvaluable;
60
61     Copy(me)
62     ---Purpose: Returns a copy of <me> with the same form.
63     returns like me;
64
65     Derivative(me; var : NamedUnknown)
66     ---Purpose: Returns Derivative of <me> for variable <var>.
67     returns GeneralFunction;
68     
69     Derivative(me; var : NamedUnknown; deg : Integer)
70     ---Purpose: Returns Derivative of <me> for variable <var> with 
71     --          degree <deg>.
72     returns GeneralFunction;
73     
74     IsIdentical(me; func : GeneralFunction)
75     ---Purpose: Tests if <me> and <func> are similar functions (same 
76     --          name and same used expression).
77     returns Boolean;
78
79     IsLinearOnVariable(me; index : Integer)
80     ---Purpose: Tests if <me> is linear on variable on range <index>
81     returns Boolean;
82     
83     Function(me)
84     ---Purpose: Returns the function of which <me> is the derivative.
85     ---Level : Internal
86     returns GeneralFunction
87     is static;
88     
89     Degree(me)
90     ---Purpose: Returns the degree of derivation of <me>.
91     ---Level : Internal
92     returns Integer
93     is static;
94     
95     DerivVariable(me)
96     ---Purpose: Returns the derivation variable of <me>.
97     ---Level : Internal
98     returns NamedUnknown
99     is static;
100     
101     GetStringName(me)
102     returns AsciiString;
103     
104     Expression(me)
105     returns GeneralExpression
106     ---Level : Internal
107     is static;
108     
109     UpdateExpression(me: mutable);
110     ---Level : Internal
111
112 fields
113
114     myFunction : GeneralFunction;
115     myExp : GeneralExpression;
116     myDerivate : NamedUnknown;
117     myDegree : Integer;
118
119 friends
120
121     class NamedFunction from Expr
122     
123 end FunctionDerivative;
124
125