#include <BaseMesh.hh>
Public Member Functions | |
virtual | ~BaseMesh () |
virtual GeometryPtr | Clone () const override |
Clone the geometry. More... | |
const MeshDescriptor & | Descriptor () const override |
Get the mesh's mesh descriptor. More... | |
virtual void | Destroy () override |
Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior. More... | |
virtual bool | HasSkeleton () const override |
Check whether the mesh has skeleton. More... | |
virtual bool | HasSubMesh (ConstSubMeshPtr _subMesh) const override |
Determine if has given sub-mesh. More... | |
virtual bool | HasSubMeshName (const std::string &_name) const override |
Determine if has sub-mesh with given name. More... | |
virtual MaterialPtr | Material () const override |
Get the material of this geometry. More... | |
virtual void | PreRender () override |
Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender. More... | |
void | SetDescriptor (const MeshDescriptor &_desc) override |
Set the mesh's descriptor. More... | |
virtual void | SetMaterial (const std::string &_name, bool _unique=true) override |
Set the materials of this Geometry. The specified material will be retrieved from the parent Scene. If no material is registered by the given name, no work will be done. More... | |
virtual void | SetMaterial (MaterialPtr _material, bool _unique=true) override |
Set the materials of this Geometry. More... | |
virtual void | SetSkeletonAnimationEnabled (const std::string &_name, bool _enabled, bool _loop=true, float _weight=1.0) override |
Set whether a skeleton animation should be enabled or not. More... | |
virtual void | SetSkeletonLocalTransforms (const std::map< std::string, math::Matrix4d > &_tfs) override |
Set transforms for the skeleton. More... | |
virtual void | SetSkeletonWeights (const std::unordered_map< std::string, float > &_weights) override |
Set skeleton node weight. More... | |
virtual bool | SkeletonAnimationEnabled (const std::string &_name) const override |
Get whether a skeleton animation is enabled or not. More... | |
virtual std::map< std::string, math::Matrix4d > | SkeletonLocalTransforms () const override |
Get the skeleton local transforms. More... | |
virtual std::unordered_map< std::string, float > | SkeletonWeights () const override |
Get skeleton node weight. More... | |
virtual SubMeshPtr | SubMeshByIndex (unsigned int _index) const override |
Get sub-mesh at given index. More... | |
virtual SubMeshPtr | SubMeshByName (const std::string &_name) const override |
Get sub-mesh with given name. More... | |
virtual unsigned int | SubMeshCount () const override |
Get the sub-mesh count. More... | |
virtual void | UpdateSkeletonAnimation (std::chrono::steady_clock::duration _time) override |
Play the active skeleton animation to the specified time. More... | |
Public Member Functions inherited from Mesh | |
virtual | ~Mesh () |
Destructor. More... | |
Public Member Functions inherited from Geometry | |
virtual | ~Geometry () |
Destructor. More... | |
virtual bool | HasParent () const =0 |
Determine if this Geometry is attached to a Visual. More... | |
virtual VisualPtr | Parent () const =0 |
Get the parent Visual. More... | |
virtual void | RemoveParent ()=0 |
Detach this Geometry from its parent Visual. If this Geometry does not have a parent, no work will be done. More... | |
Public Member Functions inherited from Object | |
virtual | ~Object () |
Destructor. More... | |
virtual unsigned int | Id () const =0 |
Get the object ID. This ID will be unique across all objects inside a given scene, but necessarily true for objects across different scenes. More... | |
virtual std::string | Name () const =0 |
Get the object name. This name will be unique across all objects inside a given scene, but necessarily true for objects across different scenes. More... | |
virtual void | PostRender ()=0 |
Post process this object and any of its children after rendering. More... | |
virtual ScenePtr | Scene () const =0 |
Get the Scene that created this object. More... | |
Protected Member Functions | |
BaseMesh () | |
virtual SubMeshStorePtr | SubMeshes () const =0 |
Protected Attributes | |
MaterialPtr | material |
Pointer to currently assigned material. More... | |
MeshDescriptor | meshDescriptor |
MeshDescriptor for this mesh. More... | |
bool | ownsMaterial = false |
Flag to indicate whether or not this mesh should be responsible for destroying the material. More... | |
Constructor & Destructor Documentation
◆ BaseMesh()
|
protected |
◆ ~BaseMesh()
|
virtual |
Member Function Documentation
◆ Clone()
|
overridevirtual |
Clone the geometry.
- Returns
- The cloned geometry.
Implements Geometry.
References Scene::CreateMesh(), and gzerr.
◆ Descriptor()
|
overridevirtual |
◆ Destroy()
|
overridevirtual |
Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior.
Implements Object.
Reimplemented in Ogre2Mesh, and OgreMesh.
References Scene::DestroyMaterial().
◆ HasSkeleton()
|
overridevirtual |
◆ HasSubMesh()
|
overridevirtual |
Determine if has given sub-mesh.
- Parameters
-
[in] _subMesh Sub-mesh in question
- Returns
- True if has given sub-mesh
Implements Mesh.
◆ HasSubMeshName()
|
overridevirtual |
Determine if has sub-mesh with given name.
- Parameters
-
[in] _name Name of sub-mesh in question
- Returns
- True if has sub-mesh with given name
Implements Mesh.
◆ Material()
|
overridevirtual |
◆ PreRender()
|
overridevirtual |
Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender.
Implements Object.
◆ SetDescriptor()
|
overridevirtual |
◆ SetMaterial() [1/2]
|
overridevirtual |
Set the materials of this Geometry. The specified material will be retrieved from the parent Scene. If no material is registered by the given name, no work will be done.
- Parameters
-
[in] _name Name of registered Material [in] _unique True if the specified material should be cloned
Implements Geometry.
References Scene::Material().
◆ SetMaterial() [2/2]
|
overridevirtual |
Set the materials of this Geometry.
- Parameters
-
[in] _material New Material to be assigned [in] _unique True if the given material should be cloned
Implements Geometry.
References Scene::DestroyMaterial().
◆ SetSkeletonAnimationEnabled()
|
overridevirtual |
◆ SetSkeletonLocalTransforms()
|
overridevirtual |
◆ SetSkeletonWeights()
|
overridevirtual |
Set skeleton node weight.
- Parameters
-
[in] _weights Map of skeleton node's name to its weight - Map holding:
- Skeleton node names
- Weight the skeleton nodes
- Map holding:
Implements Mesh.
Reimplemented in Ogre2Mesh, and OgreMesh.
References std::endl(), Scene::Engine(), gzerr, and RenderEngine::Name().
◆ SkeletonAnimationEnabled()
|
overridevirtual |
◆ SkeletonLocalTransforms()
|
overridevirtual |
◆ SkeletonWeights()
|
overridevirtual |
◆ SubMeshByIndex()
|
overridevirtual |
Get sub-mesh at given index.
- Parameters
-
[in] _index Index of sub-mesh
- Returns
- The sub-mesh at the given index
Implements Mesh.
◆ SubMeshByName()
|
overridevirtual |
Get sub-mesh with given name.
- Parameters
-
[in] _name Name of sub-mesh
- Returns
- The sub-mesh with the given name
Implements Mesh.
◆ SubMeshCount()
|
overridevirtual |
◆ SubMeshes()
|
protectedpure virtual |
◆ UpdateSkeletonAnimation()
|
overridevirtual |
Member Data Documentation
◆ material
|
protected |
Pointer to currently assigned material.
◆ meshDescriptor
|
protected |
MeshDescriptor for this mesh.
◆ ownsMaterial
|
protected |
Flag to indicate whether or not this mesh should be responsible for destroying the material.
The documentation for this class was generated from the following file: