File EntityQuadTree.h
File List > engine > include > EntityQuadTree.h
Go to the documentation of this file
#ifndef ENTITY2DQUADTREE_H
#define ENTITY2DQUADTREE_H
#include "HandleDefs.h"
#include "Entities.h"
#include <cglm/cglm.h>
#define VECTOR(a) a*
struct GameFrameworkLayer;
struct Entity2DCollection;
struct Entity2DQuadTreeInitArgs
{
int x;
int y;
int w;
int h;
};
void InitEntity2DQuadtreeSystem();
HEntity2DQuadtreeNode GetEntity2DQuadTree(struct Entity2DQuadTreeInitArgs* args);
void DestroyEntity2DQuadTree(HEntity2DQuadtreeNode quadTree);
HEntity2DQuadtreeEntityRef Entity2DQuadTree_Insert(struct Entity2DCollection* pCollection, HEntity2DQuadtreeNode quadTree, HEntity2D hEnt, struct GameFrameworkLayer* pLayer, int depth, int maxDepth);
void Entity2DQuadTree_Remove(HEntity2DQuadtreeNode quadTree, HEntity2DQuadtreeEntityRef ent);
VECTOR(HEntity2D) Entity2DQuadTree_Query(HEntity2DQuadtreeNode quadTree, vec2 regionTL, vec2 regionBR, VECTOR(HEntity2D) outEntities, struct Entity2DCollection* pCollection, struct GameFrameworkLayer* pLayer);
void Entity2DQuadTree_GetDims(HEntity2DQuadtreeNode quadTree, vec2 tl, float* w, float* h);
#endif