Defines a non-persistent transformation in 3D space. This transformation is a general transformation. It can be a Trsf from gp, 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 &T) | 
|   | Converts the gp_Trsf transformation T into a general transformation, i.e. Returns a GTrsf with the same matrix of coefficients as the Trsf T.  More...
  | 
|   | 
|   | gp_GTrsf (const gp_Mat &M, const gp_XYZ &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, or.  More...
  | 
|   | 
| void  | SetAffinity (const gp_Ax1 &A1, const Standard_Real Ratio) | 
|   | Changes this transformation into an affinity of ratio Ratio with respect to the axis A1. 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 A2, the vectors HP and HP' satisfy: HP' = Ratio * HP.  More...
  | 
|   | 
| void  | SetAffinity (const gp_Ax2 &A2, const Standard_Real Ratio) | 
|   | Changes this transformation into an affinity of ratio Ratio with respect to the plane defined by the origin, the "X Direction" and the "Y Direction" of coordinate system A2. 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 A2, the vectors HP and HP' satisfy: HP' = Ratio * HP.  More...
  | 
|   | 
| 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 > 3 or Col < 1 or Col > 4.  More...
  | 
|   | 
| void  | SetVectorialPart (const gp_Mat &Matrix) | 
|   | Replaces the vectorial part of this transformation by Matrix.  More...
  | 
|   | 
| void  | SetTranslationPart (const gp_XYZ &Coord) | 
|   | Replaces the translation part of this transformation by the coordinates of the number triple Coord.  More...
  | 
|   | 
| void  | SetTrsf (const gp_Trsf &T) | 
|   | Assigns the vectorial and translation parts of T 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 : myGTrsf.SetValue(row1,col1,val1); myGTrsf.SetValue(row2,col2,val2); ... myGTrsf.SetForm();  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 Row, const Standard_Integer Col) const | 
|   | Returns the coefficients of the global matrix of transformation. Raises OutOfRange if Row < 1 or Row > 3 or Col < 1 or Col > 4.  More...
  | 
|   | 
| Standard_Real  | operator() (const Standard_Integer Row, const Standard_Integer Col) 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 &T) const | 
|   | Computes the transformation composed from T and <me>. In a C++ implementation you can also write Tcomposed = <me> * T. Example : GTrsf T1, T2, Tcomp; ............... //composition : Tcomp = T2.Multiplied(T1); // or (Tcomp = T2 * T1) // transformation of a point XYZ P(10.,3.,4.); XYZ P1(P); Tcomp.Transforms(P1); //using Tcomp XYZ P2(P); T1.Transforms(P2); //using T1 then T2 T2.Transforms(P2); // P1 = P2 !!!  More...
  | 
|   | 
| gp_GTrsf  | operator* (const gp_GTrsf &T) const | 
|   | 
| void  | Multiply (const gp_GTrsf &T) | 
|   | Computes the transformation composed with <me> and T. <me> = <me> * T.  More...
  | 
|   | 
| void  | operator*= (const gp_GTrsf &T) | 
|   | 
| void  | PreMultiply (const gp_GTrsf &T) | 
|   | Computes the product of the transformation T and this transformation and assigns the result to this transformation. this = T * this.  More...
  | 
|   | 
| void  | Power (const Standard_Integer N) | 
|   | 
| gp_GTrsf  | Powered (const Standard_Integer N) const | 
|   | Computes:  More...
  | 
|   | 
| void  | Transforms (gp_XYZ &Coord) const | 
|   | 
| void  | Transforms (Standard_Real &X, Standard_Real &Y, Standard_Real &Z) 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...
  | 
|   | 
| 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 Trsf from gp, an affinity, or you can define your own transformation giving the matrix of transformation. 
With a Gtrsf you can transform only a triplet of coordinates XYZ. It is not possible to transform other geometric objects because these transformations can change the nature of non- elementary geometric objects. The transformation 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 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.