#include <gp_GTrsf.hxx>
Public Member Functions | |
void * | operator new (size_t, void *anAddress) |
void * | operator new (size_t size) |
void | operator delete (void *anAddress) |
gp_GTrsf () | |
Returns the Identity transformation. . | |
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. . | |
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 . | |
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. . | |
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. . | |
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 . | |
void | SetVectorialPart (const gp_Mat &Matrix) |
Replaces the vectorial part of this transformation by Matrix. . | |
Standard_EXPORT void | SetTranslationPart (const gp_XYZ &Coord) |
Replaces the translation part of this transformation by the coordinates of the number triple Coord. . | |
void | SetTrsf (const gp_Trsf &T) |
Assigns the vectorial and translation parts of T to this transformation. . | |
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. . | |
Standard_EXPORT 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. . | |
Standard_EXPORT 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(); | |
const gp_XYZ & | TranslationPart () const |
Returns the translation part of the GTrsf. . | |
const gp_Mat & | VectorialPart () const |
Computes the vectorial part of the GTrsf. The returned Matrix is a 3*3 matrix. . | |
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 . | |
Standard_Real | operator() (const Standard_Integer Row, const Standard_Integer Col) const |
Standard_EXPORT void | Invert () |
gp_GTrsf | Inverted () const |
Computes the reverse transformation. Raises an exception if the matrix of the transformation is not inversible. . | |
Standard_EXPORT void | Multiply (const gp_GTrsf &T) |
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 !!! C++: alias operator *= . | |
gp_GTrsf | Multiplied (const gp_GTrsf &T) const |
Computes the transformation composed with <me> and T. <me> = T * <me> . | |
Standard_EXPORT 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 . | |
Standard_EXPORT void | Power (const Standard_Integer N) |
gp_GTrsf | Powered (const Standard_Integer N) const |
Computes: - the product of this transformation multiplied by itself N times, if N is positive, or - the product of the inverse of this transformation multiplied by itself |N| times, if N is negative. If N equals zero, the result is equal to the Identity transformation. I.e.: <me> * <me> * .......* <me>, N time. if N =0 <me> = Identity if N < 0 <me> = <me>.Inverse() *...........* <me>.Inverse(). . | |
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. . | |
gp_Trsf | Trsf () const |
const gp_Mat & | _CSFDB_Getgp_GTrsfmatrix () const |
const gp_XYZ & | _CSFDB_Getgp_GTrsfloc () const |
gp_TrsfForm | _CSFDB_Getgp_GTrsfshape () const |
void | _CSFDB_Setgp_GTrsfshape (const gp_TrsfForm p) |
Standard_Real | _CSFDB_Getgp_GTrsfscale () const |
void | _CSFDB_Setgp_GTrsfscale (const Standard_Real p) |
Private Attributes | |
gp_Mat | matrix |
gp_XYZ | loc |
gp_TrsfForm | shape |
Standard_Real | scale |
Friends | |
Standard_EXPORT friend Handle_Standard_Type & | gp_GTrsf_Type_ () |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|