iaux::iaTransform< T > Class Template Reference

#include <iaTransform.h>

Public Member Functions

bool operator== (const iaTransform< T > &other) const
 
bool operator!= (const iaTransform< T > &other) const
 
iaTransform< T > operator* (const iaTransform< T > &other)
 
iaTransform< T > inverse () const
 
iaVector3< T > applyTo (const iaVector3< T > &vec) const
 
void operator*= (const iaTransform< T > &other)
 
bool hasTranslation () const
 
bool hasRotation () const
 
bool hasScale () const
 
void set (const iaVector3< T > &position, const iaQuaternion< T > orientation, const iaVector3< T > &scale)
 
const iaMatrix< T > getMatrix () const
 
void identity ()
 
 iaTransform ()
 
 iaTransform (const iaVector3< T > &position, const iaQuaternion< T > orientation=iaVector3< T >(0.0, 0.0, 0.0), const iaVector3< T > &scale=iaVector3< T >(1.0, 1.0, 1.0))
 
 ~iaTransform ()=default
 

Public Attributes

iaVector3< T > _position
 
iaQuaternion< T > _orientation
 
iaVector3< T > _scale
 

Detailed Description

template<class T>
class iaux::iaTransform< T >

Transform based on the components position, orientation, scale

Constructor & Destructor Documentation

◆ iaTransform() [1/2]

template<class T >
iaTransform::iaTransform ( )

initializes the transform effectively with the id matrix

◆ iaTransform() [2/2]

template<class T >
iaTransform::iaTransform ( const iaVector3< T > &  position,
const iaQuaternion< T >  orientation = iaVector3<T>(0.0, 0.0, 0.0),
const iaVector3< T > &  scale = iaVector3<T>(1.0, 1.0, 1.0) 
)

initializes the transform with given components

Parameters
positiontranslation component
orientationthe orientation component
scalethe scale component

◆ ~iaTransform()

template<class T >
iaux::iaTransform< T >::~iaTransform ( )
default

does nothing

Member Function Documentation

◆ applyTo()

template<class T >
iaVector3< T > iaTransform::applyTo ( const iaVector3< T > &  vec) const

multiply transform with vector

Parameters
vecthe given vector
Returns
transformed vector

◆ getMatrix()

template<class T >
IGOR_INLINE const iaMatrix< T > iaTransform::getMatrix ( ) const
Returns
matrix the resulting matrix

◆ hasRotation()

template<class T >
IGOR_INLINE bool iaTransform::hasRotation ( ) const
Returns
true if transform has rotation different from 0,0,0

◆ hasScale()

template<class T >
IGOR_INLINE bool iaTransform::hasScale ( ) const
Returns
true if transform has scale different from 1,1,1

◆ hasTranslation()

template<class T >
IGOR_INLINE bool iaTransform::hasTranslation ( ) const
Returns
true if transform has translation different from 0,0,0

◆ identity()

template<class T >
void iaTransform::identity ( )

the equivalent of setting an identity matrix

◆ inverse()

template<class T >
iaTransform< T > iaTransform::inverse ( ) const

inverse transform

Returns
inverse of transform

◆ operator!=()

template<class T >
IGOR_INLINE bool iaTransform::operator!= ( const iaTransform< T > &  other) const

negated comparison of two transforms

Parameters
otherthe other transform to compare with
Returns
true if transforms are unequal

◆ operator*()

template<class T >
IGOR_INLINE iaTransform< T > iaTransform::operator* ( const iaTransform< T > &  other)

transform multiplication

equivalent of a matrix multiplication

Parameters
otherthe other transform to multiply with
Returns
product of multiplication

◆ operator*=()

template<class T >
IGOR_INLINE void iaTransform::operator*= ( const iaTransform< T > &  other)

transform multiplication stored in this transform

equivalent of a matrix multiplication

Parameters
otherthe other transform to multiply with

◆ operator==()

template<class T >
IGOR_INLINE bool iaTransform::operator== ( const iaTransform< T > &  other) const

comparison of two transforms

Parameters
otherthe other transform to compare with
Returns
true if transforms are equal

◆ set()

template<class T >
void iaTransform::set ( const iaVector3< T > &  position,
const iaQuaternion< T >  orientation,
const iaVector3< T > &  scale 
)

set the transform with given components

Parameters
positiontranslation component
orientationthe orientation component
scalethe scale component

Member Data Documentation

◆ _orientation

template<class T >
iaQuaternion<T> iaux::iaTransform< T >::_orientation

orientation component with euler angles

◆ _position

template<class T >
iaVector3<T> iaux::iaTransform< T >::_position

position component

◆ _scale

template<class T >
iaVector3<T> iaux::iaTransform< T >::_scale

scale component


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