76 typedef struct lqClientProxy2D
79 struct lqClientProxy2D* prev;
82 struct lqClientProxy2D* next;
85 struct lqClientProxy2D** bin;
101 typedef struct lqInternalDB2D
104 float originx, originy;
113 lqClientProxy2D** bins;
116 lqClientProxy2D* other;
136 lqInternalDB2D* lqCreateDatabase2D (
float originx,
float originy,
137 float sizex,
float sizey,
145 void lqDeleteDatabase2D (lqInternalDB2D*);
154 void lqInitClientProxy2D (lqClientProxy2D* proxy,
void* clientObject);
163 void lqUpdateForNewLocation (lqInternalDB2D* lq,
164 lqClientProxy2D*
object,
189 typedef void (* lqCallBackFunction2D) (
void* clientObject,
190 float distanceSquared,
191 void* clientQueryState);
194 void lqMapOverAllObjectsInLocality (lqInternalDB2D* lq,
196 float dirx,
float diry,
199 lqCallBackFunction2D func,
200 void* clientQueryState);
205 void lqTraverseBinClientObjectList(lqClientProxy2D*
object,
207 float dirx,
float diry,
210 lqCallBackFunction2D func,
211 void* clientQueryState);
230 void* lqFindNearestNeighborWithinRadius (lqInternalDB2D* lq,
232 float dirx,
float diry,
242 void lqAddToBin (lqClientProxy2D*
object, lqClientProxy2D** bin);
250 void lqRemoveFromBin (lqClientProxy2D*
object);
260 void lqInitDatabase2D (lqInternalDB2D* lq,
261 float originx,
float originy,
262 float sizex,
float sizey,
272 lqClientProxy2D** lqBinForLocation2D (lqInternalDB2D* lq,
float x,
float y);
279 void lqMapOverAllObjects (lqInternalDB2D* lq,
280 lqCallBackFunction2D func,
281 void* clientQueryState);
288 void lqRemoveAllObjects (lqInternalDB2D* lq);