[libstage API reference]

Detailed Description

Implements a world - a collection of models and a matrix.

Data Structures

struct  stg_world_t


stg_world_tstg_world_create (stg_id_t id, const char *token, int sim_interval, int real_interval, double ppm, double width, double height)
stg_world_tstg_world_create_from_file (const char *worldfile_path)
void stg_world_destroy (stg_world_t *world)
stg_model_tstg_world_get_model (stg_world_t *world, stg_id_t mid)
void stg_world_load (stg_world_t *mod)
stg_model_tstg_world_model_name_lookup (stg_world_t *world, const char *name)
void stg_world_print (stg_world_t *world)
void stg_world_save (stg_world_t *mod)
void stg_world_set_interval_real (stg_world_t *world, unsigned int val)
void stg_world_set_interval_sim (stg_world_t *world, unsigned int val)
void stg_world_start (stg_world_t *world)
void stg_world_stop (stg_world_t *world)
int stg_world_update (stg_world_t *world, int sleepflag)

Function Documentation

stg_world_t* stg_world_create stg_id_t  id,
const char *  token,
int  sim_interval,
int  real_interval,
double  ppm,
double  width,
double  height

Create a new world, to be configured and populated manually. Usually this function is not used directly; use the function stg_world_create_from_file() to create a world based on a worldfile instead.

stg_world_t* stg_world_create_from_file const char *  worldfile_path  ) 

Create a new world as described in the worldfile [worldfile_path]

void stg_world_destroy stg_world_t world  ) 

Destroy a world and everything it contains

stg_model_t* stg_world_get_model stg_world_t world,
stg_id_t  mid

look up a pointer to a model in [world] from the model's unique ID [mid].

void stg_world_load stg_world_t mod  ) 

configure the world by reading from the current world file

stg_model_t* stg_world_model_name_lookup stg_world_t world,
const char *  name

look up a pointer to a model from from the model's name.

void stg_world_print stg_world_t world  ) 

print human-readable information about the world on stdout

void stg_world_save stg_world_t mod  ) 

save the state of the world to the current world file

void stg_world_set_interval_real stg_world_t world,
unsigned int  val

Set the duration in milliseconds of each simulation update step

void stg_world_set_interval_sim stg_world_t world,
unsigned int  val

Set the real time in intervals that Stage should attempt to take for each simulation update step. If Stage has too much computation to do, it might take longer than this.

void stg_world_start stg_world_t world  ) 

Start the world clock

void stg_world_stop stg_world_t world  ) 

Stop the world clock

int stg_world_update stg_world_t world,
int  sleepflag

Run one simulation step in world [world]. If [sleepflag] is non-zero, and the simulation update takes less than one real-time step, the simulation will nanosleep() for a while to reduce CPU load. Returns 0 if all is well, or a positive error code.

Generated on Thu Dec 13 13:55:22 2007 for Stage by  doxygen 1.4.6