Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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.
More...
 
 Geom_Transformation (const gp_Trsf &T)
 Creates a transient copy of T.
More...
 
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.
More...
 
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.
More...
 
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).
More...
 
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.
More...
 
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.
More...
 
void SetTransformation (const gp_Ax3 &FromSystem1, const gp_Ax3 &ToSystem2)
 
Makes a transformation allowing passage from the coordinate <br>

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);
More...

 
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.
More...
 
void SetTranslation (const gp_Vec &V)
 Makes the transformation into a translation.
V is the vector of the translation.
More...
 
void SetTranslation (const gp_Pnt &P1, const gp_Pnt &P2)
 Makes the transformation into a translation from the point
P1 to the point P2.
More...
 
void SetTrsf (const gp_Trsf &T)
 Converts the gp_Trsf transformation T into this transformation.
More...
 
Standard_Boolean IsNegative () const
 
 Checks whether this transformation is an indirect <br>

transformation: returns true if the determinant of the
matrix of the vectorial part of the transformation is less than 0.
More...

 
gp_TrsfForm Form () const
 
 Returns the nature of this transformation as a value <br>

of the gp_TrsfForm enumeration.
More...

 
Standard_Real ScaleFactor () const
 Returns the scale value of the transformation.
More...
 
const gp_TrsfTrsf () const
 Returns a non transient copy of <me>.
More...
 
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.
More...
 
void Invert ()
 Raised if the the transformation is singular. This means that
the ScaleFactor is lower or equal to Resolution from
package gp.
More...
 
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.
More...
 
Handle_Geom_Transformation Multiplied (const Handle< Geom_Transformation > &Other) const
 Computes the transformation composed with Other and <me>.
<me> * Other.
Returns a new transformation
More...
 
void Multiply (const Handle< Geom_Transformation > &Other)
 Computes the transformation composed with Other and <me> .
<me> = <me> * Other.
More...
 
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
More...
 
Handle_Geom_Transformation Powered (const Standard_Integer N) const
 Raised if N < 0 and if the transformation is not inversible
More...
 
void PreMultiply (const Handle< Geom_Transformation > &Other)
 Computes the matrix of the transformation composed with
<me> and Other. <me> = Other * <me>
More...
 
void Transforms (Standard_Real &X, Standard_Real &Y, Standard_Real &Z) const
 Applies the transformation <me> to the triplet {X, Y, Z}.
More...
 
Handle_Geom_Transformation Copy () const
 Creates a new object which is a copy of this transformation.
More...
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const Handle_Standard_Type &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Detailed Description

Describes how to construct the following elementary transformations

Constructor & Destructor Documentation

Geom_Transformation::Geom_Transformation ( )

Creates an identity transformation.

Geom_Transformation::Geom_Transformation ( const gp_Trsf T)

Creates a transient copy of T.

Member Function Documentation

Handle_Geom_Transformation Geom_Transformation::Copy ( ) const

Creates a new object which is a copy of this transformation.

gp_TrsfForm Geom_Transformation::Form ( ) const

 Returns the nature of this transformation as a value <br>

of the gp_TrsfForm enumeration.

void Geom_Transformation::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 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.

Standard_Boolean Geom_Transformation::IsNegative ( ) const

 Checks whether this transformation is an indirect <br>

transformation: returns true if the determinant of the
matrix of the vectorial part of the transformation is less than 0.

Handle_Geom_Transformation Geom_Transformation::Multiplied ( const Handle< Geom_Transformation > &  Other) const

Computes the transformation composed with Other and <me>.
<me> * Other.
Returns a new transformation

void Geom_Transformation::Multiply ( const Handle< Geom_Transformation > &  Other)

Computes the transformation composed with Other and <me> .
<me> = <me> * Other.

void Geom_Transformation::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 Geom_Transformation::Powered ( const Standard_Integer  N) const

Raised if N < 0 and if the transformation is not inversible

void Geom_Transformation::PreMultiply ( const Handle< Geom_Transformation > &  Other)

Computes the matrix of the transformation composed with
<me> and Other. <me> = Other * <me>

Standard_Real Geom_Transformation::ScaleFactor ( ) const

Returns the scale value of the transformation.

void Geom_Transformation::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 Geom_Transformation::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 Geom_Transformation::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 Geom_Transformation::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 Geom_Transformation::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 Geom_Transformation::SetTransformation ( const gp_Ax3 FromSystem1,
const gp_Ax3 ToSystem2 
)

Makes a transformation allowing passage from the coordinate <br>

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 Geom_Transformation::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 Geom_Transformation::SetTranslation ( const gp_Vec V)

Makes the transformation into a translation.
V is the vector of the translation.

void Geom_Transformation::SetTranslation ( const gp_Pnt P1,
const gp_Pnt P2 
)

Makes the transformation into a translation from the point
P1 to the point P2.

void Geom_Transformation::SetTrsf ( const gp_Trsf T)

Converts the gp_Trsf transformation T into this transformation.

void Geom_Transformation::Transforms ( Standard_Real X,
Standard_Real Y,
Standard_Real Z 
) const

Applies the transformation <me> to the triplet {X, Y, Z}.

const gp_Trsf& Geom_Transformation::Trsf ( ) const

Returns a non transient copy of <me>.

Standard_Real Geom_Transformation::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.


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