Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/opencascade/math_Matrix.lxx is written in an unsupported language. File is not indexed.

0001 // Copyright (c) 1997-1999 Matra Datavision
0002 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0003 //
0004 // This file is part of Open CASCADE Technology software library.
0005 //
0006 // This library is free software; you can redistribute it and/or modify it under
0007 // the terms of the GNU Lesser General Public License version 2.1 as published
0008 // by the Free Software Foundation, with special exception defined in the file
0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0010 // distribution for complete text of the license and disclaimer of any warranty.
0011 //
0012 // Alternatively, this file may be used under the terms of Open CASCADE
0013 // commercial license or contractual agreement.
0014 
0015 // lpa le 29/10/91
0016 
0017 #include <Standard_DimensionError.hxx>
0018 
0019 inline Standard_OStream& operator<<(Standard_OStream& o,
0020                                     const math_Matrix& mat)
0021 {
0022   mat.Dump(o);
0023   return o;
0024 }
0025 
0026 inline math_Matrix operator* (const Standard_Real Left,
0027                               const math_Matrix& Right) 
0028 {
0029   return Right.Multiplied(Left);
0030 }
0031 
0032 
0033 
0034 inline Standard_Real& math_Matrix::Value(const Standard_Integer Row, 
0035                                          const Standard_Integer Col)const
0036 {
0037   Standard_RangeError_Raise_if(((Row < LowerRowIndex) || 
0038                                 (Row > UpperRowIndex) ||
0039                                 (Col < LowerColIndex) || 
0040                                 (Col > UpperColIndex)), " ");
0041 
0042   return Array(Row, Col);
0043 }
0044 
0045 inline Standard_Integer math_Matrix::RowNumber() const 
0046          { return UpperRowIndex - LowerRowIndex + 1; }
0047 
0048      // returns the row range of a matrix.
0049 
0050 inline Standard_Integer math_Matrix::ColNumber() const 
0051          { return UpperColIndex - LowerColIndex + 1; }
0052  
0053      // returns the column range of a matrix.
0054 
0055 
0056 
0057 
0058 inline Standard_Integer math_Matrix::LowerRow() const { return LowerRowIndex; }
0059 
0060      // returns the value of the Lower index of the row range of a matrix.
0061 
0062 inline Standard_Integer math_Matrix::UpperRow () const { return UpperRowIndex;  }
0063 
0064      // returns the value of the Upper index of the row range of a matrix.
0065 
0066 inline Standard_Integer math_Matrix::LowerCol() const { return LowerColIndex; }
0067 
0068      // returns the value of the Lower index of the column range of a matrix.
0069 
0070 inline Standard_Integer math_Matrix::UpperCol()  const { return UpperColIndex;  }
0071 
0072      // returns the value of the Upper index of the column range of a matrix.
0073 
0074 inline void math_Matrix::SetLower (const Standard_Integer LowerRow,
0075                                    const Standard_Integer LowerCol) 
0076 {
0077   SetLowerRow(LowerRow);
0078   SetLowerCol(LowerCol);
0079 }