17 #ifndef GZ_RENDERING_OGRE2_OGRE2MESH_HH_
18 #define GZ_RENDERING_OGRE2_OGRE2MESH_HH_
23 #include <unordered_map>
40 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
43 class Ogre2MeshPrivate;
44 class Ogre2SubMeshPrivate;
57 public:
virtual void Destroy()
override;
60 public:
virtual bool HasSkeleton()
const override;
64 SkeletonLocalTransforms()
const override;
67 public:
virtual void SetSkeletonLocalTransforms(
72 SkeletonWeights()
const override;
75 public:
virtual void SetSkeletonWeights(
79 public:
virtual void SetSkeletonAnimationEnabled(
const std::string &_name,
80 bool _enabled,
bool _loop =
true,
float _weight = 1.0)
override;
83 public:
virtual bool SkeletonAnimationEnabled(
const std::string &_name)
87 public:
virtual void UpdateSkeletonAnimation(
88 std::chrono::steady_clock::duration _time)
override;
91 public:
virtual Ogre::MovableObject *
OgreObject()
const override;
100 protected: Ogre::Item *ogreItem =
nullptr;
123 public:
virtual void Destroy()
override;
127 public:
void SetMeshName(
const std::string &_name);
130 public:
virtual Ogre::SubItem *Ogre2SubItem()
const;
134 protected:
virtual void SetMaterialImpl(
MaterialPtr _material)
override;
137 protected:
virtual void Init()
override;
140 protected: Ogre::SubItem *ogreSubItem =
nullptr;