17 #ifndef IGNITION_RENDERING_MESH_HH_ 18 #define IGNITION_RENDERING_MESH_HH_ 22 #include <unordered_map> 24 #include "ignition/rendering/config.hh" 32 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
36 class IGNITION_RENDERING_VISIBLE
Mesh :
44 public:
virtual bool HasSkeleton()
const = 0;
52 SkeletonLocalTransforms()
const = 0;
59 public:
virtual void SetSkeletonLocalTransforms(
75 public:
virtual void SetSkeletonWeights(
83 public:
virtual void SetSkeletonAnimationEnabled(
const std::string &_name,
84 bool _enabled,
bool _loop =
true,
float _weight = 1.0) = 0;
89 public:
virtual bool SkeletonAnimationEnabled(
const std::string &_name)
94 public:
virtual void UpdateSkeletonAnimation(
95 std::chrono::steady_clock::duration _time) = 0;
99 public:
virtual unsigned int SubMeshCount()
const = 0;
109 public:
virtual bool HasSubMeshName(
const std::string &_name)
const = 0;
121 unsigned int _index)
const = 0;
141 public:
virtual void SetMaterial(
const std::string &_name,
142 bool _unique =
true) = 0;
147 public:
virtual void SetMaterial(
MaterialPtr _material,
148 bool _unique =
true) = 0;
virtual ~SubMesh()
Destructor.
Definition: Mesh.hh:130
virtual ~Mesh()
Destructor.
Definition: Mesh.hh:40
Represents a collection of mesh geometries.
Definition: Mesh.hh:36
Represents a geometric shape to be rendered.
Definition: Geometry.hh:34
Represents a surface material of a Geometry.
Definition: Material.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
Represents a single mesh geometry.
Definition: Mesh.hh:126