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, const math_Matrix& mat)
0020 {
0021 mat.Dump(o);
0022 return o;
0023 }
0024
0025 inline math_Matrix operator*(const Standard_Real Left, const math_Matrix& Right)
0026 {
0027 return Right.Multiplied(Left);
0028 }
0029
0030 inline Standard_Real& math_Matrix::Value(const Standard_Integer Row,
0031 const Standard_Integer Col) const
0032 {
0033 Standard_RangeError_Raise_if(((Row < LowerRowIndex) || (Row > UpperRowIndex)
0034 || (Col < LowerColIndex) || (Col > UpperColIndex)),
0035 " ");
0036
0037 return Array(Row, Col);
0038 }
0039
0040 inline Standard_Integer math_Matrix::RowNumber() const
0041 {
0042 return UpperRowIndex - LowerRowIndex + 1;
0043 }
0044
0045 // returns the row range of a matrix.
0046
0047 inline Standard_Integer math_Matrix::ColNumber() const
0048 {
0049 return UpperColIndex - LowerColIndex + 1;
0050 }
0051
0052 // returns the column range of a matrix.
0053
0054 inline Standard_Integer math_Matrix::LowerRow() const
0055 {
0056 return LowerRowIndex;
0057 }
0058
0059 // returns the value of the Lower index of the row range of a matrix.
0060
0061 inline Standard_Integer math_Matrix::UpperRow() const
0062 {
0063 return UpperRowIndex;
0064 }
0065
0066 // returns the value of the Upper index of the row range of a matrix.
0067
0068 inline Standard_Integer math_Matrix::LowerCol() const
0069 {
0070 return LowerColIndex;
0071 }
0072
0073 // returns the value of the Lower index of the column range of a matrix.
0074
0075 inline Standard_Integer math_Matrix::UpperCol() const
0076 {
0077 return UpperColIndex;
0078 }
0079
0080 // returns the value of the Upper index of the column range of a matrix.
0081
0082 inline void math_Matrix::SetLower(const Standard_Integer LowerRow, const Standard_Integer LowerCol)
0083 {
0084 SetLowerRow(LowerRow);
0085 SetLowerCol(LowerCol);
0086 }