0024624: Lost word in license statement in source files
[occt.git] / src / BlendFunc / BlendFunc_Tensor.cdl
1 -- Created on: 1996-12-05
2 -- Created by: Philippe MANGIN
3 -- Copyright (c) 1996-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 Tensor from BlendFunc 
18
19         ---Purpose: used to store the "gradient of gradient"
20
21 uses
22 Array1OfReal from TColStd,
23 Vector from math,
24 Matrix from math
25
26 raises DimensionError from Standard, 
27        RangeError from Standard 
28
29 is
30     Create(NbRow, NbCol, NbMat : Integer) 
31     returns Tensor;
32  
33     Init(me : in out; InitialValue: Real)
34            ---Purpose:Initialize all the elements of a Tensor to InitialValue.
35     is static;
36  
37     Value(me; Row, Col, Mat: Integer)
38         ---Purpose: accesses (in read or write mode) the value of index <Row>,
39         --          <Col> and <Mat> of a Tensor.
40         --          An exception is raised if <Row>, <Col> or <Mat> are not
41         --          in the correct range.
42         ---C++: alias operator() 
43         ---C++: return const & 
44         ---C++: inline
45     returns Real
46     is static;
47     
48     ChangeValue(me : in out; Row, Col, Mat: Integer)
49         ---Purpose: accesses (in read or write mode) the value of index <Row>,
50         --          <Col> and <Mat> of a Tensor.
51         --          An exception is raised if <Row>, <Col> or <Mat> are not
52         --          in the correct range.
53         ---C++: alias operator() 
54         ---C++: return & 
55         ---C++: inline
56     returns Real
57     is static;
58
59     Multiply(me; Right: Vector; Product:out Matrix)
60     raises DimensionError
61     is static;
62     
63
64 fields
65     Tab     : Array1OfReal;
66     nbrow   : Integer;
67     nbcol   : Integer;
68     nbmat   : Integer;
69     nbmtcl  : Integer;
70 end ;