0030686: Visualization, SelectMgr_ViewerSelector - sorting issues of transformation...
[occt.git] / src / math / math_Jacobi.lxx
1 // Copyright (c) 1997-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 //
4 // This file is part of Open CASCADE Technology software library.
5 //
6 // This library is free software; you can redistribute it and/or modify it under
7 // the terms of the GNU Lesser General Public License version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
11 //
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
14
15 // math_Jacobi.lxx
16
17 #include <StdFail_NotDone.hxx>
18 #include <math_Vector.hxx>
19 #include <math_Matrix.hxx>
20
21 inline Standard_Boolean math_Jacobi::IsDone() const { return Done; }
22
23 inline Standard_OStream& operator<<(Standard_OStream& o,
24                                     const math_Jacobi& J) 
25 {
26   J.Dump(o);
27   return o;
28 }
29
30 inline const math_Vector& math_Jacobi::Values () const{
31   StdFail_NotDone_Raise_if(!Done, " ");
32   return EigenValues;
33 }
34
35 inline  Standard_Real math_Jacobi::Value (const Standard_Integer Num) const{
36   StdFail_NotDone_Raise_if(!Done, " ");
37   return EigenValues(Num);
38 }
39     
40
41 inline const math_Matrix& math_Jacobi::Vectors() const{
42   StdFail_NotDone_Raise_if(!Done, " ");
43   return EigenVectors;
44 }
45
46
47 inline  void  math_Jacobi::Vector (const Standard_Integer Num, math_Vector& V) const{
48   StdFail_NotDone_Raise_if(!Done, " ");
49   V = EigenVectors.Col(Num);
50 }
51
52