igor::iNodeTransform Class Reference

#include <iNodeTransform.h>

Inherits igor::iNode.

Public Member Functions

virtual void setMatrix (const iaMatrixd &matrix)
 
virtual void getMatrix (iaMatrixd &matrix)
 
virtual void translate (const iaVector3d &vector)
 
virtual void translate (float64 x, float64 y, float64 z)
 
virtual void setPosition (const iaVector3d &vector)
 
virtual void setPosition (float64 x, float64 y, float64 z)
 
virtual void scale (const iaVector3d &vector)
 
virtual void scale (float64 x, float64 y, float64 z)
 
virtual void rotate (float64 angle, iaAxis axis)
 
virtual void rotate (float64 angleX, float64 angleY, float64 angleZ)
 
virtual void identity ()
 
std::vector< iaStringgetInfo (bool brief=false) const override
 
- Public Member Functions inherited from igor::iNode
iNodeKind getKind () const
 
iNodeType getType () const
 
iNodeID getID () const
 
const iaStringgetName () const
 
virtual std::vector< iaStringgetInfo (bool brief=false) const
 
void setName (const iaString &name)
 
void insertNode (iNodePtr node)
 
void insertNodeAsync (iNodePtr node)
 
void setActive (bool active=true)
 
void setActiveAsync (bool active=true)
 
void removeNode (iNodePtr node)
 
void removeNodeAsync (iNodePtr node)
 
bool isChild ()
 
bool isChild (iNodePtr child)
 
bool hasChildren ()
 
const std::vector< iNodePtr > & getChildren () const
 
void getAllChildren (std::vector< iNodePtr > &children) const
 
iNodePtr getChild (const iaString &name)
 
iNodePtr getChild (iNodeID id)
 
const std::vector< iNodePtr > & getInactiveChildren () const
 
iNodePtr getParent ()
 
iScenePtr getScene ()
 
bool isTransformationDirty ()
 
void setTransformationDirty (bool dirty=true)
 
void calcWorldTransformation (iaMatrixd &matrix)
 
bool isActive () const
 
iTransformationChangeEvent & getTransformationChangeEvent ()
 

Friends

class iNodeManager
 
class iNodeVisitorUpdateTransform
 

Additional Inherited Members

- Static Public Member Functions inherited from igor::iNode
static iaString getKindName (iNodeKind kind)
 
static iaString getTypeName (iNodeType nodeType)
 
- Static Public Attributes inherited from igor::iNode
static const iNodeID INVALID_NODE_ID = IGOR_INVALID_ID
 
- Protected Member Functions inherited from igor::iNode
void setTransformationDirtyDown ()
 
void setTransformationDirtyUp ()
 
void setDataDirty ()
 
bool isDataDirty ()
 
void setParent (iNodePtr parent)
 
void setScene (iScenePtr scene)
 
virtual void onUpdateTransform (iaMatrixd &matrix)
 
virtual void onPreSetScene ()
 
virtual void onPostSetScene ()
 
virtual bool onUpdateData ()
 
virtual void onPostCopyLink (std::map< iNodeID, iNodeID > &nodeIDMap)
 
 iNode ()
 
 iNode (iNodePtr node)
 
virtual ~iNode ()
 
- Protected Attributes inherited from igor::iNode
bool _active = true
 
iNodeType _nodeType = iNodeType::iNode
 
iNodeKind _nodeKind = iNodeKind::Node
 
iaString _name = L"iNode"
 
bool _transformationDirty = true
 
iScenePtr _scene = nullptr
 
iNodePtr _parent = nullptr
 
std::vector< iNodePtr_children
 
std::vector< iNodePtr_inactiveChildren
 
iTransformationChangeEvent _transformationChangeEvent
 

Detailed Description

the transform node

Member Function Documentation

◆ getInfo()

std::vector< iaString > igor::iNodeTransform::getInfo ( bool  brief = false) const
overridevirtual

returns multiple lines of information about this node

each entry in vector is one line of information

Returns
strings with the nodes information
Parameters
briefif true only one brief line of information will be returned

Reimplemented from igor::iNode.

◆ getMatrix()

void igor::iNodeTransform::getMatrix ( iaMatrixd matrix)
virtual

returns the transformation matrix

Parameters
[out]matrixthe returned transformation matrix

◆ identity()

void igor::iNodeTransform::identity ( )
virtual

resets the transformation matrix to an identity matrix

◆ rotate() [1/2]

void igor::iNodeTransform::rotate ( float64  angle,
iaAxis  axis 
)
virtual

applies rotation to matrix

Parameters
angleangle to rotate in radians
axisthe axis to rotate around

◆ rotate() [2/2]

void igor::iNodeTransform::rotate ( float64  angleX,
float64  angleY,
float64  angleZ 
)
virtual

applies 3 rotations to matrix in order X,Y,Z

Parameters
angleXangle to rotate arround X axis
angleYangle to rotate arround Y axis
angleZangle to rotate arround Z axis

◆ scale() [1/2]

void igor::iNodeTransform::scale ( const iaVector3d vector)
virtual

high level function to scale the transformation matrix

Parameters
vectorvector to scale the transformation matrix

◆ scale() [2/2]

void igor::iNodeTransform::scale ( float64  x,
float64  y,
float64  z 
)
virtual

high level function to scale the transformation matrix

Parameters
xx component of scale vector
yy component of scale vector
zz component of scale vector

◆ setMatrix()

void igor::iNodeTransform::setMatrix ( const iaMatrixd matrix)
virtual

set transformation matrix

Parameters
matrixthe transformation matrix

◆ setPosition() [1/2]

void igor::iNodeTransform::setPosition ( const iaVector3d vector)
virtual

high level function to set the position of the transformation matrix

Parameters
vectorposition to set

◆ setPosition() [2/2]

void igor::iNodeTransform::setPosition ( float64  x,
float64  y,
float64  z 
)
virtual

high level function to set the position of the transformation matrix

Parameters
xx component of position
yy component of position
zz component of position

◆ translate() [1/2]

void igor::iNodeTransform::translate ( const iaVector3d vector)
virtual

high level function to translate the transformation matrix

Parameters
vectorvector to translate the transformation matrix

◆ translate() [2/2]

void igor::iNodeTransform::translate ( float64  x,
float64  y,
float64  z 
)
virtual

high level function to translate the transformation matrix

Parameters
xx component of translation vector
yy component of translation vector
zz component of translation vector

Friends And Related Function Documentation

◆ iNodeManager

friend class iNodeManager
friend

◆ iNodeVisitorUpdateTransform

friend class iNodeVisitorUpdateTransform
friend

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