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

Binary space partition tree (kd-style AABB splits) for 3D culling. Alternating X/Y/Z splits at node midplanes. 更多...

#include <BSPTree3D.h>

Public 成员函数

 BSPTree3D (float minX, float minY, float minZ, float maxX, float maxY, float maxZ, int maxDepth=12, int maxPerNode=8)
 
 ~BSPTree3D ()=default
 
 BSPTree3D (const BSPTree3D &)=delete
 
BSPTree3Doperator= (const BSPTree3D &)=delete
 
void clear ()
 
bool insert (int id, float minX, float minY, float minZ, float maxX, float maxY, float maxZ)
 
bool remove (int id)
 
bool update (int id, float minX, float minY, float minZ, float maxX, float maxY, float maxZ)
 
bool contains (int id) const
 
int getCount () const
 
int queryPoint (float x, float y, float z)
 
int queryAABB (float minX, float minY, float minZ, float maxX, float maxY, float maxZ)
 
int querySphere (float cx, float cy, float cz, float radius)
 
int getResultCount () const
 
int getResultId (int index) const
 
float getMinX () const
 
float getMinY () const
 
float getMinZ () const
 
float getMaxX () const
 
float getMaxY () const
 
float getMaxZ () const
 
int getMaxDepth () const
 
int getMaxPerNode () const
 

详细描述

Binary space partition tree (kd-style AABB splits) for 3D culling. Alternating X/Y/Z splits at node midplanes.

在文件 BSPTree3D.h16 行定义.

构造及析构函数说明

◆ BSPTree3D() [1/2]

eve::spatial::BSPTree3D::BSPTree3D ( float  minX,
float  minY,
float  minZ,
float  maxX,
float  maxY,
float  maxZ,
int  maxDepth = 12,
int  maxPerNode = 8 
)

◆ ~BSPTree3D()

eve::spatial::BSPTree3D::~BSPTree3D ( )
default

◆ BSPTree3D() [2/2]

eve::spatial::BSPTree3D::BSPTree3D ( const BSPTree3D )
delete

成员函数说明

◆ clear()

void eve::spatial::BSPTree3D::clear ( )

在文件 BSPTree3D.cpp29 行定义.

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

◆ contains()

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

在文件 BSPTree3D.cpp36 行定义.

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

◆ getCount()

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

在文件 BSPTree3D.h30 行定义.

◆ getMaxDepth()

int eve::spatial::BSPTree3D::getMaxDepth ( ) const
inline

在文件 BSPTree3D.h45 行定义.

◆ getMaxPerNode()

int eve::spatial::BSPTree3D::getMaxPerNode ( ) const
inline

在文件 BSPTree3D.h46 行定义.

◆ getMaxX()

float eve::spatial::BSPTree3D::getMaxX ( ) const
inline

在文件 BSPTree3D.h42 行定义.

引用了 eve::spatial::AABB3::maxX.

◆ getMaxY()

float eve::spatial::BSPTree3D::getMaxY ( ) const
inline

在文件 BSPTree3D.h43 行定义.

引用了 eve::spatial::AABB3::maxY.

◆ getMaxZ()

float eve::spatial::BSPTree3D::getMaxZ ( ) const
inline

在文件 BSPTree3D.h44 行定义.

引用了 eve::spatial::AABB3::maxZ.

◆ getMinX()

float eve::spatial::BSPTree3D::getMinX ( ) const
inline

在文件 BSPTree3D.h39 行定义.

引用了 eve::spatial::AABB3::minX.

◆ getMinY()

float eve::spatial::BSPTree3D::getMinY ( ) const
inline

在文件 BSPTree3D.h40 行定义.

引用了 eve::spatial::AABB3::minY.

◆ getMinZ()

float eve::spatial::BSPTree3D::getMinZ ( ) const
inline

在文件 BSPTree3D.h41 行定义.

引用了 eve::spatial::AABB3::minZ.

◆ getResultCount()

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

在文件 BSPTree3D.h36 行定义.

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

◆ getResultId()

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

在文件 BSPTree3D.h37 行定义.

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

◆ insert()

bool eve::spatial::BSPTree3D::insert ( int  id,
float  minX,
float  minY,
float  minZ,
float  maxX,
float  maxY,
float  maxZ 
)

在文件 BSPTree3D.cpp38 行定义.

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

被这些函数引用 update().

◆ operator=()

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

◆ queryAABB()

int eve::spatial::BSPTree3D::queryAABB ( float  minX,
float  minY,
float  minZ,
float  maxX,
float  maxY,
float  maxZ 
)

◆ queryPoint()

int eve::spatial::BSPTree3D::queryPoint ( float  x,
float  y,
float  z 
)

在文件 BSPTree3D.cpp194 行定义.

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

◆ querySphere()

int eve::spatial::BSPTree3D::querySphere ( float  cx,
float  cy,
float  cz,
float  radius 
)

◆ remove()

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

在文件 BSPTree3D.cpp50 行定义.

引用了 contains().

被这些函数引用 insert().

◆ update()

bool eve::spatial::BSPTree3D::update ( int  id,
float  minX,
float  minY,
float  minZ,
float  maxX,
float  maxY,
float  maxZ 
)

在文件 BSPTree3D.cpp57 行定义.

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


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