# FoundationClasses
TKMath
gp

# gp_GTrsf2d Class Reference

Defines a non persistent transformation in 2D space.
This transformation is a general transformation.
It can be a Trsf2d from package gp, an affinity, or you can
define your own transformation giving the corresponding
matrix of transformation.
With a GTrsf2d you can transform only a doublet of coordinates
XY. It is not possible to transform other geometric objects
because these transformations can change the nature of non-
elementary geometric objects.
A GTrsf2d is represented with a 2 rows * 3 columns matrix :
V1 V2 T XY XY
| a11 a12 a14 | | x | | x'|
| a21 a22 a24 | | y | | y'|
| 0 0 1 | | 1 | | 1 |
.

`#include <gp_GTrsf2d.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
| gp_GTrsf2d ()
| returns identity transformation.
| gp_GTrsf2d (const gp_Trsf2d &T)
| Converts the gp_Trsf2d transformation T into a general transformation. .
| gp_GTrsf2d (const gp_Mat2d &M, const gp_XY &V)
| Creates a transformation based on the matrix M and the vector V where M defines the vectorial part of the transformation, and V the translation part. .
Standard_EXPORT void | SetAffinity (const gp_Ax2d &A, const Standard_Real Ratio)
| Changes this transformation into an affinity of ratio Ratio with respect to the axis A. Note: An affinity is a point-by-point transformation that transforms any point P into a point P' such that if H is the orthogonal projection of P on the axis A, the vectors HP and HP' satisfy: HP' = Ratio * HP. .
void | SetValue (const Standard_Integer Row, const Standard_Integer Col, const Standard_Real Value)
| Replaces the coefficient (Row, Col) of the matrix representing this transformation by Value, Raises OutOfRange if Row < 1 or Row > 2 or Col < 1 or Col > 3 .
Standard_EXPORT void | SetTranslationPart (const gp_XY &Coord)
| Replacesthe translation part of this transformation by the coordinates of the number pair Coord. .
void | SetTrsf2d (const gp_Trsf2d &T)
| Assigns the vectorial and translation parts of T to this transformation. .
void | SetVectorialPart (const gp_Mat2d &Matrix)
| Replaces the vectorial part of this transformation by Matrix. .
Standard_Boolean | IsNegative () const
| Returns true if the determinant of the vectorial part of this transformation is negative. .
Standard_Boolean | IsSingular () const
| Returns true if this transformation is singular (and therefore, cannot be inverted). Note: The Gauss LU decomposition is used to invert the transformation matrix. Consequently, the transformation is considered as singular if the largest pivot found is less than or equal to gp::Resolution(). Warning If this transformation is singular, it cannot be inverted. .
gp_TrsfForm | Form () const
| Returns the nature of the transformation. It can be an identity transformation, a rotation, a translation, a mirror transformation (relative to a point or axis), a scaling transformation, a compound transformation or some other type of transformation. .
const gp_XY & | TranslationPart () const
| Returns the translation part of the GTrsf2d. .
const gp_Mat2d & | VectorialPart () const
| Computes the vectorial part of the GTrsf2d. The returned Matrix is a 2*2 matrix. .
Standard_Real | Value (const Standard_Integer Row, const Standard_Integer Col) const
| Returns the coefficients of the global matrix of transformation. Raiseë OutOfRange if Row < 1 or Row > 2 or Col < 1 or Col > 3 .
Standard_Real | operator() (const Standard_Integer Row, const Standard_Integer Col) const
Standard_EXPORT void | Invert ()
gp_GTrsf2d | Inverted () const
| Computes the reverse transformation. Raised an exception if the matrix of the transformation is not inversible. .
Standard_EXPORT void | Multiply (const gp_GTrsf2d &T)
void | operator *= (const gp_GTrsf2d &T)
gp_GTrsf2d | Multiplied (const gp_GTrsf2d &T) const

Computes the transformation composed with T and <me>.
In a C++ implementation you can also write Tcomposed = <me> * T.
Example :
GTrsf2d T1, T2, Tcomp; ...............
//composition :
Tcomp = T2.Multiplied(T1); // or (Tcomp = T2 * T1)
// transformation of a point
XY P(10.,3.);
XY P1(P);
Tcomp.Transforms(P1); //using Tcomp
XY P2(P);
T1.Transforms(P2); //using T1 then T2
T2.Transforms(P2); // P1 = P2 !!!
.

gp_GTrsf2d | operator * (const gp_GTrsf2d &T) const
Standard_EXPORT void | PreMultiply (const gp_GTrsf2d &T)
| Computes the product of the transformation T and this transformation, and assigns the result to this transformation: this = T * this .
Standard_EXPORT void | Power (const Standard_Integer N)
gp_GTrsf2d | Powered (const Standard_Integer N) const
| Computes the following composition of transformations <me> * <me> * .......* <me>, N time. if N = 0 <me> = Identity if N < 0 <me> = <me>.Inverse() *...........* <me>.Inverse(). .
void | Transforms (gp_XY &Coord) const
gp_XY | Transformed (const gp_XY &Coord) const
void | Transforms (Standard_Real &X, Standard_Real &Y) const
| Applies this transformation to the coordinates: - of the number pair Coord, or - X and Y. Note: - Transforms modifies X, Y, or the coordinate pair Coord, while - Transformed creates a new coordinate pair. .
Standard_EXPORT gp_Trsf2d | Trsf2d () const
| Converts this transformation into a gp_Trsf2d transformation. Exceptions Standard_ConstructionError if this transformation cannot be converted, i.e. if its form is gp_Other. .
const gp_Mat2d & | _CSFDB_Getgp_GTrsf2dmatrix () const
const gp_XY & | _CSFDB_Getgp_GTrsf2dloc () const
gp_TrsfForm | _CSFDB_Getgp_GTrsf2dshape () const
void | _CSFDB_Setgp_GTrsf2dshape (const gp_TrsfForm p)
Standard_Real | _CSFDB_Getgp_GTrsf2dscale () const
void | _CSFDB_Setgp_GTrsf2dscale (const Standard_Real p)

## Private Attributes

gp_Mat2d | matrix
gp_XY | loc
gp_TrsfForm | shape
Standard_Real | scale

## Friends

Standard_EXPORT friend Handle_Standard_Type & | gp_GTrsf2d_Type_ ()

## Constructor & Destructor Documentation

gp_GTrsf2d::gp_GTrsf2d | ( |  | ) | `[inline]`

gp_GTrsf2d::gp_GTrsf2d | ( | const gp_Trsf2d & | T | ) | `[inline]`

gp_GTrsf2d::gp_GTrsf2d | ( | const gp_Mat2d & | M,
|  | const gp_XY & | V
| ) | `[inline]`

## Member Function Documentation

const gp_XY& gp_GTrsf2d::_CSFDB_Getgp_GTrsf2dloc | ( |  | ) | const`[inline]`

const gp_Mat2d& gp_GTrsf2d::_CSFDB_Getgp_GTrsf2dmatrix | ( |  | ) | const`[inline]`

Standard_Real gp_GTrsf2d::_CSFDB_Getgp_GTrsf2dscale | ( |  | ) | const`[inline]`

gp_TrsfForm gp_GTrsf2d::_CSFDB_Getgp_GTrsf2dshape | ( |  | ) | const`[inline]`

void gp_GTrsf2d::_CSFDB_Setgp_GTrsf2dscale | ( | const Standard_Real | p | ) | `[inline]`

void gp_GTrsf2d::_CSFDB_Setgp_GTrsf2dshape | ( | const gp_TrsfForm | p | ) | `[inline]`

gp_TrsfForm gp_GTrsf2d::Form | ( |  | ) | const`[inline]`

Standard_EXPORT void gp_GTrsf2d::Invert | ( |  | ) |

gp_GTrsf2d gp_GTrsf2d::Inverted | ( |  | ) | const`[inline]`

Standard_Boolean gp_GTrsf2d::IsNegative | ( |  | ) | const`[inline]`

Standard_Boolean gp_GTrsf2d::IsSingular | ( |  | ) | const`[inline]`

gp_GTrsf2d gp_GTrsf2d::Multiplied | ( | const gp_GTrsf2d & | T | ) | const`[inline]`

Standard_EXPORT void gp_GTrsf2d::Multiply | ( | const gp_GTrsf2d & | T | ) |

gp_GTrsf2d gp_GTrsf2d::operator * | ( | const gp_GTrsf2d & | T | ) | const`[inline]`

void gp_GTrsf2d::operator *= | ( | const gp_GTrsf2d & | T | ) | `[inline]`

void gp_GTrsf2d::operator delete | ( | void * | anAddress | ) | `[inline]`

void* gp_GTrsf2d::operator new | ( | size_t | size | ) | `[inline]`

void* gp_GTrsf2d::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

Standard_Real gp_GTrsf2d::operator() | ( | const Standard_Integer | Row,
|  | const Standard_Integer | Col
| ) | const`[inline]`

Standard_EXPORT void gp_GTrsf2d::Power | ( | const Standard_Integer | N | ) |

gp_GTrsf2d gp_GTrsf2d::Powered | ( | const Standard_Integer | N | ) | const`[inline]`

Standard_EXPORT void gp_GTrsf2d::PreMultiply | ( | const gp_GTrsf2d & | T | ) |

Standard_EXPORT void gp_GTrsf2d::SetAffinity | ( | const gp_Ax2d & | A,
|  | const Standard_Real | Ratio
| ) |

Standard_EXPORT void gp_GTrsf2d::SetTranslationPart | ( | const gp_XY & | Coord | ) |

void gp_GTrsf2d::SetTrsf2d | ( | const gp_Trsf2d & | T | ) | `[inline]`

void gp_GTrsf2d::SetValue | ( | const Standard_Integer | Row,
|  | const Standard_Integer | Col,
|  | const Standard_Real | Value
| ) | `[inline]`

void gp_GTrsf2d::SetVectorialPart | ( | const gp_Mat2d & | Matrix | ) | `[inline]`

gp_XY gp_GTrsf2d::Transformed | ( | const gp_XY & | Coord | ) | const`[inline]`

void gp_GTrsf2d::Transforms | ( | Standard_Real & | X,
|  | Standard_Real & | Y
| ) | const`[inline]`

void gp_GTrsf2d::Transforms | ( | gp_XY & | Coord | ) | const`[inline]`

const gp_XY & gp_GTrsf2d::TranslationPart | ( |  | ) | const`[inline]`

Standard_EXPORT gp_Trsf2d gp_GTrsf2d::Trsf2d | ( |  | ) | const

Standard_Real gp_GTrsf2d::Value | ( | const Standard_Integer | Row,
|  | const Standard_Integer | Col
| ) | const`[inline]`

const gp_Mat2d & gp_GTrsf2d::VectorialPart | ( |  | ) | const`[inline]`

## Friends And Related Function Documentation

Standard_EXPORT friend Handle_Standard_Type& gp_GTrsf2d_Type_ | ( |  | ) | `[friend]`

## Field Documentation

gp_XY gp_GTrsf2d::loc `[private]`

gp_Mat2d gp_GTrsf2d::matrix `[private]`

Standard_Real gp_GTrsf2d::scale `[private]`

gp_TrsfForm gp_GTrsf2d::shape `[private]`

The documentation for this class was generated from the following files:

- gp_GTrsf2d.hxx
- gp_GTrsf2d.lxx