Rumba C++ SDK
Transformation

Enumerations

enum  maquina::NodeDelegate::MutableFlags {
  maquina::NodeDelegate::ScaleX = 0x001, maquina::NodeDelegate::ScaleY = 0x002, maquina::NodeDelegate::ScaleZ = 0x004, maquina::NodeDelegate::Scale = ScaleX|ScaleY|ScaleZ,
  maquina::NodeDelegate::RotateX = 0x008, maquina::NodeDelegate::RotateY = 0x010, maquina::NodeDelegate::RotateZ = 0x020, maquina::NodeDelegate::Rotate = RotateX|RotateY|RotateZ,
  maquina::NodeDelegate::TranslateX = 0x040, maquina::NodeDelegate::TranslateY = 0x080, maquina::NodeDelegate::TranslateZ = 0x100, maquina::NodeDelegate::Translate = TranslateX|TranslateY|TranslateZ,
  maquina::NodeDelegate::AllComponents = Scale|Rotate|Translate
}
 

Functions

virtual bool maquina::NodeDelegate::has_transform () const
 Return true if this node is has a transformation matrix. More...
 
virtual Imath::M44d maquina::NodeDelegate::matrix (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the node's local matrix which transforms a point from the local node space to the parent space. More...
 
virtual Imath::M44d maquina::NodeDelegate::world_matrix (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the node's world matrix which transforms a point from the local node space to the world space. More...
 
virtual Imath::M44d maquina::NodeDelegate::parent_world_matrix (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the node parent's world matrix which transforms a point from the parent space to the world space. More...
 
virtual Imath::V3d maquina::NodeDelegate::rotate_pivot (const QueryContext &qc=QueryContext::at_current_frame) const
 
virtual Imath::V3d maquina::NodeDelegate::scale_pivot (const QueryContext &qc=QueryContext::at_current_frame) const
 
virtual Imath::V3d maquina::NodeDelegate::joint_orient (const QueryContext &qc=QueryContext::at_current_frame) const
 
virtual int maquina::NodeDelegate::mutable_flags () const
 Returns the mutable transformation component. More...
 
virtual void maquina::NodeDelegate::start_transform (const QueryContext &qc=QueryContext::at_current_frame)
 Start a transform modification, time to backup an initial state. More...
 
virtual Imath::V3d maquina::NodeDelegate::scale (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the scale of the node matrix. More...
 
virtual void maquina::NodeDelegate::set_scale (const Imath::V3d &scale, const ModificationContext &mc=ModificationContext::layer)
 Set the scale of the node matrix. More...
 
virtual Imath::V3d maquina::NodeDelegate::rotation (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the node matrix's rotation as euler radians angles in the order returned by rotation_order. More...
 
virtual Imath::Eulerd::Order maquina::NodeDelegate::rotate_order (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the node rotate order. More...
 
virtual void maquina::NodeDelegate::set_rotation (const Imath::V3d &rotation, const ModificationContext &mc=ModificationContext::layer)
 Set the transformation rotation. More...
 
virtual Imath::V3d maquina::NodeDelegate::translation (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the node's translation. More...
 
virtual void maquina::NodeDelegate::set_translation (const Imath::V3d &translation, const ModificationContext &mc=ModificationContext::layer)
 Set the translation of the node matrix. More...
 
static Imath::V3d maquina::NodeDelegate::extract_translation (const Imath::M44d &matrix, const Imath::V3d &scale_pivot, const Imath::V3d &rotate_pivot)
 An helper function to extract the translation component out of a local matrix and pivots. More...
 
virtual std::shared_ptr< Observermaquina::NodeDelegate::create_transform_observer (const std::function< void()> &func, bool in_interactive=true)
 

Detailed Description

Enumeration Type Documentation

◆ MutableFlags

Enumerator
ScaleX 
ScaleY 

The x scale component is mutable.

ScaleZ 

The y scale component is mutable.

Scale 

The z scale component is mutable.

RotateX 

The scale is mutable.

RotateY 

The x rotation component is mutable.

RotateZ 

The y rotation component is mutable.

Rotate 

The z rotation component is mutable.

TranslateX 

The rotation is mutable.

TranslateY 

The x translation component is mutable.

TranslateZ 

The y translation component is mutable.

Translate 

The z translation component is mutable.

AllComponents 

The translation is mutable.

Function Documentation

◆ create_transform_observer()

virtual std::shared_ptr<Observer> maquina::NodeDelegate::create_transform_observer ( const std::function< void()> &  func,
bool  in_interactive = true 
)
virtual

◆ extract_translation()

static Imath::V3d maquina::NodeDelegate::extract_translation ( const Imath::M44d matrix,
const Imath::V3d scale_pivot,
const Imath::V3d rotate_pivot 
)
static

An helper function to extract the translation component out of a local matrix and pivots.

◆ has_transform()

virtual bool maquina::NodeDelegate::has_transform ( ) const
virtual

Return true if this node is has a transformation matrix.

If has_transform returns true, the node has a matrix, a parent_world_matrix and a world_matrix.

Reimplemented in maquina::NodeDelegateManipulator.

◆ joint_orient()

virtual Imath::V3d maquina::NodeDelegate::joint_orient ( const QueryContext qc = QueryContext::at_current_frame) const
virtual

◆ matrix()

virtual Imath::M44d maquina::NodeDelegate::matrix ( const QueryContext qc = QueryContext::at_current_frame) const
virtual

Return the node's local matrix which transforms a point from the local node space to the parent space.

Reimplemented in maquina::NodeDelegateManipulator.

◆ mutable_flags()

virtual int maquina::NodeDelegate::mutable_flags ( ) const
virtual

Returns the mutable transformation component.

If a flag is set, its component is mutable.

Reimplemented in maquina::NodeDelegateManipulator.

◆ parent_world_matrix()

virtual Imath::M44d maquina::NodeDelegate::parent_world_matrix ( const QueryContext qc = QueryContext::at_current_frame) const
virtual

Return the node parent's world matrix which transforms a point from the parent space to the world space.

Reimplemented in maquina::NodeDelegateManipulator.

◆ rotate_order()

virtual Imath::Eulerd::Order maquina::NodeDelegate::rotate_order ( const QueryContext qc = QueryContext::at_current_frame) const
virtual

Return the node rotate order.

The default implementation returns Imath::Eulerd::Order::XYZ.

Reimplemented in maquina::NodeDelegateManipulator.

◆ rotate_pivot()

virtual Imath::V3d maquina::NodeDelegate::rotate_pivot ( const QueryContext qc = QueryContext::at_current_frame) const
virtual

◆ rotation()

virtual Imath::V3d maquina::NodeDelegate::rotation ( const QueryContext qc = QueryContext::at_current_frame) const
virtual

Return the node matrix's rotation as euler radians angles in the order returned by rotation_order.

This value does not include the joint orient term

Reimplemented in maquina::NodeDelegateManipulator.

◆ scale()

virtual Imath::V3d maquina::NodeDelegate::scale ( const QueryContext qc = QueryContext::at_current_frame) const
virtual

Return the scale of the node matrix.

Reimplemented in maquina::NodeDelegateManipulator.

◆ scale_pivot()

virtual Imath::V3d maquina::NodeDelegate::scale_pivot ( const QueryContext qc = QueryContext::at_current_frame) const
virtual

◆ set_rotation()

virtual void maquina::NodeDelegate::set_rotation ( const Imath::V3d rotation,
const ModificationContext mc = ModificationContext::layer 
)
virtual

Set the transformation rotation.

This rotation value will replace the current one. The euler angles are in radians in the rotate order returned by rotate_order().

Reimplemented in maquina::NodeDelegateManipulator.

◆ set_scale()

virtual void maquina::NodeDelegate::set_scale ( const Imath::V3d scale,
const ModificationContext mc = ModificationContext::layer 
)
virtual

Set the scale of the node matrix.

This scale value will replace the current one.

Reimplemented in maquina::NodeDelegateManipulator.

◆ set_translation()

virtual void maquina::NodeDelegate::set_translation ( const Imath::V3d translation,
const ModificationContext mc = ModificationContext::layer 
)
virtual

Set the translation of the node matrix.

This translation value will replace the current one.

Reimplemented in maquina::NodeDelegateManipulator.

◆ start_transform()

virtual void maquina::NodeDelegate::start_transform ( const QueryContext qc = QueryContext::at_current_frame)
virtual

Start a transform modification, time to backup an initial state.

◆ translation()

virtual Imath::V3d maquina::NodeDelegate::translation ( const QueryContext qc = QueryContext::at_current_frame) const
virtual

Return the node's translation.

This value does not include the different pivots term

◆ world_matrix()

virtual Imath::M44d maquina::NodeDelegate::world_matrix ( const QueryContext qc = QueryContext::at_current_frame) const
virtual

Return the node's world matrix which transforms a point from the local node space to the world space.

Reimplemented in maquina::NodeDelegateManipulator.