# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CAnimationPlaylist Class Reference

This class. More...

#include <animation_playlist.h>

Inheritance diagram for NL3D::CAnimationPlaylist

Inheritance graph
[legend]
Collaboration diagram for NL3D::CAnimationPlaylist:

Collaboration graph
[legend]
List of all members.

Public Types

enum  {
  empty = 0xffffffff
}
enum  TWrapMode {
  Clamp = 0,
  Repeat,
  Disable,
  WrapModeCount
}
 Wrap mode for the play list. More...


Public Methods

 CAnimationPlaylist ()
 Constructor. More...

void emptyPlayList ()
 Empty the playlist. More...

void setAnimation (uint8 slot, uint animation)
 Set the animation of a slot. More...

uint getAnimation (uint8 slot) const
 Get the animation of a slot. More...

void setSkeletonWeight (uint8 slot, uint skeletonId, bool inverted=false)
 Set the skeleton weight animation of a slot. More...

uint getSkeletonWeight (uint8 slot, bool &inverted) const
 Get the skeleton weight of a slot. More...

void setTimeOrigin (uint8 slot, CAnimationTime timeOrigin)
 Set animation time origin, ie, the time in the playlist for which slot time is the startTime of the slot animation. More...

CAnimationTime getTimeOrigin (uint8 slot) const
 Get animation time origin, ie, the time in the playlist for which slot time is the startTime of the slot animation. More...

void setSpeedFactor (uint8 slot, float speedFactor)
 Set animation speed factor. More...

float getSpeedFactor (uint8 slot) const
 Get animation speed factor. More...

void setStartWeight (uint8 slot, float startWeight, CAnimationTime time)
 Set animation start weight. More...

float getStartWeight (uint8 slot, CAnimationTime& time) const
 Get animation start weight. More...

void setEndWeight (uint8 slot, float endWeight, CAnimationTime time)
 Set animation end weight. More...

float getEndWeight (uint8 slot, CAnimationTime& time) const
 Get animation end weight. More...

void setWeightSmoothness (uint8 slot, float smoothness)
 Set weight smoothness. More...

float getWeightSmoothness (uint8 slot) const
 Get weight smoothness. More...

void setupMixer (CChannelMixer& mixer, CAnimationTime time) const
 Setup a channel mixer. More...

void setWrapMode (uint8 slot, TWrapMode wrapMode)
 Set the wrap mode to use in the play list. More...

TWrapMode getWrapMode (uint8 slot) const
 Get the wrap mode in use in the play list. More...

void serial (NLMISC::IStream& f)
 Serial. More...


Static Public Methods

float getWeightValue (float startWeightTime, float endWeightTime, float time, float startWeight, float endWeight, float smoothness)
 Static interpolation method of blend value. More...


Private Attributes

uint32 _Animations [CChannelMixer::NumAnimationSlot]
uint32 _SkeletonWeight [CChannelMixer::NumAnimationSlot]
bool _InvertWeight [CChannelMixer::NumAnimationSlot]
CAnimationTime _TimeOrigin [CChannelMixer::NumAnimationSlot]
float _SpeedFactor [CChannelMixer::NumAnimationSlot]
float _StartWeight [CChannelMixer::NumAnimationSlot]
CAnimationTime _StartWeightTime [CChannelMixer::NumAnimationSlot]
float _EndWeight [CChannelMixer::NumAnimationSlot]
CAnimationTime _EndWeightTime [CChannelMixer::NumAnimationSlot]
float _Smoothness [CChannelMixer::NumAnimationSlot]
TWrapMode _WrapMode [CChannelMixer::NumAnimationSlot]

Detailed Description

This class.

Author(s):
Cyril 'Hulud' Corvazier , Nevrax France
Date:
2001

Definition at line 43 of file animation_playlist.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
empty  

Definition at line 46 of file animation_playlist.h.

enum NL3D::CAnimationPlaylist::TWrapMode
 

Wrap mode for the play list.

Enumeration values:
Clamp   Clamp the animation time. (default).
Repeat   Repeat the animation.
Disable   Disable the animation.
WrapModeCount  

Definition at line 53 of file animation_playlist.h.


Constructor & Destructor Documentation

NL3D::CAnimationPlaylist::CAnimationPlaylist ( )
 

Constructor.

Definition at line 38 of file animation_playlist.cpp.


Member Function Documentation

void NL3D::CAnimationPlaylist::emptyPlayList ( )
 

Empty the playlist.

Each slot is set to its default value.

Definition at line 50 of file animation_playlist.cpp.

uint NL3D::CAnimationPlaylist::getAnimation ( uint8 slot ) const
 

Get the animation of a slot.

Default value is empty.

Parameters:
slot   is the id of the slot to set.
Returns:
the animation number in use in this slot. Return CAnimationPlaylist::empty if the slot is empty.

Definition at line 74 of file animation_playlist.cpp.

Referenced by CMainDlg::setSlot().

float NL3D::CAnimationPlaylist::getEndWeight ( uint8 slot,
CAnimationTime & time ) const
 

Get animation end weight.

Default value is 1.f.

Parameters:
slot   is the id to get the slot.
time   will get the playlist time for which the start weight is set. Default is 0.f.
Returns:
the end weight used in the slot.

Definition at line 149 of file animation_playlist.cpp.

Referenced by CMainDlg::setSlot().

uint NL3D::CAnimationPlaylist::getSkeletonWeight ( uint8 slot,
bool & inverted ) const
 

Get the skeleton weight of a slot.

Default value is empty.

Parameters:
slot   is the id of the slot to set.
inverted   will receive the invert flag.
Returns:
the skeleton weight number in use in this slot. Return CAnimationPlaylist::empty if the slot is empty.

Definition at line 89 of file animation_playlist.cpp.

Referenced by CMainDlg::setSlot().

float NL3D::CAnimationPlaylist::getSpeedFactor ( uint8 slot ) const
 

Get animation speed factor.

Default value is 1.f.

Parameters:
slot   is the id to get the slot.
Returns:
the speed factor used in the slot.

Definition at line 118 of file animation_playlist.cpp.

Referenced by CMainDlg::setSlot().

float NL3D::CAnimationPlaylist::getStartWeight ( uint8 slot,
CAnimationTime & time ) const
 

Get animation start weight.

Default value is 1.f.

Parameters:
slot   is the id to get the slot.
time   will get the playlist time for which the start weight is set. Default is 0.f.
Returns:
the start weight used in the slot.

Definition at line 133 of file animation_playlist.cpp.

Referenced by CMainDlg::setSlot().

CAnimationTime NL3D::CAnimationPlaylist::getTimeOrigin ( uint8 slot ) const
 

Get animation time origin, ie, the time in the playlist for which slot time is the startTime of the slot animation.

Default value is 0.f.

Parameters:
slot   is the id to get the slot.
Returns:
time origin used in the slot.

Definition at line 104 of file animation_playlist.cpp.

Referenced by CMainDlg::setSlot().

float NL3D::CAnimationPlaylist::getWeightSmoothness ( uint8 slot ) const
 

Get weight smoothness.

This is the smoothness of the weight interpolation. Must be between 0.f and 1.f. 0.f is a sharp interpolation (linear), 1.f is a smooth interpolation (quadratic). Default value is 0.f.

Parameters:
slot   is the id of the slot to set.
Returns:
the smoothness value.

Definition at line 164 of file animation_playlist.cpp.

Referenced by CMainDlg::setSlot().

float NL3D::CAnimationPlaylist::getWeightValue ( float startWeightTime,
float endWeightTime,
float time,
float startWeight,
float endWeight,
float smoothness ) [static]
 

Static interpolation method of blend value.

Parameters:
startBlendTime   is the time when the blend starts.
endBlendTime   is the time when the blend ends.
time   is the current time.
startBlend   is the blend value at start.
endBlend   is the blend value at end.
smoothness   is the smoothnes value. (Must be between 0 and 1)

Definition at line 264 of file animation_playlist.cpp.

CAnimationPlaylist::TWrapMode NL3D::CAnimationPlaylist::getWrapMode ( uint8 slot ) const
 

Get the wrap mode in use in the play list.

Wrap mode tells the play list how to use an animation when current time is not in the animation.

Returns:
the wrap mode in use.

Definition at line 303 of file animation_playlist.cpp.

Referenced by CMainDlg::setSlot().

void NL3D::CAnimationPlaylist::serial ( NLMISC::IStream & f )
 

Serial.

Definition at line 310 of file animation_playlist.cpp.

void NL3D::CAnimationPlaylist::setAnimation ( uint8 slot,
uint animation )
 

Set the animation of a slot.

Default value is empty.

Parameters:
slot   is the id of the slot to set.
animation   is the animation number to use in this slot. To empty the slot, use CAnimationPlaylist::empty.

Definition at line 67 of file animation_playlist.cpp.

Referenced by CMainDlg::getSlot().

void NL3D::CAnimationPlaylist::setEndWeight ( uint8 slot,
float endWeight,
CAnimationTime time )
 

Set animation end weight.

This is the weight for this animation use at the end of the animation slot. Default value is 1.f.

Parameters:
slot   is the id of the slot to set.
time   is the playlist time for which the start weight is set. Default is 1.f.
endWeight   is the factor to use in this slot.

Definition at line 141 of file animation_playlist.cpp.

Referenced by CMainDlg::getSlot().

void NL3D::CAnimationPlaylist::setSkeletonWeight ( uint8 slot,
uint skeletonId,
bool inverted = false )
 

Set the skeleton weight animation of a slot.

Default value is empty.

Parameters:
slot   is the id of the slot to set.
skeletonId   is the skeleton weight number to use in this slot. To empty the slot, use CAnimationPlaylist::empty.
inverted   is false if the weights must be used as they are, true if the weights to used are 1.f - weight.

Definition at line 81 of file animation_playlist.cpp.

Referenced by CMainDlg::getSlot().

void NL3D::CAnimationPlaylist::setSpeedFactor ( uint8 slot,
float speedFactor )
 

Set animation speed factor.

Default value is 1.f.

Parameters:
slot   is the id of the slot to set.
speedFactor   is the factor to use in this slot. The animation will go speedFactor* faster.

Definition at line 111 of file animation_playlist.cpp.

Referenced by CMainDlg::getSlot().

void NL3D::CAnimationPlaylist::setStartWeight ( uint8 slot,
float startWeight,
CAnimationTime time )
 

Set animation start weight.

This is the weight for this animation use at the beginning of the animation slot. Default value is 1.f.

Parameters:
slot   is the id of the slot to set.
startWeight   is the factor to use in this slot.
time   is the playlist time for which the start weight is set. Default is 0.f.

Definition at line 125 of file animation_playlist.cpp.

Referenced by CMainDlg::getSlot().

void NL3D::CAnimationPlaylist::setTimeOrigin ( uint8 slot,
CAnimationTime timeOrigin )
 

Set animation time origin, ie, the time in the playlist for which slot time is the startTime of the slot animation.

Default value is 0.f.

Parameters:
slot   is the id of the slot to set.
timeOrigin   time origin to use in the slot.

Definition at line 97 of file animation_playlist.cpp.

Referenced by CMainDlg::getSlot().

void NL3D::CAnimationPlaylist::setWeightSmoothness ( uint8 slot,
float smoothness )
 

Set weight smoothness.

This is the smoothness of the weight interpolation. Must be between 0.f and 1.f. 0.f is a sharp interpolation (linear), 1.f is a smooth interpolation (quadratic). Default value is 0.f.

Parameters:
slot   is the id of the slot to set.
smoothness   is the smoothness value.

Definition at line 157 of file animation_playlist.cpp.

Referenced by CMainDlg::getSlot().

void NL3D::CAnimationPlaylist::setWrapMode ( uint8 slot,
TWrapMode wrapMode )
 

Set the wrap mode to use in the play list.

Wrap mode tells the play list how to use an animation when current time is not in the animation.

Parameters:
wrapMode   is the mode to use.

Definition at line 296 of file animation_playlist.cpp.

Referenced by CMainDlg::getSlot().

void NL3D::CAnimationPlaylist::setupMixer ( CChannelMixer & mixer,
CAnimationTime time ) const
 

Setup a channel mixer.

For each slot, it sets : * the animation id used by the slot. * the animation time according with the begin time of each slot, the speed factor of each slot and the current time passed in parameter. * the skeleton weight id. * the weight interpolated with the start and end values. The weight value are clamped before and after the animation.

Definition at line 171 of file animation_playlist.cpp.


Member Data Documentation

uint32 NL3D::CAnimationPlaylist::_Animations[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 254 of file animation_playlist.h.

float NL3D::CAnimationPlaylist::_EndWeight[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 275 of file animation_playlist.h.

CAnimationTime NL3D::CAnimationPlaylist::_EndWeightTime[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 278 of file animation_playlist.h.

bool NL3D::CAnimationPlaylist::_InvertWeight[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 260 of file animation_playlist.h.

uint32 NL3D::CAnimationPlaylist::_SkeletonWeight[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 257 of file animation_playlist.h.

float NL3D::CAnimationPlaylist::_Smoothness[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 281 of file animation_playlist.h.

float NL3D::CAnimationPlaylist::_SpeedFactor[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 266 of file animation_playlist.h.

float NL3D::CAnimationPlaylist::_StartWeight[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 269 of file animation_playlist.h.

CAnimationTime NL3D::CAnimationPlaylist::_StartWeightTime[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 272 of file animation_playlist.h.

CAnimationTime NL3D::CAnimationPlaylist::_TimeOrigin[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 263 of file animation_playlist.h.

TWrapMode NL3D::CAnimationPlaylist::_WrapMode[CChannelMixer::NumAnimationSlot] [private]
 

Definition at line 284 of file animation_playlist.h.


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