![Logo](tetiere_ht.jpg) |
DATAKIT API
V2025.1
|
|
Go to the documentation of this file. 1 #ifndef __DTK_TRANSFO_HPP__
2 #define __DTK_TRANSFO_HPP__
269 #endif //#ifndef __DTK_TRANSFO_HPP__
Dtk_pnt o
Definition: dtk_transfo.hpp:23
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
void setOrigin(Dtk_Double64 x, Dtk_Double64 y, Dtk_Double64 z)
Set a new O center point by giving its components.
friend Dtk_pnt operator*(const Dtk_transfo &M, const Dtk_pnt &P)
Allow to multiply a Dtk_transfo by a point.
#define DTK_TOLERANCE
Definition: str_def.h:7
void setAxisRotation(Dtk_dir axis, Dtk_Double64 angle)
turn the basis represented by Dtk_transfo around a given vector with origin on (0....
const Dtk_pnt & getOrigin() const
Return the O center point of the Dtk_transfo (the center O of the basis)
void setOrigin(const Dtk_pnt &O)
Set a new O center point.
static Dtk_SmartPtr< Dtk_transfo > create()
void setZdir(const Dtk_dir &Z)
Set a new Z vector.
const double & getOcomponent(Dtk_Int32 n) const
Return the n component of the O center point.
friend Dtk_transfo Dtk_transfoPtr_to_Dtk_transfo(Dtk_SmartPtr< Dtk_transfo > &t)
void addRotate_axeZ(Dtk_Double64 angle)
2D operation, not yet generalized but soon
const double & getZcomponent(Dtk_Int32 n) const
Return the n component of the Z vector.
int operator==(const Dtk_transfo &in) const
Compare 2 Dtk_transfo matrix.
char Dtk_bool
Definition: define.h:725
double scale() const
Obsolete : use getScale instead.
double Dtk_Double64
Definition: define.h:699
void setXdir(const Dtk_dir &X)
Set a new X vector.
friend std::ostream & operator<<(std::ostream &o, const Dtk_transfo &d)
const Dtk_dir & getZdir() const
Return the Z vector.
Dtk_matrix * GetDtkMatrix()
Dtk_matrix conversion.
void _copy(const Dtk_transfo &s)
int32_t Dtk_Int32
Definition: define.h:687
Dtk_transfo(const Dtk_dir &X, const Dtk_dir &Y, const Dtk_dir &Z, const Dtk_pnt &O, const Dtk_Double64 &scale=1.0)
Full featured constructor.
void Normalize()
Definition: dtk_transfo.hpp:252
friend Dtk_transfo operator-(const Dtk_transfo &t1, const Dtk_transfo &t2)
Allow to substracte 2 Dtk_transfo (matrix difference)
Dtk_dir v[3]
Definition: dtk_transfo.hpp:22
int is_identity() const
Is transformation Identity.
~Dtk_transfo()
Destructor.
Definition: dtk_matrix.hpp:8
Dtk_bool IsDirect() const
Is direct.
const Dtk_dir & getXdir() const
Return the X vector.
void setZdir(Dtk_Double64 x, Dtk_Double64 y, Dtk_Double64 z)
Set a new Z vector by giving its components.
void setScale(Dtk_Double64 scale)
Set a new scale.
Definition: util_ptr_dtk.hpp:37
friend Dtk_transfo operator*(const Dtk_transfo &M, const Dtk_Double64 d)
Multiply a matrix by a scalar number.
const double & getScale() const
Retrieves the scale factor.
friend Dtk_dir operator*(const Dtk_transfo &M, const Dtk_dir &P)
Allow to multiply a Dtk_transfo by a vector.
void setYdir(const Dtk_dir &Y)
Set a new Y vector.
This is a mathematical point class.
Definition: dtk_pnt.hpp:22
const double & getYcomponent(Dtk_Int32 n) const
Return the n component of the Y vector.
Dtk_transfo(const Dtk_matrix &m)
copy constructor
const double & getXcomponent(Dtk_Int32 n) const
Return the n component of the X vector.
friend Dtk_transfo operator+(const Dtk_transfo &t1, const Dtk_transfo &t2)
Allow to add 2 Dtk_transfo (matrix addition)
Dtk_transfo()
default constructor
static Dtk_transfo * DtkDynamicCast(Dtk_Object *s)
void setYdir(Dtk_Double64 x, Dtk_Double64 y, Dtk_Double64 z)
Set a new Y vector by giving its components.
double sc
Definition: dtk_transfo.hpp:24
int inverse()
Inverse the current Matrix.
void addTranslate(const Dtk_dir &V)
Translate the Dtk_transfo.
void addScale(Dtk_Double64)
Add a scale.
const Dtk_dir & getYdir() const
Return the Y vector.
static Dtk_SmartPtr< Dtk_transfo > create(const Dtk_transfo &)
Definition: dtk_object.hpp:8
void setXdir(Dtk_Double64 x, Dtk_Double64 y, Dtk_Double64 z)
Set a new X vector by giving its components.
friend Dtk_transfo operator/(Dtk_transfo &M, Dtk_Double64 d)
Divide a matrix by a scalar number.
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Dtk_transfo(Dtk_Double64 *d, Dtk_Int32 typefill=0)
create a tansfo from a double*
Dtk_bool IsNormalized(const Dtk_Double64 &inTol=DTK_TOLERANCE) const
Is normalized.
friend Dtk_transfo operator*(const Dtk_transfo &, const Dtk_transfo &)
Allow to multiply 2 Dtk_transfo (matrix multiplication)
This is a mathematical direction class.
Definition: dtk_dir.hpp:15