# 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_Real & | Value (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_Real & | operator() (const Standard_Integer Row, const Standard_Integer Col) const
Standard_Real & | ChangeValue (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_Real & | operator() (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:

- gp_Mat2d.hxx
- gp_Mat2d.lxx