Open CASCADE Technology 6.6.0
Public Member Functions
Geom_Transformation Class Reference

Describes how to construct the following elementary transformations
More...

#include <Geom_Transformation.hxx>

Inheritance diagram for Geom_Transformation:
Inheritance graph
[legend]

Public Member Functions

 Geom_Transformation ()
 Creates an identity transformation.

 Geom_Transformation (const gp_Trsf &T)
 Creates a transient copy of T.

void SetMirror (const gp_Pnt &P)
 Makes the transformation into a symmetrical transformation
with respect to a point P.
P is the center of the symmetry.

void SetMirror (const gp_Ax1 &A1)
 Makes the transformation into a symmetrical transformation
with respect to an axis A1.
A1 is the center of the axial symmetry.

void SetMirror (const gp_Ax2 &A2)
 Makes the transformation into a symmetrical transformation
with respect to a plane. The plane of the symmetry is
defined with the axis placement A2. It is the plane
(Location, XDirection, YDirection).

void SetRotation (const gp_Ax1 &A1, const Standard_Real Ang)
 Makes the transformation into a rotation.
A1 is the axis rotation and Ang is the angular value
of the rotation in radians.

void SetScale (const gp_Pnt &P, const Standard_Real S)
 Makes the transformation into a scale. P is the center of
the scale and S is the scaling value.

void SetTransformation (const gp_Ax3 &FromSystem1, const gp_Ax3 &ToSystem2)
 Makes a transformation allowing passage from the coordinate
system "FromSystem1" to the coordinate system "ToSystem2".
Example :
In a C++ implementation :
Real x1, y1, z1; // are the coordinates of a point in the
// local system FromSystem1
Real x2, y2, z2; // are the coordinates of a point in the
// local system ToSystem2
gp_Pnt P1 (x1, y1, z1)
Geom_Transformation T;
T.SetTransformation (FromSystem1, ToSystem2);
gp_Pnt P2 = P1.Transformed (T);
P2.Coord (x2, y2, z2);

void SetTransformation (const gp_Ax3 &ToSystem)
 Makes the transformation allowing passage from the basic
coordinate system
{P(0.,0.,0.), VX (1.,0.,0.), VY (0.,1.,0.), VZ (0., 0. ,1.) }
to the local coordinate system defined with the Ax2 ToSystem.
Same utilisation as the previous method. FromSystem1 is
defaulted to the absolute coordinate system.

void SetTranslation (const gp_Vec &V)
 Makes the transformation into a translation.
V is the vector of the translation.

void SetTranslation (const gp_Pnt &P1, const gp_Pnt &P2)
 Makes the transformation into a translation from the point
P1 to the point P2.

void SetTrsf (const gp_Trsf &T)
 Converts the gp_Trsf transformation T into this transformation.

Standard_Boolean IsNegative () const
 Checks whether this transformation is an indirect
transformation: returns true if the determinant of the
matrix of the vectorial part of the transformation is less than 0.

gp_TrsfForm Form () const
 Returns the nature of this transformation as a value
of the gp_TrsfForm enumeration.

Standard_Real ScaleFactor () const
 Returns the scale value of the transformation.

const gp_TrsfTrsf () const
 Returns a non transient copy of <me>.

Standard_Real Value (const Standard_Integer Row, const Standard_Integer Col) const
 Returns the coefficients of the global matrix of tranformation.
It is a 3 rows X 4 columns matrix.
Raised if Row < 1 or Row > 3 or Col < 1 or Col > 4
Computes the reverse transformation.

void Invert ()
 Raised if the the transformation is singular. This means that
the ScaleFactor is lower or equal to Resolution from
package gp.

Handle_Geom_Transformation Inverted () const
 Raised if the the transformation is singular. This means that
the ScaleFactor is lower or equal to Resolution from
package gp.

Handle_Geom_Transformation Multiplied (const Handle< Geom_Transformation > &Other) const
 Computes the transformation composed with Other and <me>.
<me> * Other.
Returns a new transformation

void Multiply (const Handle< Geom_Transformation > &Other)
 Computes the transformation composed with Other and <me> .
<me> = <me> * Other.

void Power (const Standard_Integer N)
 Computes the following composition of transformations
if N > 0 <me> * <me> * .......* <me>.
if N = 0 Identity
if N < 0 <me>.Invert() * .........* <me>.Invert()
Raised if N < 0 and if the transformation is not inversible

Handle_Geom_Transformation Powered (const Standard_Integer N) const
 Raised if N < 0 and if the transformation is not inversible

void PreMultiply (const Handle< Geom_Transformation > &Other)
 Computes the matrix of the transformation composed with
<me> and Other. <me> = Other * <me>

void Transforms (Standard_Real &X, Standard_Real &Y, Standard_Real &Z) const
 Applies the transformation <me> to the triplet {X, Y, Z}.

Handle_Geom_Transformation Copy () const
 Creates a new object which is a copy of this transformation.


Detailed Description


Constructor & Destructor Documentation

Geom_Transformation::Geom_Transformation ( )
Geom_Transformation::Geom_Transformation ( const gp_Trsf T)

Member Function Documentation

Handle_Geom_Transformation Geom_Transformation::Copy ( ) const
gp_TrsfForm Geom_Transformation::Form ( ) const
void Geom_Transformation::Invert ( )
Handle_Geom_Transformation Geom_Transformation::Inverted ( ) const
Standard_Boolean Geom_Transformation::IsNegative ( ) const
Handle_Geom_Transformation Geom_Transformation::Multiplied ( const Handle< Geom_Transformation > &  Other) const
void Geom_Transformation::Multiply ( const Handle< Geom_Transformation > &  Other)
void Geom_Transformation::Power ( const Standard_Integer  N)
Handle_Geom_Transformation Geom_Transformation::Powered ( const Standard_Integer  N) const
void Geom_Transformation::PreMultiply ( const Handle< Geom_Transformation > &  Other)
Standard_Real Geom_Transformation::ScaleFactor ( ) const
void Geom_Transformation::SetMirror ( const gp_Pnt P)
void Geom_Transformation::SetMirror ( const gp_Ax1 A1)
void Geom_Transformation::SetMirror ( const gp_Ax2 A2)
void Geom_Transformation::SetRotation ( const gp_Ax1 A1,
const Standard_Real  Ang 
)
void Geom_Transformation::SetScale ( const gp_Pnt P,
const Standard_Real  S 
)
void Geom_Transformation::SetTransformation ( const gp_Ax3 FromSystem1,
const gp_Ax3 ToSystem2 
)
void Geom_Transformation::SetTransformation ( const gp_Ax3 ToSystem)
void Geom_Transformation::SetTranslation ( const gp_Vec V)
void Geom_Transformation::SetTranslation ( const gp_Pnt P1,
const gp_Pnt P2 
)
void Geom_Transformation::SetTrsf ( const gp_Trsf T)
void Geom_Transformation::Transforms ( Standard_Real X,
Standard_Real Y,
Standard_Real Z 
) const
const gp_Trsf& Geom_Transformation::Trsf ( ) const
Standard_Real Geom_Transformation::Value ( const Standard_Integer  Row,
const Standard_Integer  Col 
) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines