# tracks.cpp File Reference

`#include "tracks.h"`
`#include "readwrite.h"`
`#include "chunk.h"`
`#include "lib3ds_float.h"`
`#include "vector.h"`
`#include "quat.h"`
`#include <stdlib.h>`
`#include <string.h>`
`#include <math.h>`
`#include "config.h"`

Include dependency graph for tracks.cpp:

## Defines

#define | LIB3DS_EXPORT

## Functions

Lib3dsBoolKey * | lib3ds_bool_key_new ()
void | lib3ds_bool_key_free (Lib3dsBoolKey *key)
void | lib3ds_bool_track_free_keys (Lib3dsBoolTrack *track)
void | lib3ds_bool_track_insert (Lib3dsBoolTrack *track, Lib3dsBoolKey *key)
void | lib3ds_bool_track_remove (Lib3dsBoolTrack *track, Lib3dsIntd frame)
void | lib3ds_bool_track_eval (Lib3dsBoolTrack *track, Lib3dsBool *p, Lib3dsFloat t)
Lib3dsBool | lib3ds_bool_track_read (Lib3dsBoolTrack *track, FILE *f)
Lib3dsBool | lib3ds_bool_track_write (Lib3dsBoolTrack *track, FILE *f)
Lib3dsLin1Key * | lib3ds_lin1_key_new ()
void | lib3ds_lin1_key_free (Lib3dsLin1Key *key)
void | lib3ds_lin1_track_free_keys (Lib3dsLin1Track *track)
void | lib3ds_lin1_key_setup (Lib3dsLin1Key *p, Lib3dsLin1Key *cp, Lib3dsLin1Key *c, Lib3dsLin1Key *cn, Lib3dsLin1Key *n)
void | lib3ds_lin1_track_setup (Lib3dsLin1Track *track)
void | lib3ds_lin1_track_insert (Lib3dsLin1Track *track, Lib3dsLin1Key *key)
void | lib3ds_lin1_track_remove (Lib3dsLin1Track *track, Lib3dsIntd frame)
void | lib3ds_lin1_track_eval (Lib3dsLin1Track *track, Lib3dsFloat *p, Lib3dsFloat t)
Lib3dsBool | lib3ds_lin1_track_read (Lib3dsLin1Track *track, FILE *f)
Lib3dsBool | lib3ds_lin1_track_write (Lib3dsLin1Track *track, FILE *f)
Lib3dsLin3Key * | lib3ds_lin3_key_new ()
void | lib3ds_lin3_key_free (Lib3dsLin3Key *key)
void | lib3ds_lin3_track_free_keys (Lib3dsLin3Track *track)
void | lib3ds_lin3_key_setup (Lib3dsLin3Key *p, Lib3dsLin3Key *cp, Lib3dsLin3Key *c, Lib3dsLin3Key *cn, Lib3dsLin3Key *n)
void | lib3ds_lin3_track_setup (Lib3dsLin3Track *track)
void | lib3ds_lin3_track_insert (Lib3dsLin3Track *track, Lib3dsLin3Key *key)
void | lib3ds_lin3_track_remove (Lib3dsLin3Track *track, Lib3dsIntd frame)
void | lib3ds_lin3_track_eval (Lib3dsLin3Track *track, Lib3dsVector p, Lib3dsFloat t)
Lib3dsBool | lib3ds_lin3_track_read (Lib3dsLin3Track *track, FILE *f)
Lib3dsBool | lib3ds_lin3_track_write (Lib3dsLin3Track *track, FILE *f)
Lib3dsQuatKey * | lib3ds_quat_key_new ()
void | lib3ds_quat_key_free (Lib3dsQuatKey *key)
void | lib3ds_quat_track_free_keys (Lib3dsQuatTrack *track)
void | lib3ds_quat_key_setup (Lib3dsQuatKey *p, Lib3dsQuatKey *cp, Lib3dsQuatKey *c, Lib3dsQuatKey *cn, Lib3dsQuatKey *n)
void | lib3ds_quat_track_setup (Lib3dsQuatTrack *track)
void | lib3ds_quat_track_insert (Lib3dsQuatTrack *track, Lib3dsQuatKey *key)
void | lib3ds_quat_track_remove (Lib3dsQuatTrack *track, Lib3dsIntd frame)
void | lib3ds_quat_track_eval (Lib3dsQuatTrack *track, Lib3dsQuat q, Lib3dsFloat t)
Lib3dsBool | lib3ds_quat_track_read (Lib3dsQuatTrack *track, FILE *f)
Lib3dsBool | lib3ds_quat_track_write (Lib3dsQuatTrack *track, FILE *f)
Lib3dsMorphKey * | lib3ds_morph_key_new ()
void | lib3ds_morph_key_free (Lib3dsMorphKey *key)
void | lib3ds_morph_track_free_keys (Lib3dsMorphTrack *track)
void | lib3ds_morph_track_insert (Lib3dsMorphTrack *track, Lib3dsMorphKey *key)
void | lib3ds_morph_track_remove (Lib3dsMorphTrack *track, Lib3dsIntd frame)
void | lib3ds_morph_track_eval (Lib3dsMorphTrack *track, char *p, Lib3dsFloat t)
Lib3dsBool | lib3ds_morph_track_read (Lib3dsMorphTrack *, FILE *)
Lib3dsBool | lib3ds_morph_track_write (Lib3dsMorphTrack *, FILE *)

## Define Documentation

#define LIB3DS_EXPORT