17 #ifndef GZ_RENDERING_VISUAL_HH_
18 #define GZ_RENDERING_VISUAL_HH_
21 #include <gz/math/AxisAlignedBox.hh>
22 #include "gz/rendering/config.hh"
29 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
41 public:
virtual unsigned int GeometryCount()
const = 0;
53 unsigned int _index)
const = 0;
58 public:
virtual void AddGeometry(
GeometryPtr _geometry) = 0;
71 unsigned int _index) = 0;
74 public:
virtual void RemoveGeometries() = 0;
82 public:
virtual void SetMaterial(
const std::string &_name,
83 bool _unique =
true) = 0;
88 public:
virtual void SetMaterial(
MaterialPtr _material,
89 bool _unique =
true) = 0;
94 public:
virtual void SetChildMaterial(
MaterialPtr _material,
95 bool _unique =
true) = 0;
100 public:
virtual void SetGeometryMaterial(
MaterialPtr _material,
101 bool _unique =
true) = 0;
111 public:
virtual void SetWireframe(
bool _show) = 0;
115 public:
virtual bool Wireframe()
const = 0;
119 public:
virtual void SetVisible(
bool _visible) = 0;
123 public:
virtual void SetVisibilityFlags(uint32_t _flags) = 0;
127 public:
virtual uint32_t VisibilityFlags()
const = 0;
131 public:
virtual void AddVisibilityFlags(uint32_t _flags) = 0;
135 public:
virtual void RemoveVisibilityFlags(uint32_t _flags) = 0;