载入中...
搜索中...
未找到
eve::spatial::SpatialHash2D类 参考

Uniform-grid spatial hash for 2D AABB queries (map / particle / entity culling). Items are registered in every overlapped cell. 更多...

#include <SpatialHash2D.h>

Public 成员函数

 SpatialHash2D (float cellSize=64.f)
 
 ~SpatialHash2D ()=default
 
 SpatialHash2D (const SpatialHash2D &)=delete
 
SpatialHash2Doperator= (const SpatialHash2D &)=delete
 
void clear ()
 
void setCellSize (float cellSize)
 
float getCellSize () const
 
bool insert (int id, float minX, float minY, float maxX, float maxY)
 
bool remove (int id)
 
bool update (int id, float minX, float minY, float maxX, float maxY)
 
bool contains (int id) const
 
int getCount () const
 
int queryPoint (float x, float y)
 
int queryRect (float minX, float minY, float maxX, float maxY)
 
int queryCircle (float cx, float cy, float radius)
 
int getResultCount () const
 
int getResultId (int index) const
 

详细描述

Uniform-grid spatial hash for 2D AABB queries (map / particle / entity culling). Items are registered in every overlapped cell.

在文件 SpatialHash2D.h16 行定义.

构造及析构函数说明

◆ SpatialHash2D() [1/2]

eve::spatial::SpatialHash2D::SpatialHash2D ( float  cellSize = 64.f)
explicit

在文件 SpatialHash2D.cpp10 行定义.

引用了 setCellSize().

◆ ~SpatialHash2D()

eve::spatial::SpatialHash2D::~SpatialHash2D ( )
default

◆ SpatialHash2D() [2/2]

eve::spatial::SpatialHash2D::SpatialHash2D ( const SpatialHash2D )
delete

成员函数说明

◆ clear()

void eve::spatial::SpatialHash2D::clear ( )

在文件 SpatialHash2D.cpp29 行定义.

引用了 eve::spatial::QueryIds::clear().

被这些函数引用 setCellSize().

◆ contains()

bool eve::spatial::SpatialHash2D::contains ( int  id) const

在文件 SpatialHash2D.cpp35 行定义.

被这些函数引用 insert() , 以及 update().

◆ getCellSize()

float eve::spatial::SpatialHash2D::getCellSize ( ) const
inline

在文件 SpatialHash2D.h26 行定义.

◆ getCount()

int eve::spatial::SpatialHash2D::getCount ( ) const
inline

在文件 SpatialHash2D.h32 行定义.

◆ getResultCount()

int eve::spatial::SpatialHash2D::getResultCount ( ) const
inline

在文件 SpatialHash2D.h38 行定义.

引用了 eve::spatial::QueryIds::getCount().

◆ getResultId()

int eve::spatial::SpatialHash2D::getResultId ( int  index) const
inline

在文件 SpatialHash2D.h39 行定义.

引用了 eve::spatial::QueryIds::getId().

◆ insert()

bool eve::spatial::SpatialHash2D::insert ( int  id,
float  minX,
float  minY,
float  maxX,
float  maxY 
)

在文件 SpatialHash2D.cpp69 行定义.

引用了 b, contains(), id, eve::spatial::makeAABB2() , 以及 remove().

被这些函数引用 setCellSize() , 以及 update().

◆ operator=()

SpatialHash2D & eve::spatial::SpatialHash2D::operator= ( const SpatialHash2D )
delete

◆ queryCircle()

int eve::spatial::SpatialHash2D::queryCircle ( float  cx,
float  cy,
float  radius 
)

◆ queryPoint()

int eve::spatial::SpatialHash2D::queryPoint ( float  x,
float  y 
)

在文件 SpatialHash2D.cpp118 行定义.

引用了 cx, cy, eve::spatial::QueryIds::getCount(), x , 以及 y.

◆ queryRect()

int eve::spatial::SpatialHash2D::queryRect ( float  minX,
float  minY,
float  maxX,
float  maxY 
)

◆ remove()

bool eve::spatial::SpatialHash2D::remove ( int  id)

在文件 SpatialHash2D.cpp78 行定义.

被这些函数引用 insert().

◆ setCellSize()

void eve::spatial::SpatialHash2D::setCellSize ( float  cellSize)

在文件 SpatialHash2D.cpp12 行定义.

引用了 clear() , 以及 insert().

被这些函数引用 SpatialHash2D().

◆ update()

bool eve::spatial::SpatialHash2D::update ( int  id,
float  minX,
float  minY,
float  maxX,
float  maxY 
)

在文件 SpatialHash2D.cpp86 行定义.

引用了 contains() , 以及 insert().


该类的文档由以下文件生成: