All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lib3ds_track.c File Reference
#include "lib3ds_impl.h"

Go to the source code of this file.


static int find_index (Lib3dsTrack *track, float t, float *u)
void lib3ds_track_eval_bool (Lib3dsTrack *track, int *b, float t)
void lib3ds_track_eval_float (Lib3dsTrack *track, float *f, float t)
void lib3ds_track_eval_quat (Lib3dsTrack *track, float q[4], float t)
void lib3ds_track_eval_vector (Lib3dsTrack *track, float v[3], float t)
void lib3ds_track_free (Lib3dsTrack *track)
Lib3dsTracklib3ds_track_new (Lib3dsTrackType type, int nkeys)
void lib3ds_track_read (Lib3dsTrack *track, Lib3dsIo *io)
void lib3ds_track_resize (Lib3dsTrack *track, int nkeys)
void lib3ds_track_write (Lib3dsTrack *track, Lib3dsIo *io)
static void pos_key_setup (int n, Lib3dsKey *pp, Lib3dsKey *pc, Lib3dsKey *pn, float *dd, float *ds)
static void quat_for_index (Lib3dsTrack *track, int index, float q[4])
static void rot_key_setup (Lib3dsKey *prev, Lib3dsKey *cur, Lib3dsKey *next, float a[4], float b[4])
static void setup_segment (Lib3dsTrack *track, int index, Lib3dsKey *pp, Lib3dsKey *p0, Lib3dsKey *p1, Lib3dsKey *pn)
static void tcb_read (Lib3dsKey *key, Lib3dsIo *io)
void tcb_write (Lib3dsKey *key, Lib3dsIo *io)
static void track_eval_linear (Lib3dsTrack *track, float *value, float t)

Function Documentation

static int find_index ( Lib3dsTrack track,
float  t,
float *  u 
static void pos_key_setup ( int  n,
Lib3dsKey pp,
Lib3dsKey pc,
Lib3dsKey pn,
float *  dd,
float *  ds 
static void quat_for_index ( Lib3dsTrack track,
int  index,
float  q[4] 
static void track_eval_linear ( Lib3dsTrack track,
float *  value,
float  t