OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

FoundationClasses
TKMath
gp


gp_Mat2d Class Reference

Describes a two column, two row matrix. This sort of
object is used in various vectorial or matrix computations.
.

#include <gp_Mat2d.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
 gp_Mat2d ()
 Creates a matrix with null coefficients.
.
Standard_EXPORT gp_Mat2d (const gp_XY &Col1, const gp_XY &Col2)
 Col1, Col2 are the 2 columns of the matrix.
.
Standard_EXPORT void SetCol (const Standard_Integer Col, const gp_XY &Value)
 Assigns the two coordinates of Value to the column of range
Col of this matrix
Raises OutOfRange if Col < 1 or Col > 2.
.
Standard_EXPORT void SetCols (const gp_XY &Col1, const gp_XY &Col2)
 Assigns the number pairs Col1, Col2 to the two columns of this matrix
.
void SetDiagonal (const Standard_Real X1, const Standard_Real X2)
 Modifies the main diagonal of the matrix.
<me>.Value (1, 1) = X1
<me>.Value (2, 2) = X2
The other coefficients of the matrix are not modified.
.
void SetIdentity ()
 Modifies this matrix, so that it represents the Identity matrix.
.
void SetRotation (const Standard_Real Ang)
 Modifies this matrix, so that it representso a rotation. Ang is the angular
value in radian of the rotation.
.
Standard_EXPORT void SetRow (const Standard_Integer Row, const gp_XY &Value)
 Assigns the two coordinates of Value to the row of index Row of this matrix.
Raises OutOfRange if Row < 1 or Row > 2.
.
Standard_EXPORT void SetRows (const gp_XY &Row1, const gp_XY &Row2)
 Assigns the number pairs Row1, Row2 to the two rows of this matrix.
.
void SetScale (const Standard_Real S)
 Modifies the matrix such that it
represents a scaling transformation, where S is the scale factor :
| S 0.0 |
<me> = | 0.0 S |
.
void SetValue (const Standard_Integer Row, const Standard_Integer Col, const Standard_Real Value)
 Assigns <value> to the coefficient of row Row, column Col of this matrix.
Raises OutOfRange if Row < 1 or Row > 2 or Col < 1 or Col > 2
.
Standard_EXPORT gp_XY Column (const Standard_Integer Col) const
 Returns the column of Col index.
Raises OutOfRange if Col < 1 or Col > 2
.
Standard_Real Determinant () const
 Computes the determinant of the matrix.
.
Standard_EXPORT gp_XY Diagonal () const
 Returns the main diagonal of the matrix.
.
Standard_EXPORT gp_XY Row (const Standard_Integer Row) const
 Returns the row of index Row.
//! Raised if Row < 1 or Row > 2
.
const Standard_RealValue (const Standard_Integer Row, const Standard_Integer Col) const
 Returns the coefficient of range (Row, Col)
Raises OutOfRange
if Row < 1 or Row > 2 or Col < 1 or Col > 2
.
const Standard_Realoperator() (const Standard_Integer Row, const Standard_Integer Col) const
Standard_RealChangeValue (const Standard_Integer Row, const Standard_Integer Col)
 Returns the coefficient of range (Row, Col)
Raises OutOfRange
if Row < 1 or Row > 2 or Col < 1 or Col > 2
.
Standard_Realoperator() (const Standard_Integer Row, const Standard_Integer Col)
Standard_Boolean IsSingular () const
 Returns true if this matrix is singular (and therefore, cannot be inverted).
The Gauss LU decomposition is used to invert the matrix
so the matrix is considered as singular if the largest
pivot found is lower or equal to Resolution from gp.
.
void Add (const gp_Mat2d &Other)
void operator+= (const gp_Mat2d &Other)
gp_Mat2d Added (const gp_Mat2d &Other) const
 Computes the sum of this matrix and the matrix
Other.for each coefficient of the matrix :
<me>.Coef(i,j) + <other>.Coef(i,j)
Note:
- operator += assigns the result to this matrix, while
- operator + creates a new one.
.
gp_Mat2d operator+ (const gp_Mat2d &Other) const
void Divide (const Standard_Real Scalar)
void operator/= (const Standard_Real Scalar)
gp_Mat2d Divided (const Standard_Real Scalar) const
 Divides all the coefficients of the matrix by a scalar.
.
gp_Mat2d operator/ (const Standard_Real Scalar) const
Standard_EXPORT void Invert ()
gp_Mat2d Inverted () const
 Inverses the matrix and raises exception if the matrix
is singular.
.
gp_Mat2d Multiplied (const gp_Mat2d &Other) const
gp_Mat2d operator * (const gp_Mat2d &Other) const
void Multiply (const gp_Mat2d &Other)
 Computes the product of two matrices <me> * <other>
.
void PreMultiply (const gp_Mat2d &Other)
 Modifies this matrix by premultiplying it by the matrix Other
<me> = Other * <me>.
.
gp_Mat2d Multiplied (const Standard_Real Scalar) const
gp_Mat2d operator * (const Standard_Real Scalar) const
void Multiply (const Standard_Real Scalar)
 Multiplies all the coefficients of the matrix by a scalar.
.
void operator *= (const Standard_Real Scalar)
Standard_EXPORT void Power (const Standard_Integer N)
gp_Mat2d Powered (const Standard_Integer N) const
 computes <me> = <me> * <me> * .......* <me>, N time.
if N = 0 <me> = Identity
if N < 0 <me> = <me>.Invert() *...........* <me>.Invert().
If N < 0 an exception can be raised if the matrix is not
inversible

void Subtract (const gp_Mat2d &Other)
void operator-= (const gp_Mat2d &Other)
gp_Mat2d Subtracted (const gp_Mat2d &Other) const
 Computes for each coefficient of the matrix :
<me>.Coef(i,j) - <other>.Coef(i,j)
.
gp_Mat2d operator- (const gp_Mat2d &Other) const
void Transpose ()
gp_Mat2d Transposed () const
 Transposes the matrix. A(j, i) -> A (i, j)
.
Standard_Real_CSFDB_Getgp_Mat2dmatrix (const Standard_Integer i1, const Standard_Integer i2)

Private Attributes

Standard_Real matrix [2][2]

Friends

Standard_EXPORT friend Handle_Standard_Type & gp_Mat2d_Type_ ()


Constructor & Destructor Documentation

gp_Mat2d::gp_Mat2d  )  [inline]
 

Standard_EXPORT gp_Mat2d::gp_Mat2d const gp_XY Col1,
const gp_XY Col2
 


Member Function Documentation

Standard_Real& gp_Mat2d::_CSFDB_Getgp_Mat2dmatrix const Standard_Integer  i1,
const Standard_Integer  i2
[inline]
 

void gp_Mat2d::Add const gp_Mat2d Other  )  [inline]
 

gp_Mat2d gp_Mat2d::Added const gp_Mat2d Other  )  const [inline]
 

Standard_Real & gp_Mat2d::ChangeValue const Standard_Integer  Row,
const Standard_Integer  Col
[inline]
 

Standard_EXPORT gp_XY gp_Mat2d::Column const Standard_Integer  Col  )  const
 

Standard_Real gp_Mat2d::Determinant  )  const [inline]
 

Standard_EXPORT gp_XY gp_Mat2d::Diagonal  )  const
 

void gp_Mat2d::Divide const Standard_Real  Scalar  )  [inline]
 

gp_Mat2d gp_Mat2d::Divided const Standard_Real  Scalar  )  const [inline]
 

Standard_EXPORT void gp_Mat2d::Invert  ) 
 

gp_Mat2d gp_Mat2d::Inverted  )  const [inline]
 

Standard_Boolean gp_Mat2d::IsSingular  )  const [inline]
 

gp_Mat2d gp_Mat2d::Multiplied const Standard_Real  Scalar  )  const [inline]
 

gp_Mat2d gp_Mat2d::Multiplied const gp_Mat2d Other  )  const [inline]
 

void gp_Mat2d::Multiply const Standard_Real  Scalar  )  [inline]
 

void gp_Mat2d::Multiply const gp_Mat2d Other  )  [inline]
 

gp_Mat2d gp_Mat2d::operator * const Standard_Real  Scalar  )  const [inline]
 

gp_Mat2d gp_Mat2d::operator * const gp_Mat2d Other  )  const [inline]
 

void gp_Mat2d::operator *= const Standard_Real  Scalar  )  [inline]
 

void gp_Mat2d::operator delete void *  anAddress  )  [inline]
 

void* gp_Mat2d::operator new size_t  size  )  [inline]
 

void* gp_Mat2d::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_Real& gp_Mat2d::operator() const Standard_Integer  Row,
const Standard_Integer  Col
[inline]
 

const Standard_Real& gp_Mat2d::operator() const Standard_Integer  Row,
const Standard_Integer  Col
const [inline]
 

gp_Mat2d gp_Mat2d::operator+ const gp_Mat2d Other  )  const [inline]
 

void gp_Mat2d::operator+= const gp_Mat2d Other  )  [inline]
 

gp_Mat2d gp_Mat2d::operator- const gp_Mat2d Other  )  const [inline]
 

void gp_Mat2d::operator-= const gp_Mat2d Other  )  [inline]
 

gp_Mat2d gp_Mat2d::operator/ const Standard_Real  Scalar  )  const [inline]
 

void gp_Mat2d::operator/= const Standard_Real  Scalar  )  [inline]
 

Standard_EXPORT void gp_Mat2d::Power const Standard_Integer  N  ) 
 

gp_Mat2d gp_Mat2d::Powered const Standard_Integer  N  )  const [inline]
 

void gp_Mat2d::PreMultiply const gp_Mat2d Other  )  [inline]
 

Standard_EXPORT gp_XY gp_Mat2d::Row const Standard_Integer  Row  )  const
 

Standard_EXPORT void gp_Mat2d::SetCol const Standard_Integer  Col,
const gp_XY Value
 

Standard_EXPORT void gp_Mat2d::SetCols const gp_XY Col1,
const gp_XY Col2
 

void gp_Mat2d::SetDiagonal const Standard_Real  X1,
const Standard_Real  X2
[inline]
 

void gp_Mat2d::SetIdentity  )  [inline]
 

void gp_Mat2d::SetRotation const Standard_Real  Ang  )  [inline]
 

Standard_EXPORT void gp_Mat2d::SetRow const Standard_Integer  Row,
const gp_XY Value
 

Standard_EXPORT void gp_Mat2d::SetRows const gp_XY Row1,
const gp_XY Row2
 

void gp_Mat2d::SetScale const Standard_Real  S  )  [inline]
 

void gp_Mat2d::SetValue const Standard_Integer  Row,
const Standard_Integer  Col,
const Standard_Real  Value
[inline]
 

void gp_Mat2d::Subtract const gp_Mat2d Other  )  [inline]
 

gp_Mat2d gp_Mat2d::Subtracted const gp_Mat2d Other  )  const [inline]
 

void gp_Mat2d::Transpose  )  [inline]
 

gp_Mat2d gp_Mat2d::Transposed  )  const [inline]
 

const Standard_Real & gp_Mat2d::Value const Standard_Integer  Row,
const Standard_Integer  Col
const [inline]
 


Friends And Related Function Documentation

Standard_EXPORT friend Handle_Standard_Type& gp_Mat2d_Type_  )  [friend]
 


Field Documentation

Standard_Real gp_Mat2d::matrix[2][2] [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:12:41 2008 for OpenCASCADE by  doxygen 1.4.1