17 #ifndef IGNITION_RENDERING_MESH_HH_ 18 #define IGNITION_RENDERING_MESH_HH_ 22 #include <unordered_map> 24 #include "ignition/rendering/config.hh" 33 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
37 class IGNITION_RENDERING_VISIBLE
Mesh :
45 public:
virtual bool HasSkeleton()
const = 0;
53 SkeletonLocalTransforms()
const = 0;
60 public:
virtual void SetSkeletonLocalTransforms(
76 public:
virtual void SetSkeletonWeights(
84 public:
virtual void SetSkeletonAnimationEnabled(
const std::string &_name,
85 bool _enabled,
bool _loop =
true,
float _weight = 1.0) = 0;
90 public:
virtual bool SkeletonAnimationEnabled(
const std::string &_name)
95 public:
virtual void UpdateSkeletonAnimation(
96 std::chrono::steady_clock::duration _time) = 0;
100 public:
virtual unsigned int SubMeshCount()
const = 0;
110 public:
virtual bool HasSubMeshName(
const std::string &_name)
const = 0;
122 unsigned int _index)
const = 0;
126 public:
virtual void SetDescriptor(
const MeshDescriptor &_desc) = 0;
150 public:
virtual void SetMaterial(
const std::string &_name,
151 bool _unique =
true) = 0;
156 public:
virtual void SetMaterial(
MaterialPtr _material,
157 bool _unique =
true) = 0;
virtual ~SubMesh()
Destructor.
Definition: Mesh.hh:139
Describes how a Mesh should be loaded.
Definition: MeshDescriptor.hh:44
virtual ~Mesh()
Destructor.
Definition: Mesh.hh:41
Represents a collection of mesh geometries.
Definition: Mesh.hh:37
Represents a geometric shape to be rendered.
Definition: Geometry.hh:35
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:135