Rumba C++ SDK
maquina::NodeDelegateSimpleList Class Reference

#include <NodeDelegateSimpleList.h>

Inheritance diagram for maquina::NodeDelegateSimpleList:
maquina::NodeDelegateWrapper maquina::NodeDelegate

Public Types

using GetChildren = std::vector< std::shared_ptr< NodeDelegate > >(*)(const NodeDelegate &node)
 
- Public Types inherited from maquina::NodeDelegateWrapper
using Wrapper = std::shared_ptr< NodeDelegate >(*)(const std::shared_ptr< NodeDelegate > &node, const std::shared_ptr< NodeDelegateWrapper > &parent_wrapper)
 
- 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
}
 

Public Member Functions

 NodeDelegateSimpleList (std::shared_ptr< NodeDelegate > node, std::shared_ptr< NodeDelegateWrapper > parent)
 
std::shared_ptr< NodeDelegateparent () const override
 Returns the parent node. More...
 
int child_count () const override
 Returns the number of children in the node. More...
 
std::shared_ptr< NodeDelegatechild (const StringView &name) override
 Return a node child using its name. More...
 
- Public Member Functions inherited from maquina::NodeDelegateWrapper
 NodeDelegateWrapper (std::shared_ptr< NodeDelegate > node, std::shared_ptr< NodeDelegateWrapper > parent_wrapper, Wrapper wrapper)
 
StringView type_name () const override
 
std::shared_ptr< NodeDelegateparent () const override
 Returns the parent node. More...
 
maquina::StringView name () const override
 The node's name. More...
 
std::string path () const override
 Returns the full path to the node. More...
 
std::string document_path () const override
 Returns the document path to the node. More...
 
Imath::Box3d bounding_box () const override
 Returns the bounding_box of the node. 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...
 
Node node () const override
 Return the node behind this node delegate. More...
 
bool operator== (const NodeDelegate &o) const override
 Return true if both nodes are the same or both nodes are invalid. More...
 
bool operator!= (const NodeDelegate &o) const override
 Return true if the nodes are different or if one is invalid. More...
 
std::shared_ptr< NodeDelegatefind (const StringView &path) override
 Returns descendent node_delegate using a path starting at this node. More...
 
int child_count () const override
 Returns the number of children in the node. More...
 
std::shared_ptr< NodeDelegatechild (const StringView &name) override
 Return a node child using its name. More...
 
int attribute_count () const override
 Returns the number of attributes. More...
 
std::shared_ptr< AttributeDelegateattribute (const StringView &name) override
 Return a node attribute using its name. More...
 
bool add_attribute (const StringView &name, const Value &value) override
 Add a node attribute with the given name and value. More...
 
std::shared_ptr< Channelchannel (const ChannelType sc) override
 Return the specified channel if available, return nullptr otherwise. More...
 
std::vector< Channelchannels () override
 Return all the node's channels. More...
 
void channel_plugs (std::unordered_set< Plug > &set) const override
 
bool has_transform () const override
 Return true if this node is has a transformation matrix. More...
 
Imath::M44d matrix (const QueryContext &qc=QueryContext::at_current_frame) 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=QueryContext::at_current_frame) 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=QueryContext::at_current_frame) 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=QueryContext::at_current_frame) const override
 
Imath::V3d scale_pivot (const QueryContext &qc=QueryContext::at_current_frame) const override
 
Imath::V3d joint_orient (const QueryContext &qc=QueryContext::at_current_frame) const override
 
Imath::V3d rotate_axis (const QueryContext &qc=QueryContext::at_current_frame) const override
 
int mutable_flags () const override
 Returns the mutable transformation component. More...
 
std::unique_ptr< TransformUserDatastart_transform (const QueryContext &qc=QueryContext::at_current_frame) override
 Start a transform modification, time to backup an initial state. More...
 
void end_transform (const ModificationContext &mc=ModificationContext::default_mc(), TransformUserData *user_data=nullptr) override
 End a transform modification, time to backup an initial state. More...
 
void set_matrix (const Imath::M44d &matrix, const ModificationContext &mc=ModificationContext::default_mc(), TransformUserData *user_data=nullptr) override
 Set the node matrix. More...
 
Imath::V3d scale (const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the scale of the node matrix. More...
 
void set_scale (const Imath::V3d &scale, const ModificationContext &mc=ModificationContext::default_mc(), TransformUserData *user_data=nullptr) override
 Set the scale of the node matrix. More...
 
Imath::V3d rotation (const QueryContext &qc=QueryContext::at_current_frame) 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=QueryContext::at_current_frame) const override
 Return the node rotate order. More...
 
void set_rotation (const Imath::V3d &rotation, const ModificationContext &mc=ModificationContext::default_mc(), TransformUserData *user_data=nullptr) override
 Set the transformation rotation. More...
 
Imath::V3d translation (const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the node's translation. More...
 
void set_translation (const Imath::V3d &translation, const ModificationContext &mc=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...
 
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=ModificationContext::default_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=ModificationContext::default_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=ModificationContext::default_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=ModificationContext::default_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=ModificationContext::default_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...
 
bool has_geometry () const override
 Return true if this node has a geometry. More...
 
Shape geometry () const override
 Returns the node's geometry. More...
 
bool is_sculpt () const override
 This node is a sculpt node, i-e, displaces the vertices of the input scene's geometries using sparse buffers of delta position. More...
 
BufferConstV3f input_points (const StringView &path, const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the points of the input scene node at the given path. More...
 
SparseBufferConstV3f delta_points (const StringView &path, const QueryContext &qc=QueryContext::at_current_frame) const override
 Return the delta points fot the scene node at the given path. More...
 
void set_delta_points (const SparseBufferConstV3f &delta_points, const StringView &path, const ModificationContext &mc=ModificationContext::default_mc()) const override
 Set the delta points fot the scene node at the given path. More...
 
std::shared_ptr< maquina::NodeDelegate::Observercreate_sculpt_observer (const std::function< void()> &func, bool in_interactive) override
 Create an observer notified when the NodeDelegate sculpt attributes have changed. More...
 
- Public Member Functions inherited from maquina::NodeDelegate
virtual ~NodeDelegate ()
 
Children children ()
 
virtual void animate ()
 Called when the node delegate is assigned to an animation system layer. More...
 
Attributes attributes ()
 
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...
 

Static Public Member Functions

static void register_type (std::string node_type, GetChildren)
 

Protected Member Functions

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::optional< std::vector< std::shared_ptr< NodeDelegate > > > _children () const
 
bool _has_children () const
 
- Protected Member Functions inherited from maquina::NodeDelegateWrapper
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< 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...
 

Static Protected Member Functions

static std::shared_ptr< NodeDelegate_simple_wrapper (const std::shared_ptr< NodeDelegate > &, const std::shared_ptr< NodeDelegateWrapper > &parent_wrapper)
 
- Static Protected Member Functions inherited from maquina::NodeDelegateWrapper
static const NodeDelegate_unwrap (const NodeDelegate &)
 

Static Protected Attributes

static std::unordered_map< std::string, GetChildren_type_get_children
 

Friends

class ChildIteratorDelegateSimpleList
 

Additional Inherited Members

- Protected Attributes inherited from maquina::NodeDelegateWrapper
std::shared_ptr< NodeDelegate_node
 
std::shared_ptr< NodeDelegateWrapper_parent_wrapper
 
Wrapper _wrapper
 

Member Typedef Documentation

◆ GetChildren

using maquina::NodeDelegateSimpleList::GetChildren = std::vector<std::shared_ptr<NodeDelegate> >(*)(const NodeDelegate& node)

Constructor & Destructor Documentation

◆ NodeDelegateSimpleList()

maquina::NodeDelegateSimpleList::NodeDelegateSimpleList ( std::shared_ptr< NodeDelegate node,
std::shared_ptr< NodeDelegateWrapper parent 
)

Member Function Documentation

◆ _children()

std::optional<std::vector<std::shared_ptr<NodeDelegate> > > maquina::NodeDelegateSimpleList::_children ( ) const
protected

◆ _children_begin()

std::shared_ptr<ChildIteratorDelegate> maquina::NodeDelegateSimpleList::_children_begin ( )
overrideprotectedvirtual

Return the begin iterator of the attributes.

Reimplemented from maquina::NodeDelegate.

◆ _children_end()

std::shared_ptr<ChildIteratorDelegate> maquina::NodeDelegateSimpleList::_children_end ( )
overrideprotectedvirtual

Return the end iterator of the attributes.

Reimplemented from maquina::NodeDelegate.

◆ _has_children()

bool maquina::NodeDelegateSimpleList::_has_children ( ) const
protected

◆ _simple_wrapper()

static std::shared_ptr<NodeDelegate> maquina::NodeDelegateSimpleList::_simple_wrapper ( const std::shared_ptr< NodeDelegate > &  ,
const std::shared_ptr< NodeDelegateWrapper > &  parent_wrapper 
)
staticprotected

◆ child()

std::shared_ptr<NodeDelegate> maquina::NodeDelegateSimpleList::child ( const StringView name)
overridevirtual

Return a node child using its name.

Return nullptr if the child does not exist.

Reimplemented from maquina::NodeDelegate.

◆ child_count()

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

Returns the number of children in the node.

Implemented by the plug-in.

Reimplemented from maquina::NodeDelegate.

◆ parent()

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

Returns the parent node.

Implemented by the plug-in.

Implements maquina::NodeDelegate.

◆ register_type()

static void maquina::NodeDelegateSimpleList::register_type ( std::string  node_type,
GetChildren   
)
static

Friends And Related Function Documentation

◆ ChildIteratorDelegateSimpleList

friend class ChildIteratorDelegateSimpleList
friend

Member Data Documentation

◆ _type_get_children

std::unordered_map<std::string, GetChildren> maquina::NodeDelegateSimpleList::_type_get_children
staticprotected

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