#include <BaseMesh.hh>
Public Member Functions | |
virtual | ~BaseMesh () |
virtual GeometryPtr | Clone () const override |
Clone the geometry. | |
const MeshDescriptor & | Descriptor () const override |
Get the mesh's mesh descriptor. | |
virtual void | Destroy () override |
Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior. | |
virtual bool | HasSkeleton () const override |
Check whether the mesh has skeleton. | |
virtual bool | HasSubMesh (ConstSubMeshPtr _subMesh) const override |
Determine if has given sub-mesh. | |
virtual bool | HasSubMeshName (const std::string &_name) const override |
Determine if has sub-mesh with given name. | |
virtual MaterialPtr | Material () const override |
Get the material of this geometry. | |
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. | |
void | SetDescriptor (const MeshDescriptor &_desc) override |
Set the mesh's descriptor. | |
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. | |
virtual void | SetMaterial (MaterialPtr _material, bool _unique=true) override |
Set the materials of this Geometry. | |
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. | |
virtual void | SetSkeletonLocalTransforms (const std::map< std::string, math::Matrix4d > &_tfs) override |
Set transforms for the skeleton. | |
virtual void | SetSkeletonWeights (const std::unordered_map< std::string, float > &_weights) override |
Set skeleton node weight. | |
virtual bool | SkeletonAnimationEnabled (const std::string &_name) const override |
Get whether a skeleton animation is enabled or not. | |
virtual std::map< std::string, math::Matrix4d > | SkeletonLocalTransforms () const override |
Get the skeleton local transforms. | |
virtual std::unordered_map< std::string, float > | SkeletonWeights () const override |
Get skeleton node weight. | |
virtual SubMeshPtr | SubMeshByIndex (unsigned int _index) const override |
Get sub-mesh at given index. | |
virtual SubMeshPtr | SubMeshByName (const std::string &_name) const override |
Get sub-mesh with given name. | |
virtual unsigned int | SubMeshCount () const override |
Get the sub-mesh count. | |
virtual void | UpdateSkeletonAnimation (std::chrono::steady_clock::duration _time) override |
Play the active skeleton animation to the specified time. | |
Public Member Functions inherited from Mesh | |
virtual | ~Mesh () |
Destructor. | |
Public Member Functions inherited from Geometry | |
virtual | ~Geometry () |
Destructor. | |
virtual bool | HasParent () const =0 |
Determine if this Geometry is attached to a Visual. | |
virtual VisualPtr | Parent () const =0 |
Get the parent Visual. | |
virtual void | RemoveParent ()=0 |
Detach this Geometry from its parent Visual. If this Geometry does not have a parent, no work will be done. | |
Public Member Functions inherited from Object | |
virtual | ~Object () |
Destructor. | |
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. | |
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. | |
virtual void | PostRender ()=0 |
Post process this object and any of its children after rendering. | |
virtual ScenePtr | Scene () const =0 |
Get the Scene that created this object. | |
Protected Member Functions | |
BaseMesh () | |
virtual SubMeshStorePtr | SubMeshes () const =0 |
Protected Attributes | |
MaterialPtr | material |
Pointer to currently assigned material. | |
MeshDescriptor | meshDescriptor |
MeshDescriptor for this mesh. | |
bool | ownsMaterial = false |
Flag to indicate whether or not this mesh should be responsible for destroying the material. | |
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 OgreMesh, and Ogre2Mesh.
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 OgreMesh, and Ogre2Mesh.
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: