Worlds
[libstage - Stage library API]


Detailed Description

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


Functions

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)
void stg_world_stop (stg_world_t *world)
void stg_world_start (stg_world_t *world)
int stg_world_update (stg_world_t *world, int sleepflag)
void stg_world_load (stg_world_t *mod)
void stg_world_save (stg_world_t *mod)
void stg_world_print (stg_world_t *world)
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)
stg_model_tstg_world_get_model (stg_world_t *world, stg_id_t mid)
stg_model_tstg_world_model_name_lookup (stg_world_t *world, const char *name)
void stg_world_add_property_callback (stg_world_t *world, char *propname, stg_property_callback_t callback, void *userdata)
void stg_world_remove_property_callback (stg_world_t *world, char *propname, stg_property_callback_t callback)

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  ) 
 

typestr,

void stg_world_destroy stg_world_t world  ) 
 

Destroy a world and everything it contains

void stg_world_stop stg_world_t world  ) 
 

Stop the world clock

void stg_world_start stg_world_t world  ) 
 

Start 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.

void stg_world_load stg_world_t mod  ) 
 

configure the world by reading from the current world file

void stg_world_save stg_world_t mod  ) 
 

save the state of the world to the current world file

void stg_world_print stg_world_t world  ) 
 

print human-readable information about the world on stdout

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.

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].

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_add_property_callback stg_world_t world,
char *  propname,
stg_property_callback_t  callback,
void *  userdata
 

install a property callback on every model in the world that CURRENTLY has this property set. Calls stg_model_add_property_callback() on each model in the world.

void stg_world_remove_property_callback stg_world_t world,
char *  propname,
stg_property_callback_t  callback
 

remove a property callback from every model in the world that has this property set. Calls stg_model_remove_property_callback() on each model in the world.


Generated on Thu Aug 11 13:08:10 2005 for Stage by  doxygen 1.4.0