mav_HBBObjectAdd(3)

NAME
mav_HBBObjectAdd - SMS management: Hierachical Bounding Volume.

LEVEL
Maverik Level 3

SYNTAX
int mav_HBBObjectAdd(MAV_SMS *s, MAV_object *o);

int mav_HBBObjectRmv(MAV_SMS *s, MAV_object *o);

int mav_HBBIntersect(MAV_SMS *s, MAV_window *w, MAV_line *ln, MAV_objectIntersection *oi, MAV_object **o);

int mav_HBBPointerReset(MAV_SMS *s);

int mav_HBBPointerPush(MAV_SMS *s);

int mav_HBBPointerPop(MAV_SMS *s);

int mav_HBBObjectNext(MAV_SMS *s, MAV_object **o);

int mav_HBBExecFn(MAV_SMS *s, MAV_drawInfo *di, MAV_SMSExecFn *fn);

int mav_HBBSize(MAV_SMS *s, int *sz);

int mav_HBBEmpty(MAV_SMS *s, int *o);

int mav_HBBDelete(MAV_SMS *s, int *o);

void mav_HBBConstructFromSMS(MAV_SMS *target, MAV_SMS *from);

DESCRIPTION
These are the callback routines for the HBB class of SMS. Each of these functions is registered for an SMS of this class on Maverik initialisation. adds object o to SMS s. removes object o from SMS s. returns in o the object in the SMS with the closest intersection with line ln. If an intersection is detected, the closest intersection point is returned in oi, and the result of the function is MAV_TRUE. If no intersection is detected, the result of the function is MAV_FALSE. resets the SMS pointer to the start of the SMS. returns in o the object at the current pointer position in the SMS. executes the callback function fn, passing it drawing information di. returns in sz the number of objects in SMS s.