File EntityQuadtree.c

FileList > engine > src > gameframework > layers > Game2D > EntitySystem > EntityQuadtree.c

Go to the source code of this file

  • #include "EntityQuadTree.h"
  • #include "ObjectPool.h"
  • #include "Entities.h"
  • #include "AssertLib.h"
  • #include "Geometry.h"
  • #include "Game2DLayer.h"
  • #include "GameFramework.h"

Classes

Type Name
struct Entity2DQuadTreeEntityRef
struct Entity2DQuadtreeNode

Public Types

Type Name
enum Entity2DQuadtreeQuadrant

Public Functions

Type Name
void DestroyEntity2DQuadTree (HEntity2DQuadtreeNode quadTree)
void Entity2DQuadTree_GetDims (HEntity2DQuadtreeNode quadTree, vec2 tl, float * w, float * h)
HEntity2DQuadtreeEntityRef Entity2DQuadTree_Insert (struct Entity2DCollection * pCollection, HEntity2DQuadtreeNode quadTree, HEntity2D hEnt, struct GameFrameworkLayer * pLayer, int depth, int maxDepth)
void Entity2DQuadTree_Remove (HEntity2DQuadtreeNode quadTree, HEntity2DQuadtreeEntityRef ent)
HEntity2DQuadtreeNode GetEntity2DQuadTree (struct Entity2DQuadTreeInitArgs * args)
void InitEntity2DQuadtreeSystem ()
VECTOR (HEntity2D)

Public Static Functions

Type Name
bool IsContainedWithin (vec2 quadrantTL, vec2 quadrantBR, vec2 rectTL, vec2 rectBR)
void NewQuadTreeEntityRef (HEntity2D hEnt, struct Entity2DQuadTreeEntityRef * pRef)
void NewQuadtreeNode (int x, int y, int w, int h, struct Entity2DQuadtreeNode * pNode)
static OBJECT_POOL (struct Entity2DQuadtreeNode)

Public Types Documentation

enum Entity2DQuadtreeQuadrant

enum Entity2DQuadtreeQuadrant {
    Quadtree_TL,
    Quadtree_TR,
    Quadtree_BL,
    Quadtree_BR
};

Public Functions Documentation

function DestroyEntity2DQuadTree

void DestroyEntity2DQuadTree (
    HEntity2DQuadtreeNode quadTree
) 

function Entity2DQuadTree_GetDims

void Entity2DQuadTree_GetDims (
    HEntity2DQuadtreeNode quadTree,
    vec2 tl,
    float * w,
    float * h
) 

function Entity2DQuadTree_Insert

HEntity2DQuadtreeEntityRef Entity2DQuadTree_Insert (
    struct Entity2DCollection * pCollection,
    HEntity2DQuadtreeNode quadTree,
    HEntity2D hEnt,
    struct GameFrameworkLayer * pLayer,
    int depth,
    int maxDepth
) 

function Entity2DQuadTree_Remove

void Entity2DQuadTree_Remove (
    HEntity2DQuadtreeNode quadTree,
    HEntity2DQuadtreeEntityRef ent
) 

function GetEntity2DQuadTree

HEntity2DQuadtreeNode GetEntity2DQuadTree (
    struct Entity2DQuadTreeInitArgs * args
) 

function InitEntity2DQuadtreeSystem

void InitEntity2DQuadtreeSystem () 

function VECTOR

VECTOR (
    HEntity2D
) 

Public Static Functions Documentation

function IsContainedWithin

static bool IsContainedWithin (
    vec2 quadrantTL,
    vec2 quadrantBR,
    vec2 rectTL,
    vec2 rectBR
) 

function NewQuadTreeEntityRef

static void NewQuadTreeEntityRef (
    HEntity2D hEnt,
    struct Entity2DQuadTreeEntityRef * pRef
) 

function NewQuadtreeNode

static void NewQuadtreeNode (
    int x,
    int y,
    int w,
    int h,
    struct Entity2DQuadtreeNode * pNode
) 

function OBJECT_POOL

static static OBJECT_POOL (
    struct Entity2DQuadtreeNode
) 


The documentation for this class was generated from the following file /home/runner/work/2DFarmingRPG/2DFarmingRPG/Stardew/engine/src/gameframework/layers/Game2D/EntitySystem/EntityQuadtree.c