Rumba C++ SDK
maquina::NodeDelegateManipulator Class Reference

#include <NodeDelegateManipulator.h>

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

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
 
Imath::V3d rotate_axis (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::default_mc(), TransformUserData *user_data=nullptr) 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::default_mc(), TransformUserData *user_data=nullptr) override
 Set the transformation rotation. More...
 
void set_translation (const Imath::V3d &translation, const maquina::ModificationContext &mc=maquina::ModificationContext::default_mc(), TransformUserData *user_data=nullptr) 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
 Create an observer notified when the NodeDelegate transform attributes have changed. More...
 
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 () const 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...
 
std::shared_ptr< class AttributeDescriptordescription () const override
 Returns the node's description, always returns a valid pointer. More...
 
maquina::Node node () const override
 Return the node behind this node delegate. More...
 
void channel_plugs (std::unordered_set< Plug > &result) const override
 
bool is_camera () const override
 Returns true if this node is a camera. More...
 
bool is_locked () const override
 Return true if the camera can't be moved. More...
 
void set_locked (bool locked, const ModificationContext &mc) override
 Set the locked attribute. 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 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...
 
Imath::M44d projection_matrix (const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the camera's projection matrix. More...
 
float aspect_ratio () const override
 Return the camera's aspect ratio, width over height. This aspect ratio is used to shape the viewport's frame. More...
 
std::shared_ptr< NodeDelegateaim () const override
 Return the aim target node if available. More...
 
std::shared_ptr< NodeDelegateup () const override
 Return the up target node if available. More...
 
std::shared_ptr< Observercreate_camera_observer (const std::function< void()> &func, bool in_interactive=true) override
 Create an observer notified when the NodeDelegate camera attributes have changed. More...
 
- Public Member Functions inherited from maquina::NodeDelegate
virtual ~NodeDelegate ()
 
virtual std::string document_path () const
 Returns the document path to the node. More...
 
virtual std::shared_ptr< NodeDelegatechild (const StringView &name)
 Return a node child using its name. More...
 
Children children ()
 
virtual bool add_attribute (const StringView &name, const Value &value)
 Add a node attribute with the given name and value. More...
 
virtual std::shared_ptr< Channelchannel (const ChannelType sc)
 Return the specified channel if available, return nullptr otherwise. More...
 
virtual std::vector< Channelchannels ()
 Return all the node's channels. More...
 
virtual void animate ()
 Called when the node delegate is assigned to an animation system layer. More...
 
Attributes attributes ()
 
virtual std::unique_ptr< TransformUserDatastart_transform (const QueryContext &qc=QueryContext::at_current_frame)
 Start a transform modification, time to backup an initial state. More...
 
virtual void end_transform (const ModificationContext &mc=ModificationContext::default_mc(), TransformUserData *user_data=nullptr)
 End a transform modification, time to backup an initial state. More...
 
virtual void set_matrix (const Imath::M44d &matrix, const ModificationContext &mc=ModificationContext::default_mc(), TransformUserData *user_data=nullptr)
 Set the node matrix. More...
 
virtual Imath::V3d translation (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the node's translation. More...
 
Imath::V3d extract_translation (const Imath::M44d &local_matrix, const QueryContext &mc=QueryContext::at_current_frame) const
 A helper function to extract the node delegate translation component out of a local matrix, regarding the different pivots. More...
 
Imath::V3d extract_rotation (Imath::M44d local_matrix, const QueryContext &mc=QueryContext::at_current_frame) const
 A helper function to extract the node delegate rotation component out of a local matrix, regarding the joint_orient and rotate_axis. More...
 
virtual bool has_geometry () const
 Return true if this node has a geometry. More...
 
virtual Shape geometry () const
 Returns the node's geometry. More...
 
virtual bool is_sculpt () const
 This node is a sculpt node, i-e, displaces the vertices of the input scene's geometries using sparse buffers of delta position. More...
 
virtual BufferConstV3f input_points (const StringView &path, const QueryContext &qc=QueryContext::at_current_frame) const
 Return the points of the input scene node at the given path. More...
 
virtual SparseBufferConstV3f delta_points (const StringView &path, const QueryContext &qc=QueryContext::at_current_frame) const
 Return the delta points fot the scene node at the given path. More...
 
virtual void set_delta_points (const SparseBufferConstV3f &delta_points, const StringView &path, const ModificationContext &mc=ModificationContext::default_mc()) const
 Set the delta points fot the scene node at the given path. More...
 
virtual std::shared_ptr< maquina::NodeDelegate::Observercreate_sculpt_observer (const std::function< void()> &func, bool in_interactive)
 Create an observer notified when the NodeDelegate sculpt attributes have changed. More...
 

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
}
 

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

Create an observer notified when the NodeDelegate transform attributes have changed.

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_axis()

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

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::default_mc(),
TransformUserData user_data = nullptr 
)
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(). user_data is the blind data returned by start_transform.

Reimplemented from maquina::NodeDelegate.

◆ set_scale()

void maquina::NodeDelegateManipulator::set_scale ( const Imath::V3d scale,
const maquina::ModificationContext mc = maquina::ModificationContext::default_mc(),
TransformUserData user_data = nullptr 
)
overridevirtual

Set the scale of the node matrix.

This scale value will replace the current one. user_data is the blind data returned by start_transform.

Reimplemented from maquina::NodeDelegate.

◆ set_translation()

void maquina::NodeDelegateManipulator::set_translation ( const Imath::V3d translation,
const maquina::ModificationContext mc = maquina::ModificationContext::default_mc(),
TransformUserData user_data = nullptr 
)
overridevirtual

Set the translation of the node matrix.

This translation value will replace the current one. user_data is the blind data returned by start_transform.

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: