/aoi

Area of Interest Library

Primary LanguageC

Area of Interest

/* 
 * update an aoi object.
 * "w" : watcher
 * "m" : marker
 * "wm" : watcher and marker
 * "d" : drop an object
 */
void aoi_update(struct aoi_space * space , uint32_t id, const char * mode , float pos[3]);

/*
 * define a callback function first, and call aoi_message in your timer or main loop.
 */
void aoi_message(struct aoi_space *space, aoi_Callback cb, void *ud);

/*
 * You can define your own allocator for each independent space.
 * typedef void * (*aoi_Alloc)(void *ud, void * ptr, size_t sz);
 */
struct aoi_space * aoi_create(aoi_Alloc alloc, void *ud);
void aoi_release(struct aoi_space *);

/*
 * You can use the default allocator
 */
struct aoi_space * aoi_new();

See test.c for example.

See http://blog.codingnow.com/2012/03/dev_note_13.html for algorithm (In chinese) .