Jimcpp 2.1.0
Jimcpp is a high-performance c++ graphics engine.
|
Interface for an animated mesh. More...
#include <jimcpp/core/engine/IAnimatedMesh.hpp>
Public Member Functions | |
virtual u32 | getFrameCount () const =0 |
Gets the frame count of the animated mesh. | |
virtual f32 | getAnimationSpeed () const =0 |
Gets the animation speed of the animated mesh. | |
virtual void | setAnimationSpeed (f32 fps)=0 |
Sets the animation speed of the animated mesh. | |
virtual IMesh * | getMesh (s32 frame, s32 detailLevel=255, s32 startFrameLoop=-1, s32 endFrameLoop=-1)=0 |
Returns the IMesh interface for a frame. | |
virtual E_ANIMATED_MESH_TYPE | getMeshType () const override |
Returns the type of the animated mesh. | |
Public Member Functions inherited from jpp::scene::IMesh | |
virtual u32 | getMeshBufferCount () const =0 |
Get the amount of mesh buffers. | |
virtual IMeshBuffer * | getMeshBuffer (u32 nr) const =0 |
Get pointer to a mesh buffer. | |
virtual IMeshBuffer * | getMeshBuffer (const video::SMaterial &material) const =0 |
Get pointer to a mesh buffer which fits a material. | |
virtual const core::aabbox3d< f32 > & | getBoundingBox () const =0 |
Get an axis aligned bounding box of the mesh. | |
virtual void | setBoundingBox (const core::aabbox3df &box)=0 |
Set user-defined axis aligned bounding box. | |
virtual void | setMaterialFlag (video::E_MATERIAL_FLAG flag, bool newvalue)=0 |
Sets a flag of all contained materials to a new value. | |
virtual void | setHardwareMappingHint (E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0 |
Set the hardware mapping hint. | |
virtual void | setDirty (E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0 |
Flag the meshbuffer as changed, reloads hardware buffers. | |
Public Member Functions inherited from jpp::IReferenceCounted | |
IReferenceCounted () | |
Constructor. | |
virtual | ~IReferenceCounted () |
Destructor. | |
void | grab () const |
Grabs the object. Increments the reference counter by one. | |
bool | drop () const |
Drops the object. Decrements the reference counter by one. | |
s32 | getReferenceCount () const |
Get the reference count. | |
const c8 * | getDebugName () const |
Returns the debug name of the object. | |
Additional Inherited Members | |
Protected Member Functions inherited from jpp::IReferenceCounted | |
void | setDebugName (const c8 *newName) |
Sets the debug name of the object. | |
Interface for an animated mesh.
There are already simple implementations of this interface available so you don't have to implement this interface on your own if you need to: You might want to use jpp::scene::SAnimatedMesh, jpp::scene::SMesh, jpp::scene::SMeshBuffer etc.
|
pure virtual |
Gets the animation speed of the animated mesh.
Implemented in jpp::scene::SAnimatedMesh.
|
pure virtual |
Gets the frame count of the animated mesh.
Note that the play-time is usually getFrameCount()-1 as it stops as soon as the last frame-key is reached.
Implemented in jpp::scene::SAnimatedMesh.
|
pure virtual |
Returns the IMesh interface for a frame.
frame | Frame number as zero based index. The maximum frame number is getFrameCount() - 1; |
detailLevel | Level of detail. 0 is the lowest, 255 the highest level of detail. Most meshes will ignore the detail level. |
startFrameLoop | Because some animated meshes (.MD2) are blended between 2 static frames, and maybe animated in a loop, the startFrameLoop and the endFrameLoop have to be defined, to prevent the animation to be blended between frames which are outside of this loop. If startFrameLoop and endFrameLoop are both -1, they are ignored. |
endFrameLoop | see startFrameLoop. |
Implemented in jpp::scene::SAnimatedMesh.
|
inlineoverridevirtual |
Returns the type of the animated mesh.
In most cases it is not necessary to use this method. This is useful for making a safe downcast. For example, if getMeshType() returns EAMT_MD2 it's safe to cast the IAnimatedMesh to IAnimatedMeshMD2.
Reimplemented from jpp::scene::IMesh.
Reimplemented in jpp::scene::SAnimatedMesh.
|
pure virtual |
Sets the animation speed of the animated mesh.
fps | Number of frames per second to play the animation with by default. If the amount is 0, it is not animated. The actual speed is set in the scene node the mesh is instantiated in. |
Implemented in jpp::scene::SAnimatedMesh.