17 #ifndef GZ_RENDERING_OGRE2_OGRE2DYNAMICRENDERABLE_HH_
18 #define GZ_RENDERING_OGRE2_OGRE2DYNAMICRENDERABLE_HH_
24 #include "gz/rendering/ogre2/Export.hh"
29 #pragma warning(push, 0)
31 #include <OgreHlmsPso.h>
45 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
48 class Ogre2DynamicRenderablePrivate;
66 public:
void SetOperationType(
MarkerType _opType);
73 public:
void Update();
76 public: Ogre::MovableObject *
OgreObject()
const;
89 public:
void AddPoint(
const double _x,
const double _y,
const double _z,
95 public:
void SetPoint(
unsigned int _index,
101 public:
void SetColor(
unsigned int _index,
114 public:
unsigned int PointCount()
const;
117 public:
void Clear();
120 public:
void Destroy();
125 public:
void SetMaterial(
MaterialPtr _material,
bool _unique =
true);
128 private:
void CreateDynamicMesh();
131 private:
void UpdateBuffer();
137 private:
void GenerateNormals(Ogre::OperationType _opType,
145 private:
void GenerateColors(Ogre::OperationType _opType,
149 private:
void DestroyBuffer();