17 #ifndef IGNITION_RENDERING_NODE_HH_ 18 #define IGNITION_RENDERING_NODE_HH_ 27 #include "ignition/rendering/config.hh" 30 #include "ignition/rendering/Export.hh" 36 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
46 std::variant<std::monostate, int, float, double,
std::string, bool,
47 unsigned int, int64_t, uint64_t>;
51 class IGNITION_RENDERING_VISIBLE
Node :
59 public:
virtual bool HasParent()
const = 0;
63 public:
virtual NodePtr Parent()
const = 0;
67 public:
virtual void RemoveParent() = 0;
75 public:
virtual math::Pose3d InitialLocalPose()
const = 0;
79 public:
virtual void SetLocalPose(
const math::Pose3d &_pose) = 0;
89 public:
virtual void SetLocalPosition(
double _x,
double _y,
94 public:
virtual void SetLocalPosition(
105 public:
virtual void SetLocalRotation(
double _r,
double _p,
113 public:
virtual void SetLocalRotation(
double _w,
double _x,
double _y,
118 public:
virtual void SetLocalRotation(
127 public:
virtual void SetWorldPose(
const math::Pose3d &_pose) = 0;
137 public:
virtual void SetWorldPosition(
double _x,
double _y,
142 public:
virtual void SetWorldPosition(
153 public:
virtual void SetWorldRotation(
double _r,
double _p,
161 public:
virtual void SetWorldRotation(
double _w,
double _x,
double _y,
166 public:
virtual void SetWorldRotation(
183 public:
virtual void SetOrigin(
double _x,
double _y,
double _z) = 0;
188 public:
virtual void SetOrigin(
const math::Vector3d &_origin) = 0;
197 public:
virtual void SetLocalScale(
double _scale) = 0;
203 public:
virtual void SetLocalScale(
double _x,
double _y,
double _z) = 0;
207 public:
virtual void SetLocalScale(
const math::Vector3d &_scale) = 0;
216 public:
virtual void SetWorldScale(
double _scale) = 0;
222 public:
virtual void SetWorldScale(
double _x,
double _y,
double _z) = 0;
226 public:
virtual void SetWorldScale(
const math::Vector3d &_scale) = 0;
231 public:
virtual void Scale(
double _scale) = 0;
237 public:
virtual void Scale(
double _x,
double _y,
double _z) = 0;
245 public:
virtual bool InheritScale()
const = 0;
249 public:
virtual void SetInheritScale(
bool _inherit) = 0;
253 public:
virtual unsigned int ChildCount()
const = 0;
257 public:
virtual bool HasChild(
ConstNodePtr _child)
const = 0;
262 public:
virtual bool HasChildId(
unsigned int _id)
const = 0;
267 public:
virtual bool HasChildName(
const std::string &_name)
const = 0;
273 public:
virtual NodePtr ChildById(
unsigned int _id)
const = 0;
279 public:
virtual NodePtr ChildByName(
280 const std::string &_name)
const = 0;
286 public:
virtual NodePtr ChildByIndex(
unsigned int _index)
const = 0;
291 public:
virtual void AddChild(
NodePtr _child) = 0;
304 public:
virtual NodePtr RemoveChildById(
unsigned int _id) = 0;
311 public:
virtual NodePtr RemoveChildByName(
const std::string &_name) = 0;
318 public:
virtual NodePtr RemoveChildByIndex(
unsigned int _index) = 0;
322 public:
virtual void RemoveChildren() = 0;
327 public:
virtual void SetUserData(
328 const std::string &_key,
Variant _value) = 0;
334 public:
virtual Variant UserData(
const std::string &_key)
const = 0;
339 public:
virtual bool HasUserData(
const std::string &_key)
const = 0;
Represents a single posable node in the scene graph.
Definition: Node.hh:51
virtual ~Node()
Destructor.
Definition: Node.hh:55
std::variant< std::monostate, int, float, double, std::string, bool, unsigned int, int64_t, uint64_t > Variant
Alias for a variant that can hold various types of data. The first type of the variant is std::monost...
Definition: Node.hh:47
Represents an object present in the scene graph. This includes sub-meshes, materials, render targets, as well as posable nodes.
Definition: Object.hh:34