17 #ifndef IGNITION_RENDERING_VISUAL_HH_ 18 #define IGNITION_RENDERING_VISUAL_HH_ 23 #include "ignition/rendering/config.hh" 30 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
32 using Variant = std::variant<int, float, double, std::string>;
37 class IGNITION_RENDERING_VISIBLE
Visual :
45 public:
virtual unsigned int GeometryCount()
const = 0;
57 unsigned int _index)
const = 0;
62 public:
virtual void AddGeometry(
GeometryPtr _geometry) = 0;
75 unsigned int _index) = 0;
78 public:
virtual void RemoveGeometries() = 0;
86 public:
virtual void SetMaterial(
const std::string &_name,
87 bool _unique =
true) = 0;
92 public:
virtual void SetMaterial(
MaterialPtr _material,
93 bool _unique =
true) = 0;
98 public:
virtual void SetChildMaterial(
MaterialPtr _material,
99 bool _unique =
true) = 0;
104 public:
virtual void SetGeometryMaterial(
MaterialPtr _material,
105 bool _unique =
true) = 0;
115 public:
virtual void SetVisible(
bool _visible) = 0;
119 public:
virtual void SetVisibilityFlags(uint32_t _flags) = 0;
123 public:
virtual uint32_t VisibilityFlags()
const = 0;
127 public:
virtual void AddVisibilityFlags(uint32_t _flags) = 0;
131 public:
virtual void RemoveVisibilityFlags(uint32_t _flags) = 0;
136 public:
virtual void SetUserData(
const std::string &_key,
virtual ~Visual()
Destructor.
Definition: Visual.hh:41
Represents a single posable node in the scene graph.
Definition: Node.hh:37
Represents a visual node in a scene graph. A Visual is the only node that can have Geometry and other...
Definition: Visual.hh:37
std::variant< int, float, double, std::string > Variant
Definition: Visual.hh:32
Represents a surface material of a Geometry.
Definition: Material.hh:47