Panda3D
Classes | Public Member Functions | Static Public Member Functions
CLerpAnimEffectInterval Class Reference

This interval lerps between different amounts of control effects for various AnimControls that might be playing on an actor. More...

#include "cLerpAnimEffectInterval.h"

Inheritance diagram for CLerpAnimEffectInterval:
CLerpInterval CInterval TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase

List of all members.

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.

Detailed Description

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.


Member Function Documentation

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().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations