Ignition Rendering

API Reference

5.0.0

Ogre2.x implementation of the mesh class. More...

#include <Ogre2Mesh.hh>

Public Member Functions

virtual ~Ogre2Mesh ()
 Destructor. 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 Ogre::MovableObject * OgreObject () const override
 Get the ogre object representing 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 > &_weight) 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::Matrix4dSkeletonLocalTransforms () const override
 Get the skeleton local transforms. More...
 
virtual std::unordered_map< std::string, float > SkeletonWeights () const override
 Get skeleton node weight. 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 BaseMesh< Ogre2Geometry >
virtual ~BaseMesh ()
 
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...
 
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 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...
 
- Public Member Functions inherited from Mesh
virtual ~Mesh ()
 Destructor. More...
 
- Public Member Functions inherited from Geometry
virtual ~Geometry ()
 Destructor. 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...
 
- Public Member Functions inherited from Ogre2Geometry
virtual ~Ogre2Geometry ()
 Destructor. More...
 
virtual bool HasParent () const override
 Determine if this Geometry is attached to a Visual. More...
 
virtual VisualPtr Parent () const override
 Get the parent Visual. More...
 
- Public Member Functions inherited from BaseGeometry< Ogre2Object >
virtual ~BaseGeometry ()
 
virtual void RemoveParent () override
 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 Ogre2Object
virtual ~Ogre2Object ()
 Destructor. More...
 
virtual ScenePtr Scene () const override
 
- Public Member Functions inherited from BaseObject
virtual ~BaseObject ()
 
virtual unsigned int Id () const override
 
virtual std::string Name () const override
 
virtual void PostRender () override
 

Protected Member Functions

 Ogre2Mesh ()
 Constructor. More...
 
virtual SubMeshStorePtr SubMeshes () const override
 Get a list of submeshes in this mesh. More...
 
- Protected Member Functions inherited from BaseMesh< Ogre2Geometry >
 BaseMesh ()
 
- Protected Member Functions inherited from Ogre2Geometry
 Ogre2Geometry ()
 Constructor. More...
 
virtual void SetParent (Ogre2VisualPtr _parent)
 Set the parent of this ogre geometry. More...
 
- Protected Member Functions inherited from BaseGeometry< Ogre2Object >
 BaseGeometry ()
 
- Protected Member Functions inherited from Ogre2Object
 Ogre2Object ()
 Constructor. More...
 
- Protected Member Functions inherited from BaseObject
 BaseObject ()
 
virtual void Init ()
 
virtual void Load ()
 

Protected Attributes

Ogre::Item * ogreItem = nullptr
 Pointer to the ogre item object. More...
 
Ogre2SubMeshStorePtr subMeshes
 Store containing all the submeshes. More...
 
- Protected Attributes inherited from BaseMesh< Ogre2Geometry >
MaterialPtr material
 Pointer to currently assigned material. More...
 
bool ownsMaterial
 Flag to indicate whether or not this mesh should be responsible for destroying the material. More...
 
- Protected Attributes inherited from Ogre2Geometry
Ogre2VisualPtr parent
 Parent visual. More...
 
- Protected Attributes inherited from Ogre2Object
Ogre2ScenePtr scene
 Pointer to the ogre scene. More...
 
- Protected Attributes inherited from BaseObject
unsigned int id
 
std::string name
 

Detailed Description

Ogre2.x implementation of the mesh class.

Constructor & Destructor Documentation

◆ Ogre2Mesh()

Ogre2Mesh ( )
protected

Constructor.

◆ ~Ogre2Mesh()

virtual ~Ogre2Mesh ( )
virtual

Destructor.

Member Function Documentation

◆ Destroy()

virtual void Destroy ( )
overridevirtual

Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior.

Reimplemented from BaseMesh< Ogre2Geometry >.

◆ HasSkeleton()

virtual bool HasSkeleton ( ) const
overridevirtual

Check whether the mesh has skeleton.

Returns
True if the mesh has skeleton

Reimplemented from BaseMesh< Ogre2Geometry >.

◆ OgreObject()

virtual Ogre::MovableObject* OgreObject ( ) const
overridevirtual

Get the ogre object representing this geometry.

Returns
Pointer to an ogre movable object

Implements Ogre2Geometry.

◆ SetSkeletonAnimationEnabled()

virtual void SetSkeletonAnimationEnabled ( const std::string _name,
bool  _enabled,
bool  _loop = true,
float  _weight = 1.0 
)
overridevirtual

Set whether a skeleton animation should be enabled or not.

Parameters
[in]_nameName of animation
[in]_enabledTrue to enable animation, false to disable
[in]_loopTrue to loop animation
[in]_weightWeight of animation

Reimplemented from BaseMesh< Ogre2Geometry >.

◆ SetSkeletonLocalTransforms()

virtual void SetSkeletonLocalTransforms ( const std::map< std::string, math::Matrix4d > &  )
overridevirtual

Set transforms for the skeleton.

Parameters
[in]_tfsMap of skeleton local transformations
  • Map holding:
    • Skeleton node names
    • Local transformations of the skeleton nodes

Reimplemented from BaseMesh< Ogre2Geometry >.

◆ SetSkeletonWeights()

virtual void SetSkeletonWeights ( const std::unordered_map< std::string, float > &  )
overridevirtual

Set skeleton node weight.

Parameters
[in]_weightsMap of skeleton node's name to its weight
  • Map holding:
    • Skeleton node names
    • Weight the skeleton nodes

Reimplemented from BaseMesh< Ogre2Geometry >.

◆ SkeletonAnimationEnabled()

virtual bool SkeletonAnimationEnabled ( const std::string _name) const
overridevirtual

Get whether a skeleton animation is enabled or not.

Parameters
[in]_nameName of animation
Returns
True is the skeleton animation is enabled, false otherwise

Reimplemented from BaseMesh< Ogre2Geometry >.

◆ SkeletonLocalTransforms()

virtual std::map<std::string, math::Matrix4d> SkeletonLocalTransforms ( ) const
overridevirtual

Get the skeleton local transforms.

Returns
Map of skeleton local transformations
  • Map holding:
    • Skeleton node names
    • Local transformations of the skeleton nodes

Reimplemented from BaseMesh< Ogre2Geometry >.

◆ SkeletonWeights()

virtual std::unordered_map<std::string, float> SkeletonWeights ( ) const
overridevirtual

Get skeleton node weight.

Returns
Map of skeleton node name to its weight
  • Map holding:
    • Skeleton node names
    • Weight the skeleton nodes

Reimplemented from BaseMesh< Ogre2Geometry >.

◆ SubMeshes()

virtual SubMeshStorePtr SubMeshes ( ) const
overrideprotectedvirtual

Get a list of submeshes in this mesh.

Implements BaseMesh< Ogre2Geometry >.

◆ UpdateSkeletonAnimation()

virtual void UpdateSkeletonAnimation ( std::chrono::steady_clock::duration  _time)
overridevirtual

Play the active skeleton animation to the specified time.

Parameters
[in]_timeTime to set the skeleton animation to

Reimplemented from BaseMesh< Ogre2Geometry >.

Member Data Documentation

◆ ogreItem

Ogre::Item* ogreItem = nullptr
protected

Pointer to the ogre item object.

◆ subMeshes

Ogre2SubMeshStorePtr subMeshes
protected

Store containing all the submeshes.


The documentation for this class was generated from the following file: