Rumba C++ SDK
maquina::NodeDelegateManipulator Class Reference

#include <NodeDelegateManipulator.h>

Inheritance diagram for maquina::NodeDelegateManipulator:
maquina::NodeDelegateRumba maquina::NodeDelegate maquina::UserData

Public Member Functions

 NodeDelegateManipulator (const std::shared_ptr< maquina::Impl > &node)
 
bool has_transform () const override
 From maquina::NodeDelegateRumba. More...
 
Imath::M44d matrix (const QueryContext &qc) const override
 Return the node's local matrix which transforms a point from the local node space to the parent space. More...
 
Imath::M44d world_matrix (const QueryContext &qc) const override
 Return the node's world matrix which transforms a point from the local node space to the world space. More...
 
Imath::M44d parent_world_matrix (const QueryContext &qc) const override
 Return the node parent's world matrix which transforms a point from the parent space to the world space. More...
 
Imath::V3d rotate_pivot (const QueryContext &qc) const override
 
Imath::V3d scale_pivot (const QueryContext &qc) const override
 
Imath::V3d joint_orient (const QueryContext &qc) const override
 
int mutable_flags () const override
 Returns the mutable transformation component. More...
 
Imath::V3d scale (const QueryContext &qc) const override
 Return the scale of the node matrix. More...
 
void set_scale (const Imath::V3d &scale, const maquina::ModificationContext &mc=maquina::ModificationContext::layer) override
 Set the scale of the node matrix. More...
 
Imath::V3d rotation (const QueryContext &qc) const override
 Return the node matrix's rotation as euler radians angles in the order returned by rotation_order. More...
 
Imath::Eulerd::Order rotate_order (const QueryContext &qc) const override
 Return the node rotate order. More...
 
void set_rotation (const Imath::V3d &rotation, const maquina::ModificationContext &mc=maquina::ModificationContext::layer) override
 Set the transformation rotation. More...
 
void set_translation (const Imath::V3d &translation, const maquina::ModificationContext &mc=maquina::ModificationContext::layer) override
 Set the translation of the node matrix. More...
 
std::shared_ptr< Observercreate_transform_observer (const std::function< void()> &func, bool in_interactive=true) override
 
std::shared_ptr< NodeDelegatecontroller_delegate () const
 Returns the manipulator's default controller node delegate. More...
 
- Public Member Functions inherited from maquina::NodeDelegateRumba
 NodeDelegateRumba (const std::shared_ptr< Impl > &node)
 
StringView type_name () const override
 From maquina::UserData. More...
 
std::shared_ptr< maquina::NodeDelegateparent () override
 From maquina::NodeDelegate. More...
 
maquina::StringView name () const override
 The node's name. More...
 
std::string path () const override
 Returns the full path to the node. More...
 
Imath::Box3d bounding_box () const override
 Returns the bounding_box of the node. More...
 
bool operator== (const maquina::NodeDelegate &o) const override
 Return true if both nodes are the same or both nodes are invalid. More...
 
bool operator!= (const maquina::NodeDelegate &o) const override
 Return true if the nodes are different or if one is invalid. More...
 
int child_count () const override
 Returns the number of children in the node. More...
 
std::shared_ptr< ChildIteratorDelegate_children_begin () override
 Return the begin iterator of the attributes. More...
 
std::shared_ptr< ChildIteratorDelegate_children_end () override
 Return the end iterator of the attributes. More...
 
std::shared_ptr< maquina::NodeDelegatefind (const maquina::StringView &path) override
 Returns descendent node_delegate using a path starting at this node. More...
 
int attribute_count () const override
 Returns the number of attributes. More...
 
std::shared_ptr< maquina::NodeDelegate::AttributeDelegateattribute (const maquina::StringView &name) override
 Return a node attribute using its name. More...
 
std::shared_ptr< AttributeIteratorDelegate_attributes_begin () override
 Return the begin iterator of the attributes. More...
 
std::shared_ptr< AttributeIteratorDelegate_attributes_end () override
 Return the end iterator of the attributes. More...
 
bool is_node () const override
 Return true if this node delegate is a Rumba Node. More...
 
StringView ui_description () const override
 Return UI description for this node delegate, empty if not specified. More...
 
maquina::Node node () const override
 Return the node behind this node delegate. More...
 
void channels (std::unordered_set< Plug > &result) const override
 
bool is_camera () const
 Returns true if this node is a camera. More...
 
bool is_orthographic (const QueryContext &qc=QueryContext::at_current_frame) const override
 Does this camera has an orthographic projection. More...
 
float orthographic_width (const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the orthographic width, the length projected in the width of the camera image. More...
 
void set_orthographic_width (float width, const ModificationContext &mc) override
 Set the orthographic width. More...
 
float center_of_interest (const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the center of interest, the distance of the point the camera is looking at. More...
 
void set_center_of_interest (float coi, const ModificationContext &mc) override
 Set the center of interest. More...
 
float focal_length (const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the focal length, in mm. More...
 
void set_focal_length (float fl, const ModificationContext &mc) override
 Set the focal length, in mm. More...
 
float horizontal_aperture (const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the horizontal aperture, in cm. More...
 
void set_horizontal_aperture (float horizontal_aperture, const ModificationContext &mc) override
 Set the horizontal aperture, in cm. More...
 
float vertical_aperture (const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the vertical aperture, in cm. More...
 
void set_vertical_aperture (float vertical_aperture, const ModificationContext &mc) override
 Set the vertical aperture, in cm. More...
 
float near_clipping_plane (const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the near clipping plane. More...
 
void set_near_clipping_plane (float near_clipping_plane, const ModificationContext &mc) override
 Set the near clipping plane. More...
 
float far_clipping_plane (const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the far clipping plane. More...
 
void set_far_clipping_plane (float far_clipping_plane, const ModificationContext &mc) override
 Set the far clipping plane. More...
 
- Public Member Functions inherited from maquina::NodeDelegate
virtual std::shared_ptr< NodeDelegatechild (const StringView &name)
 Return a node child using its name. More...
 
Attributes attributes ()
 
virtual void start_transform (const QueryContext &qc=QueryContext::at_current_frame)
 Start a transform modification, time to backup an initial state. More...
 
virtual Imath::V3d translation (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the node's translation. More...
 
- Public Member Functions inherited from maquina::UserData
virtual ~UserData ()
 
virtual std::shared_ptr< NodeDelegatenode_delegate (const std::shared_ptr< NodeDelegate > &, const StringView &) const
 Override this method if the final type has a NodeDelegate. More...
 
virtual bool has_node_delegate () const
 

Additional Inherited Members

- Public Types inherited from maquina::NodeDelegate
enum  MutableFlags {
  ScaleX = 0x001, ScaleY = 0x002, ScaleZ = 0x004, Scale = ScaleX|ScaleY|ScaleZ,
  RotateX = 0x008, RotateY = 0x010, RotateZ = 0x020, Rotate = RotateX|RotateY|RotateZ,
  TranslateX = 0x040, TranslateY = 0x080, TranslateZ = 0x100, Translate = TranslateX|TranslateY|TranslateZ,
  AllComponents = Scale|Rotate|Translate
}
 
- Static Public Member Functions inherited from maquina::NodeDelegate
static Imath::V3d 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...
 

Constructor & Destructor Documentation

◆ NodeDelegateManipulator()

maquina::NodeDelegateManipulator::NodeDelegateManipulator ( const std::shared_ptr< maquina::Impl > &  node)

Member Function Documentation

◆ controller_delegate()

std::shared_ptr<NodeDelegate> maquina::NodeDelegateManipulator::controller_delegate ( ) const

Returns the manipulator's default controller node delegate.

◆ create_transform_observer()

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

Reimplemented from maquina::NodeDelegate.

◆ has_transform()

bool maquina::NodeDelegateManipulator::has_transform ( ) const
overridevirtual

◆ joint_orient()

Imath::V3d maquina::NodeDelegateManipulator::joint_orient ( const QueryContext qc) const
overridevirtual

Reimplemented from maquina::NodeDelegate.

◆ matrix()

Imath::M44d maquina::NodeDelegateManipulator::matrix ( const QueryContext qc) const
overridevirtual

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

Reimplemented from maquina::NodeDelegate.

◆ mutable_flags()

int maquina::NodeDelegateManipulator::mutable_flags ( ) const
overridevirtual

Returns the mutable transformation component.

If a flag is set, its component is mutable.

Reimplemented from maquina::NodeDelegate.

◆ parent_world_matrix()

Imath::M44d maquina::NodeDelegateManipulator::parent_world_matrix ( const QueryContext qc) const
overridevirtual

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

Reimplemented from maquina::NodeDelegate.

◆ rotate_order()

Imath::Eulerd::Order maquina::NodeDelegateManipulator::rotate_order ( const QueryContext qc) const
overridevirtual

Return the node rotate order.

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

Reimplemented from maquina::NodeDelegate.

◆ rotate_pivot()

Imath::V3d maquina::NodeDelegateManipulator::rotate_pivot ( const QueryContext qc) const
overridevirtual

Reimplemented from maquina::NodeDelegate.

◆ rotation()

Imath::V3d maquina::NodeDelegateManipulator::rotation ( const QueryContext qc) const
overridevirtual

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 from maquina::NodeDelegate.

◆ scale()

Imath::V3d maquina::NodeDelegateManipulator::scale ( const QueryContext qc) const
overridevirtual

Return the scale of the node matrix.

Reimplemented from maquina::NodeDelegate.

◆ scale_pivot()

Imath::V3d maquina::NodeDelegateManipulator::scale_pivot ( const QueryContext qc) const
overridevirtual

Reimplemented from maquina::NodeDelegate.

◆ set_rotation()

void maquina::NodeDelegateManipulator::set_rotation ( const Imath::V3d rotation,
const maquina::ModificationContext mc = maquina::ModificationContext::layer 
)
overridevirtual

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 from maquina::NodeDelegate.

◆ set_scale()

void maquina::NodeDelegateManipulator::set_scale ( const Imath::V3d scale,
const maquina::ModificationContext mc = maquina::ModificationContext::layer 
)
overridevirtual

Set the scale of the node matrix.

This scale value will replace the current one.

Reimplemented from maquina::NodeDelegate.

◆ set_translation()

void maquina::NodeDelegateManipulator::set_translation ( const Imath::V3d translation,
const maquina::ModificationContext mc = maquina::ModificationContext::layer 
)
overridevirtual

Set the translation of the node matrix.

This translation value will replace the current one.

Reimplemented from maquina::NodeDelegate.

◆ world_matrix()

Imath::M44d maquina::NodeDelegateManipulator::world_matrix ( const QueryContext qc) const
overridevirtual

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

Reimplemented from maquina::NodeDelegate.


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