Panda3D
|
This interval lerps between different amounts of control effects for various AnimControls that might be playing on an actor. More...
#include "cLerpAnimEffectInterval.h"
Classes | |
class | ControlDef |
Public Member Functions | |
CLerpAnimEffectInterval (const string &name, double duration, BlendType blend_type) | |
void | add_control (AnimControl *control, const string &name, float begin_effect, float end_effect) |
Adds another AnimControl to the list of AnimControls affected by the lerp. | |
virtual TypeHandle | force_init_type () |
virtual TypeHandle | get_type () const |
virtual void | output (ostream &out) const |
virtual void | priv_step (double t) |
Advances the time on the interval. | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. |
This interval lerps between different amounts of control effects for various AnimControls that might be playing on an actor.
It's used to change the blending amount between multiple animations.
The idea is to start all the animations playing first, then use a CLerpAnimEffectInterval to adjust the degree to which each animation affects the actor.
Definition at line 35 of file cLerpAnimEffectInterval.h.
void CLerpAnimEffectInterval::add_control | ( | AnimControl * | control, |
const string & | name, | ||
float | begin_effect, | ||
float | end_effect | ||
) | [inline] |
Adds another AnimControl to the list of AnimControls affected by the lerp.
This control will be lerped from begin_effect to end_effect over the period of the lerp.
The AnimControl name parameter is only used when formatting the interval for output.
Definition at line 40 of file cLerpAnimEffectInterval.I.
static void CLerpAnimEffectInterval::init_type | ( | ) | [inline, static] |
This function is declared non-inline to work around a compiler bug in g++ 2.96.
Making it inline seems to cause problems in the optimizer.
Reimplemented from CLerpInterval.
Definition at line 66 of file cLerpAnimEffectInterval.h.
References CLerpInterval::init_type().
void CLerpAnimEffectInterval::priv_step | ( | double | t | ) | [virtual] |
Advances the time on the interval.
The time may either increase (the normal case) or decrease (e.g. if the interval is being played by a slider).
Reimplemented from CInterval.
Definition at line 29 of file cLerpAnimEffectInterval.cxx.
References CInterval::check_started(), and CLerpInterval::compute_delta().