载入中...
搜索中...
未找到
Spatial.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Module.h"
4
5namespace eve::spatial {
6
7class QuadTree;
8class Octree;
9class SpatialHash2D;
10class SpatialHash3D;
11class BSPTree2D;
12class BSPTree3D;
13
21class Spatial : public Module {
22public:
24 Spatial() = default;
25 ~Spatial() override = default;
26
27 QuadTree *newQuadTree(float minX, float minY, float maxX, float maxY, int maxDepth = 8,
28 int maxPerNode = 8);
29 Octree *newOctree(float minX, float minY, float minZ, float maxX, float maxY, float maxZ,
30 int maxDepth = 8, int maxPerNode = 8);
31
32 SpatialHash2D *newSpatialHash2D(float cellSize = 64.f);
33 SpatialHash3D *newSpatialHash3D(float cellSize = 64.f);
34
35 BSPTree2D *newBSPTree2D(float minX, float minY, float maxX, float maxY, int maxDepth = 12,
36 int maxPerNode = 8);
37 BSPTree3D *newBSPTree3D(float minX, float minY, float minZ, float maxX, float maxY, float maxZ,
38 int maxDepth = 12, int maxPerNode = 8);
39};
40
41} // namespace eve::spatial
Binary space partition tree (kd-style AABB splits) for 2D culling. Alternating X/Y splits at node mid...
Definition BSPTree2D.h:16
Binary space partition tree (kd-style AABB splits) for 3D culling. Alternating X/Y/Z splits at node m...
Definition BSPTree3D.h:16
Region octree for 3D AABB broad-phase / scene culling. Same storage rules as QuadTree (smallest fully...
Definition Octree.h:16
Region quadtree for 2D AABB broad-phase / map culling. Items are stored in the smallest node that ful...
Definition QuadTree.h:17
Uniform-grid spatial hash for 2D AABB queries (map / particle / entity culling). Items are registered...
Uniform-grid spatial hash for 3D AABB / sphere queries.
Spatial index module — broad-phase / map culling structures. Script: spatial <- eve....
Definition Spatial.h:21
~Spatial() override=default
BSPTree2D * newBSPTree2D(float minX, float minY, float maxX, float maxY, int maxDepth=12, int maxPerNode=8)
Definition Spatial.cpp:30
Octree * newOctree(float minX, float minY, float minZ, float maxX, float maxY, float maxZ, int maxDepth=8, int maxPerNode=8)
Definition Spatial.cpp:21
SpatialHash3D * newSpatialHash3D(float cellSize=64.f)
Definition Spatial.cpp:28
SpatialHash2D * newSpatialHash2D(float cellSize=64.f)
Definition Spatial.cpp:26
QuadTree * newQuadTree(float minX, float minY, float maxX, float maxY, int maxDepth=8, int maxPerNode=8)
Definition Spatial.cpp:16
BSPTree3D * newBSPTree3D(float minX, float minY, float minZ, float maxX, float maxY, float maxZ, int maxDepth=12, int maxPerNode=8)
Definition Spatial.cpp:35