Rumba C++ SDK
NodeDelegateManipulator.h
Go to the documentation of this file.
1 /*
2 
3  *
4  ***
5  *****
6  ********************* Mercenaries Engineering SARL
7  ***************** Copyright (C) 2020
8  *************
9  ********* http://www.mercenaries-engineering.com
10  ***********
11  **** ****
12  ** **
13 
14 */
15 
16 #pragma once
17 
19 
20 namespace maquina
21 {
22 
23 // maquina::NodeDelegate implementation for Rumba nodes
25 {
26 public:
27  NodeDelegateManipulator(const std::shared_ptr<maquina::Impl>& node);
28 
30  bool has_transform() const override;
31  Imath::M44d matrix(const QueryContext& qc) const override;
32  Imath::M44d world_matrix(const QueryContext& qc) const override;
33  Imath::M44d parent_world_matrix(const QueryContext& qc) const override;
34  Imath::V3d rotate_pivot(const QueryContext& qc) const override;
35  Imath::V3d scale_pivot(const QueryContext& qc) const override;
36  Imath::V3d joint_orient(const QueryContext& qc) const override;
37  int mutable_flags() const override;
38  Imath::V3d scale(const QueryContext& qc) const override;
39  void set_scale(const Imath::V3d& scale, const maquina::ModificationContext& mc=maquina::ModificationContext::layer) override;
40  Imath::V3d rotation(const QueryContext& qc) const override;
41  Imath::Eulerd::Order rotate_order(const QueryContext& qc) const override;
42  void set_rotation(const Imath::V3d& rotation, const maquina::ModificationContext& mc=maquina::ModificationContext::layer) override;
43  void set_translation(const Imath::V3d& translation, const maquina::ModificationContext& mc=maquina::ModificationContext::layer) override;
44  std::shared_ptr<Observer> create_transform_observer(const std::function<void()>& func, bool in_interactive=true) override;
45 
47  std::shared_ptr<NodeDelegate> controller_delegate() const;
48 };
49 
50 }
Order
Definition: ImathEuler.h:151
static const ModificationContext layer
Set values in the active layer but do not require to be animated.
Definition: ModificationContext.h:50
Definition: ImathFrame.h:42
Definition: ImathFrame.h:43
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
Definition: ModificationContext.h:21
Definition: NodeDelegateManipulator.h:24
Definition: NodeDelegateRumba.h:32
#define MAQUINA_EXPORT
Definition: Export.h:31
Definition: QueryContext.h:21