Rumba C++ SDK
maquina::NodeDelegateRumba Class Reference

#include <NodeDelegateRumba.h>

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

Public Member Functions

 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 bool has_transform () const
 Return true if this node is has a transformation matrix. More...
 
virtual Imath::M44d 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 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 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 rotate_pivot (const QueryContext &qc=QueryContext::at_current_frame) const
 
virtual Imath::V3d scale_pivot (const QueryContext &qc=QueryContext::at_current_frame) const
 
virtual Imath::V3d joint_orient (const QueryContext &qc=QueryContext::at_current_frame) const
 
virtual Imath::V3d rotate_axis (const QueryContext &qc=QueryContext::at_current_frame) const
 
virtual int mutable_flags () const
 Returns the mutable transformation component. More...
 
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 scale (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the scale of the node matrix. More...
 
virtual void set_scale (const Imath::V3d &scale, const ModificationContext &mc=ModificationContext::default_mc(), TransformUserData *user_data=nullptr)
 Set the scale of the node matrix. More...
 
virtual Imath::V3d 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 rotate_order (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the node rotate order. More...
 
virtual void set_rotation (const Imath::V3d &rotation, const ModificationContext &mc=ModificationContext::default_mc(), TransformUserData *user_data=nullptr)
 Set the transformation rotation. More...
 
virtual Imath::V3d translation (const QueryContext &qc=QueryContext::at_current_frame) const
 Return the node's translation. More...
 
virtual void set_translation (const Imath::V3d &translation, const ModificationContext &mc=ModificationContext::default_mc(), TransformUserData *user_data=nullptr)
 Set the translation of the node matrix. 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 std::shared_ptr< Observercreate_transform_observer (const std::function< void()> &func, bool in_interactive=true)
 Create an observer notified when the NodeDelegate transform attributes have changed. 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

◆ NodeDelegateRumba()

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

Member Function Documentation

◆ _attributes_begin()

std::shared_ptr<AttributeIteratorDelegate> maquina::NodeDelegateRumba::_attributes_begin ( )
overridevirtual

Return the begin iterator of the attributes.

Reimplemented from maquina::NodeDelegate.

Reimplemented in maquina::VirtualAttributeNodeDelegate.

◆ _attributes_end()

std::shared_ptr<AttributeIteratorDelegate> maquina::NodeDelegateRumba::_attributes_end ( )
overridevirtual

Return the end iterator of the attributes.

Reimplemented from maquina::NodeDelegate.

Reimplemented in maquina::VirtualAttributeNodeDelegate.

◆ _children_begin()

std::shared_ptr<ChildIteratorDelegate> maquina::NodeDelegateRumba::_children_begin ( )
overridevirtual

Return the begin iterator of the attributes.

Reimplemented from maquina::NodeDelegate.

◆ _children_end()

std::shared_ptr<ChildIteratorDelegate> maquina::NodeDelegateRumba::_children_end ( )
overridevirtual

Return the end iterator of the attributes.

Reimplemented from maquina::NodeDelegate.

◆ aim()

std::shared_ptr<NodeDelegate> maquina::NodeDelegateRumba::aim ( ) const
overridevirtual

Return the aim target node if available.

Reimplemented from maquina::NodeDelegate.

◆ aspect_ratio()

float maquina::NodeDelegateRumba::aspect_ratio ( ) const
overridevirtual

Return the camera's aspect ratio, width over height. This aspect ratio is used to shape the viewport's frame.

Reimplemented from maquina::NodeDelegate.

◆ attribute()

std::shared_ptr<maquina::NodeDelegate::AttributeDelegate> maquina::NodeDelegateRumba::attribute ( const maquina::StringView name)
overridevirtual

Return a node attribute using its name.

Return nullptr if the attribute does not exist.

Reimplemented from maquina::NodeDelegate.

Reimplemented in maquina::VirtualAttributeNodeDelegate.

◆ attribute_count()

int maquina::NodeDelegateRumba::attribute_count ( ) const
overridevirtual

Returns the number of attributes.

Reimplemented from maquina::NodeDelegate.

Reimplemented in maquina::VirtualAttributeNodeDelegate.

◆ bounding_box()

Imath::Box3d maquina::NodeDelegateRumba::bounding_box ( ) const
overridevirtual

Returns the bounding_box of the node.

Reimplemented from maquina::NodeDelegate.

◆ center_of_interest()

float maquina::NodeDelegateRumba::center_of_interest ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Return the center of interest, the distance of the point the camera is looking at.

Reimplemented from maquina::NodeDelegate.

◆ channel_plugs()

void maquina::NodeDelegateRumba::channel_plugs ( std::unordered_set< Plug > &  result) const
overridevirtual

Reimplemented from maquina::NodeDelegate.

◆ child_count()

int maquina::NodeDelegateRumba::child_count ( ) const
overridevirtual

Returns the number of children in the node.

Implemented by the plug-in.

Reimplemented from maquina::NodeDelegate.

◆ create_camera_observer()

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

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

Reimplemented from maquina::NodeDelegate.

◆ description()

std::shared_ptr<class AttributeDescriptor> maquina::NodeDelegateRumba::description ( ) const
overridevirtual

Returns the node's description, always returns a valid pointer.

Reimplemented from maquina::NodeDelegate.

Reimplemented in maquina::VirtualAttributeNodeDelegate.

◆ far_clipping_plane()

float maquina::NodeDelegateRumba::far_clipping_plane ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Return the far clipping plane.

Reimplemented from maquina::NodeDelegate.

◆ find()

std::shared_ptr<maquina::NodeDelegate> maquina::NodeDelegateRumba::find ( const maquina::StringView path)
overridevirtual

Returns descendent node_delegate using a path starting at this node.

If the node_delegate does not exist, returns nullptr.

Reimplemented from maquina::NodeDelegate.

◆ is_camera()

bool maquina::NodeDelegateRumba::is_camera ( ) const
overridevirtual

Returns true if this node is a camera.

Reimplemented from maquina::NodeDelegate.

◆ is_locked()

bool maquina::NodeDelegateRumba::is_locked ( ) const
overridevirtual

Return true if the camera can't be moved.

Reimplemented from maquina::NodeDelegate.

◆ is_node()

bool maquina::NodeDelegateRumba::is_node ( ) const
overridevirtual

Return true if this node delegate is a Rumba Node.

Reimplemented from maquina::NodeDelegate.

◆ is_orthographic()

bool maquina::NodeDelegateRumba::is_orthographic ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Does this camera has an orthographic projection.

Reimplemented from maquina::NodeDelegate.

◆ name()

maquina::StringView maquina::NodeDelegateRumba::name ( ) const
overridevirtual

The node's name.

Implemented by the plug-in.

Implements maquina::NodeDelegate.

◆ near_clipping_plane()

float maquina::NodeDelegateRumba::near_clipping_plane ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Return the near clipping plane.

Reimplemented from maquina::NodeDelegate.

◆ node()

maquina::Node maquina::NodeDelegateRumba::node ( ) const
overridevirtual

Return the node behind this node delegate.

Exceptions
std::runtime_errorif the node delegate is not mapped to a Node

Reimplemented from maquina::NodeDelegate.

◆ operator!=()

bool maquina::NodeDelegateRumba::operator!= ( const maquina::NodeDelegate o) const
overridevirtual

Return true if the nodes are different or if one is invalid.

Implemented by the plug-in.

Implements maquina::NodeDelegate.

◆ operator==()

bool maquina::NodeDelegateRumba::operator== ( const maquina::NodeDelegate o) const
overridevirtual

Return true if both nodes are the same or both nodes are invalid.

Implemented by the plug-in.

Implements maquina::NodeDelegate.

◆ orthographic_width()

float maquina::NodeDelegateRumba::orthographic_width ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Return the orthographic width, the length projected in the width of the camera image.

Reimplemented from maquina::NodeDelegate.

◆ parent()

std::shared_ptr<maquina::NodeDelegate> maquina::NodeDelegateRumba::parent ( ) const
overridevirtual

◆ path()

std::string maquina::NodeDelegateRumba::path ( ) const
overridevirtual

Returns the full path to the node.

Implemented by the plug-in.

Implements maquina::NodeDelegate.

◆ projection_matrix()

Imath::M44d maquina::NodeDelegateRumba::projection_matrix ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Return the camera's projection matrix.

Reimplemented from maquina::NodeDelegate.

◆ set_center_of_interest()

void maquina::NodeDelegateRumba::set_center_of_interest ( float  coi,
const ModificationContext mc 
)
overridevirtual

Set the center of interest.

Reimplemented from maquina::NodeDelegate.

◆ set_far_clipping_plane()

void maquina::NodeDelegateRumba::set_far_clipping_plane ( float  far_clipping_plane,
const ModificationContext mc 
)
overridevirtual

Set the far clipping plane.

Reimplemented from maquina::NodeDelegate.

◆ set_locked()

void maquina::NodeDelegateRumba::set_locked ( bool  locked,
const ModificationContext mc 
)
overridevirtual

Set the locked attribute.

Reimplemented from maquina::NodeDelegate.

◆ set_near_clipping_plane()

void maquina::NodeDelegateRumba::set_near_clipping_plane ( float  near_clipping_plane,
const ModificationContext mc 
)
overridevirtual

Set the near clipping plane.

Reimplemented from maquina::NodeDelegate.

◆ set_orthographic_width()

void maquina::NodeDelegateRumba::set_orthographic_width ( float  width,
const ModificationContext mc 
)
overridevirtual

Set the orthographic width.

Reimplemented from maquina::NodeDelegate.

◆ type_name()

StringView maquina::NodeDelegateRumba::type_name ( ) const
overridevirtual

◆ up()

std::shared_ptr<NodeDelegate> maquina::NodeDelegateRumba::up ( ) const
overridevirtual

Return the up target node if available.

Reimplemented from maquina::NodeDelegate.


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