Defines a non-persistent transformation in 3D space. This transformation is a general transformation. It can be a gp_Trsf, an affinity, or you can define your own transformation giving the matrix of transformation.  
 More...
|  | 
|  | gp_GTrsf () | 
|  | Returns the Identity transformation.  More... 
 | 
|  | 
|  | gp_GTrsf (const gp_Trsf &theT) | 
|  | Converts the gp_Trsf transformation theT into a general transformation, i.e. Returns a GTrsf with the same matrix of coefficients as the Trsf theT.  More... 
 | 
|  | 
|  | gp_GTrsf (const gp_Mat &theM, const gp_XYZ &theV) | 
|  | Creates a transformation based on the matrix theM and the vector theV where theM defines the vectorial part of the transformation, and V the translation part, or.  More... 
 | 
|  | 
| void | SetAffinity (const gp_Ax1 &theA1, const Standard_Real theRatio) | 
|  | Changes this transformation into an affinity of ratio theRatio with respect to the axis theA1. 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 theA1 or the plane A2, the vectors HP and HP' satisfy: HP' = theRatio * HP.  More... 
 | 
|  | 
| void | SetAffinity (const gp_Ax2 &theA2, const Standard_Real theRatio) | 
|  | Changes this transformation into an affinity of ratio theRatio with respect to the plane defined by the origin, the "X Direction" and the "Y Direction" of coordinate system theA2. 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 A1 or the plane theA2, the vectors HP and HP' satisfy: HP' = theRatio * HP.  More... 
 | 
|  | 
| void | SetValue (const Standard_Integer theRow, const Standard_Integer theCol, const Standard_Real theValue) | 
|  | Replaces the coefficient (theRow, theCol) of the matrix representing this transformation by theValue. Raises OutOfRange if theRow < 1 or theRow > 3 or theCol < 1 or theCol > 4.  More... 
 | 
|  | 
| void | SetVectorialPart (const gp_Mat &theMatrix) | 
|  | Replaces the vectorial part of this transformation by theMatrix.  More... 
 | 
|  | 
| void | SetTranslationPart (const gp_XYZ &theCoord) | 
|  | Replaces the translation part of this transformation by the coordinates of the number triple theCoord.  More... 
 | 
|  | 
| void | SetTrsf (const gp_Trsf &theT) | 
|  | Assigns the vectorial and translation parts of theT to this transformation.  More... 
 | 
|  | 
| Standard_Boolean | IsNegative () const | 
|  | Returns true if the determinant of the vectorial part of this transformation is negative.  More... 
 | 
|  | 
| 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.  More... 
 | 
|  | 
| 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, an axis or a plane), a scaling transformation, a compound transformation or some other type of transformation.  More... 
 | 
|  | 
| void | SetForm () | 
|  | verify and set the shape of the GTrsf Other or CompoundTrsf Ex :  More... 
 | 
|  | 
| const gp_XYZ & | TranslationPart () const | 
|  | Returns the translation part of the GTrsf.  More... 
 | 
|  | 
| const gp_Mat & | VectorialPart () const | 
|  | Computes the vectorial part of the GTrsf. The returned Matrix is a 3*3 matrix.  More... 
 | 
|  | 
| Standard_Real | Value (const Standard_Integer theRow, const Standard_Integer theCol) const | 
|  | Returns the coefficients of the global matrix of transformation. Raises OutOfRange if theRow < 1 or theRow > 3 or theCol < 1 or theCol > 4.  More... 
 | 
|  | 
| Standard_Real | operator() (const Standard_Integer theRow, const Standard_Integer theCol) const | 
|  | 
| void | Invert () | 
|  | 
| gp_GTrsf | Inverted () const | 
|  | Computes the reverse transformation. Raises an exception if the matrix of the transformation is not inversible.  More... 
 | 
|  | 
| gp_GTrsf | Multiplied (const gp_GTrsf &theT) const | 
|  | Computes the transformation composed from theT and <me>. In a C++ implementation you can also write Tcomposed = <me> * theT. Example :  More... 
 | 
|  | 
| gp_GTrsf | operator* (const gp_GTrsf &theT) const | 
|  | 
| void | Multiply (const gp_GTrsf &theT) | 
|  | Computes the transformation composed with <me> and theT. <me> = <me> * theT.  More... 
 | 
|  | 
| void | operator*= (const gp_GTrsf &theT) | 
|  | 
| void | PreMultiply (const gp_GTrsf &theT) | 
|  | Computes the product of the transformation theT and this transformation and assigns the result to this transformation. this = theT * this.  More... 
 | 
|  | 
| void | Power (const Standard_Integer theN) | 
|  | 
| gp_GTrsf | Powered (const Standard_Integer theN) const | 
|  | Computes:  More... 
 | 
|  | 
| void | Transforms (gp_XYZ &theCoord) const | 
|  | 
| void | Transforms (Standard_Real &theX, Standard_Real &theY, Standard_Real &theZ) const | 
|  | Transforms a triplet XYZ with a GTrsf.  More... 
 | 
|  | 
| gp_Trsf | Trsf () const | 
|  | 
| template<class T > | 
| void | GetMat4 (NCollection_Mat4< T > &theMat) const | 
|  | Convert transformation to 4x4 matrix.  More... 
 | 
|  | 
| template<class T > | 
| void | SetMat4 (const NCollection_Mat4< T > &theMat) | 
|  | Convert transformation from 4x4 matrix.  More... 
 | 
|  | 
| void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const | 
|  | Dumps the content of me into the stream.  More... 
 | 
|  | 
Defines a non-persistent transformation in 3D space. This transformation is a general transformation. It can be a gp_Trsf, an affinity, or you can define your own transformation giving the matrix of transformation. 
With a gp_GTrsf you can transform only a triplet of coordinates gp_XYZ. It is not possible to transform other geometric objects because these transformations can change the nature of non-elementary geometric objects. The transformation gp_GTrsf can be represented as follow: 
   V1   V2   V3    T       XYZ        XYZ
| a11  a12  a13   a14 |   | 
x |      | 
x'|| a21  a22  a23   a24 |   | y |      | y'|
| a31  a32  a33   a34 |   | 
z |   =  | 
z'||  0    0    0     1  |   | 1 |      | 1 |
 where {V1, V2, V3} define the vectorial part of the transformation and T defines the translation part of the transformation. Warning A gp_GTrsf transformation is only applicable to coordinates. Be careful if you apply such a transformation to all points of a geometric object, as this can change the nature of the object and thus render it incoherent! Typically, a circle is transformed into an ellipse by an affinity transformation. To avoid modifying the nature of an object, use a gp_Trsf transformation instead, as objects of this class respect the nature of geometric objects.