Rumba C++ SDK
maquina::NodeDelegateWrapper Class Reference

That class wraps existing node delegate and their children to override some of their behaviors. More...

#include <NodeDelegateWrapper.h>

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

Public Types

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

 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...
 

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::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 const NodeDelegate_unwrap (const NodeDelegate &)
 

Protected Attributes

std::shared_ptr< NodeDelegate_node
 
std::shared_ptr< NodeDelegateWrapper_parent_wrapper
 
Wrapper _wrapper
 

Detailed Description

That class wraps existing node delegate and their children to override some of their behaviors.

Member Typedef Documentation

◆ Wrapper

using maquina::NodeDelegateWrapper::Wrapper = std::shared_ptr<NodeDelegate> (*)(const std::shared_ptr<NodeDelegate>& node, const std::shared_ptr<NodeDelegateWrapper>& parent_wrapper)

Constructor & Destructor Documentation

◆ NodeDelegateWrapper()

maquina::NodeDelegateWrapper::NodeDelegateWrapper ( std::shared_ptr< NodeDelegate node,
std::shared_ptr< NodeDelegateWrapper parent_wrapper,
Wrapper  wrapper 
)

Member Function Documentation

◆ _attributes_begin()

std::shared_ptr<AttributeIteratorDelegate> maquina::NodeDelegateWrapper::_attributes_begin ( )
overrideprotectedvirtual

Return the begin iterator of the attributes.

Reimplemented from maquina::NodeDelegate.

◆ _attributes_end()

std::shared_ptr<AttributeIteratorDelegate> maquina::NodeDelegateWrapper::_attributes_end ( )
overrideprotectedvirtual

Return the end iterator of the attributes.

Reimplemented from maquina::NodeDelegate.

◆ _children_begin()

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

Return the begin iterator of the attributes.

Reimplemented from maquina::NodeDelegate.

◆ _children_end()

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

Return the end iterator of the attributes.

Reimplemented from maquina::NodeDelegate.

◆ _unwrap()

static const NodeDelegate& maquina::NodeDelegateWrapper::_unwrap ( const NodeDelegate )
staticprotected

◆ add_attribute()

bool maquina::NodeDelegateWrapper::add_attribute ( const StringView name,
const Value value 
)
overridevirtual

Add a node attribute with the given name and value.

Return true if the attribute was succesfully added, false otherwise. The default implementation does nothing.

Reimplemented from maquina::NodeDelegate.

◆ aim()

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

Return the aim target node if available.

Reimplemented from maquina::NodeDelegate.

◆ aspect_ratio()

float maquina::NodeDelegateWrapper::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<AttributeDelegate> maquina::NodeDelegateWrapper::attribute ( const StringView name)
overridevirtual

Return a node attribute using its name.

Return nullptr if the attribute does not exist.

Reimplemented from maquina::NodeDelegate.

◆ attribute_count()

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

Returns the number of attributes.

Reimplemented from maquina::NodeDelegate.

◆ bounding_box()

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

Returns the bounding_box of the node.

Reimplemented from maquina::NodeDelegate.

◆ center_of_interest()

float maquina::NodeDelegateWrapper::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()

std::shared_ptr<Channel> maquina::NodeDelegateWrapper::channel ( const ChannelType  sc)
overridevirtual

Return the specified channel if available, return nullptr otherwise.

Return the animation channels of the represented node.

Reimplemented from maquina::NodeDelegate.

◆ channel_plugs()

void maquina::NodeDelegateWrapper::channel_plugs ( std::unordered_set< Plug > &  set) const
overridevirtual

Reimplemented from maquina::NodeDelegate.

◆ channels()

std::vector<Channel> maquina::NodeDelegateWrapper::channels ( )
overridevirtual

Return all the node's channels.

Reimplemented from maquina::NodeDelegate.

◆ child()

std::shared_ptr<NodeDelegate> maquina::NodeDelegateWrapper::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::NodeDelegateWrapper::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::NodeDelegateWrapper::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.

◆ create_sculpt_observer()

std::shared_ptr<maquina::NodeDelegate::Observer> maquina::NodeDelegateWrapper::create_sculpt_observer ( const std::function< void()> &  func,
bool  in_interactive 
)
overridevirtual

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

Reimplemented from maquina::NodeDelegate.

◆ create_transform_observer()

std::shared_ptr<Observer> maquina::NodeDelegateWrapper::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.

◆ delta_points()

SparseBufferConstV3f maquina::NodeDelegateWrapper::delta_points ( const StringView path,
const QueryContext qc = QueryContext::at_current_frame 
) const
overridevirtual

Return the delta points fot the scene node at the given path.

Reimplemented from maquina::NodeDelegate.

◆ description()

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

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

Reimplemented from maquina::NodeDelegate.

◆ document_path()

std::string maquina::NodeDelegateWrapper::document_path ( ) const
overridevirtual

Returns the document path to the node.

Reimplemented from maquina::NodeDelegate.

◆ end_transform()

void maquina::NodeDelegateWrapper::end_transform ( const ModificationContext mc = ModificationContext::default_mc(),
TransformUserData user_data = nullptr 
)
overridevirtual

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

This method is called by the transform tools at the end of a transformation modification.

Reimplemented from maquina::NodeDelegate.

◆ far_clipping_plane()

float maquina::NodeDelegateWrapper::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<NodeDelegate> maquina::NodeDelegateWrapper::find ( const 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.

◆ geometry()

Shape maquina::NodeDelegateWrapper::geometry ( ) const
overridevirtual

Returns the node's geometry.

Exceptions
std::runtime_errorif the node has no geometry.

Reimplemented from maquina::NodeDelegate.

◆ has_geometry()

bool maquina::NodeDelegateWrapper::has_geometry ( ) const
overridevirtual

Return true if this node has a geometry.

Reimplemented from maquina::NodeDelegate.

◆ has_transform()

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

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

◆ input_points()

BufferConstV3f maquina::NodeDelegateWrapper::input_points ( const StringView path,
const QueryContext qc = QueryContext::at_current_frame 
) const
overridevirtual

Return the points of the input scene node at the given path.

Reimplemented from maquina::NodeDelegate.

◆ is_camera()

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

Returns true if this node is a camera.

Reimplemented from maquina::NodeDelegate.

◆ is_locked()

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

Return true if the camera can't be moved.

Reimplemented from maquina::NodeDelegate.

◆ is_node()

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

Return true if this node delegate is a Rumba Node.

Reimplemented from maquina::NodeDelegate.

◆ is_orthographic()

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

Does this camera has an orthographic projection.

Reimplemented from maquina::NodeDelegate.

◆ is_sculpt()

bool maquina::NodeDelegateWrapper::is_sculpt ( ) const
overridevirtual

This node is a sculpt node, i-e, displaces the vertices of the input scene's geometries using sparse buffers of delta position.

Reimplemented from maquina::NodeDelegate.

◆ joint_orient()

Imath::V3d maquina::NodeDelegateWrapper::joint_orient ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Reimplemented from maquina::NodeDelegate.

◆ matrix()

Imath::M44d maquina::NodeDelegateWrapper::matrix ( const QueryContext qc = QueryContext::at_current_frame) 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::NodeDelegateWrapper::mutable_flags ( ) const
overridevirtual

Returns the mutable transformation component.

If a flag is set, its component is mutable.

Reimplemented from maquina::NodeDelegate.

◆ name()

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

The node's name.

Implemented by the plug-in.

Implements maquina::NodeDelegate.

◆ near_clipping_plane()

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

Return the near clipping plane.

Reimplemented from maquina::NodeDelegate.

◆ node()

Node maquina::NodeDelegateWrapper::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::NodeDelegateWrapper::operator!= ( const 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::NodeDelegateWrapper::operator== ( const 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::NodeDelegateWrapper::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<NodeDelegate> maquina::NodeDelegateWrapper::parent ( ) const
overridevirtual

Returns the parent node.

Implemented by the plug-in.

Implements maquina::NodeDelegate.

◆ parent_world_matrix()

Imath::M44d maquina::NodeDelegateWrapper::parent_world_matrix ( const QueryContext qc = QueryContext::at_current_frame) 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.

◆ path()

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

Returns the full path to the node.

Implemented by the plug-in.

Implements maquina::NodeDelegate.

◆ projection_matrix()

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

Return the camera's projection matrix.

Reimplemented from maquina::NodeDelegate.

◆ rotate_axis()

Imath::V3d maquina::NodeDelegateWrapper::rotate_axis ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Reimplemented from maquina::NodeDelegate.

◆ rotate_order()

Imath::Eulerd::Order maquina::NodeDelegateWrapper::rotate_order ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Return the node rotate order.

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

Reimplemented from maquina::NodeDelegate.

◆ rotate_pivot()

Imath::V3d maquina::NodeDelegateWrapper::rotate_pivot ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Reimplemented from maquina::NodeDelegate.

◆ rotation()

Imath::V3d maquina::NodeDelegateWrapper::rotation ( const QueryContext qc = QueryContext::at_current_frame) 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::NodeDelegateWrapper::scale ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Return the scale of the node matrix.

Reimplemented from maquina::NodeDelegate.

◆ scale_pivot()

Imath::V3d maquina::NodeDelegateWrapper::scale_pivot ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Reimplemented from maquina::NodeDelegate.

◆ set_center_of_interest()

void maquina::NodeDelegateWrapper::set_center_of_interest ( float  coi,
const ModificationContext mc = ModificationContext::default_mc() 
)
overridevirtual

Set the center of interest.

Reimplemented from maquina::NodeDelegate.

◆ set_delta_points()

void maquina::NodeDelegateWrapper::set_delta_points ( const SparseBufferConstV3f delta_points,
const StringView path,
const ModificationContext mc = ModificationContext::default_mc() 
) const
overridevirtual

Set the delta points fot the scene node at the given path.

Reimplemented from maquina::NodeDelegate.

◆ set_far_clipping_plane()

void maquina::NodeDelegateWrapper::set_far_clipping_plane ( float  far_clipping_plane,
const ModificationContext mc = ModificationContext::default_mc() 
)
overridevirtual

Set the far clipping plane.

Reimplemented from maquina::NodeDelegate.

◆ set_locked()

void maquina::NodeDelegateWrapper::set_locked ( bool  locked,
const ModificationContext mc = ModificationContext::default_mc() 
)
overridevirtual

Set the locked attribute.

Reimplemented from maquina::NodeDelegate.

◆ set_matrix()

void maquina::NodeDelegateWrapper::set_matrix ( const Imath::M44d matrix,
const ModificationContext mc = ModificationContext::default_mc(),
TransformUserData user_data = nullptr 
)
overridevirtual

Set the node matrix.

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

Reimplemented from maquina::NodeDelegate.

◆ set_near_clipping_plane()

void maquina::NodeDelegateWrapper::set_near_clipping_plane ( float  near_clipping_plane,
const ModificationContext mc = ModificationContext::default_mc() 
)
overridevirtual

Set the near clipping plane.

Reimplemented from maquina::NodeDelegate.

◆ set_orthographic_width()

void maquina::NodeDelegateWrapper::set_orthographic_width ( float  width,
const ModificationContext mc = ModificationContext::default_mc() 
)
overridevirtual

Set the orthographic width.

Reimplemented from maquina::NodeDelegate.

◆ set_rotation()

void maquina::NodeDelegateWrapper::set_rotation ( const Imath::V3d rotation,
const ModificationContext mc = 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::NodeDelegateWrapper::set_scale ( const Imath::V3d scale,
const ModificationContext mc = 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::NodeDelegateWrapper::set_translation ( const Imath::V3d translation,
const ModificationContext mc = 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.

◆ start_transform()

std::unique_ptr<TransformUserData> maquina::NodeDelegateWrapper::start_transform ( const QueryContext qc = QueryContext::at_current_frame)
overridevirtual

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

The optional returned user data is passed to set_scale, set_rotation and set_translation. This can be used to store initial state data. Return nullptr if no user data is needed.

Reimplemented from maquina::NodeDelegate.

◆ translation()

Imath::V3d maquina::NodeDelegateWrapper::translation ( const QueryContext qc = QueryContext::at_current_frame) const
overridevirtual

Return the node's translation.

This value does not include the different pivots term

Reimplemented from maquina::NodeDelegate.

◆ type_name()

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

Implements maquina::NodeDelegate.

◆ up()

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

Return the up target node if available.

Reimplemented from maquina::NodeDelegate.

◆ world_matrix()

Imath::M44d maquina::NodeDelegateWrapper::world_matrix ( const QueryContext qc = QueryContext::at_current_frame) 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.

Member Data Documentation

◆ _node

std::shared_ptr<NodeDelegate> maquina::NodeDelegateWrapper::_node
protected

◆ _parent_wrapper

std::shared_ptr<NodeDelegateWrapper> maquina::NodeDelegateWrapper::_parent_wrapper
protected

◆ _wrapper

Wrapper maquina::NodeDelegateWrapper::_wrapper
protected

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