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.

mav_HBBObjectAdd
    adds object o to SMS s.

mav_HBBObjectRmv
    removes object o from SMS s.

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

mav_HBBPointerReset
    resets the SMS pointer to the start of the SMS.

mav_HBBObjectNext
    returns in o the object at the current pointer position in the SMS.

mav_HBBExecFn
    executes the callback function fn, passing it drawing information di.

mav_HBBSize
    returns in sz the number of objects in SMS s.