PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::LinearBVH< TDataType > Class Template Reference

#include <LinearBVH.h>

Public Types

typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
typedef ::dyno::TAlignedBox3D< RealAABB
 
typedef ::dyno::BVHNode Node
 
typedef ::dyno::BVHNodeNodePtr
 

Public Member Functions

 LinearBVH ()
 
 ~LinearBVH ()
 
void construct (const DArray< AABB > &aabb)
 
GPU_FUNC uint requestIntersectionNumber (const AABB &queryAABB, const int queryId=EMPTY) const
 
GPU_FUNC void requestIntersectionIds (List< int > &ids, const AABB &queryAABB, const int queryId=EMPTY) const
 
GPU_FUNC NodePtr getRoot () const
 
GPU_FUNC AABB getAABB (const uint idx) const
 
GPU_FUNC uint getObjectIdx (const uint idx) const
 
CPU_FUNC DArray< AABB > & getSortedAABBs ()
 
void release ()
 Call release() to release allocated memory explicitly, do not call this function from the decontructor.
 

Private Attributes

DArray< NodemAllNodes
 
DArray< CoordmCenters
 
DArray< AABBmSortedAABBs
 
DArray< uintmSortedObjectIds
 
DArray< uintmFlags
 
DArray< uint64mMortonCodes
 

Detailed Description

template<typename TDataType>
class dyno::LinearBVH< TDataType >

Definition at line 51 of file LinearBVH.h.

Member Typedef Documentation

◆ AABB

template<typename TDataType>
typedef ::dyno::TAlignedBox3D<Real> dyno::LinearBVH< TDataType >::AABB

Definition at line 56 of file LinearBVH.h.

◆ Coord

template<typename TDataType>
typedef TDataType::Coord dyno::LinearBVH< TDataType >::Coord

Definition at line 55 of file LinearBVH.h.

◆ Node

template<typename TDataType>
typedef ::dyno::BVHNode dyno::LinearBVH< TDataType >::Node

Definition at line 57 of file LinearBVH.h.

◆ NodePtr

template<typename TDataType>
typedef ::dyno::BVHNode* dyno::LinearBVH< TDataType >::NodePtr

Definition at line 58 of file LinearBVH.h.

◆ Real

template<typename TDataType>
typedef TDataType::Real dyno::LinearBVH< TDataType >::Real

Definition at line 54 of file LinearBVH.h.

Constructor & Destructor Documentation

◆ LinearBVH()

template<typename TDataType>
dyno::LinearBVH< TDataType >::LinearBVH ( )

◆ ~LinearBVH()

template<typename TDataType>
dyno::LinearBVH< TDataType >::~LinearBVH ( )

Member Function Documentation

◆ construct()

template<typename TDataType>
void dyno::LinearBVH< TDataType >::construct ( const DArray< AABB > & aabb)

◆ getAABB()

template<typename TDataType>
GPU_FUNC AABB dyno::LinearBVH< TDataType >::getAABB ( const uint idx) const
inline

Definition at line 70 of file LinearBVH.h.

◆ getObjectIdx()

template<typename TDataType>
GPU_FUNC uint dyno::LinearBVH< TDataType >::getObjectIdx ( const uint idx) const
inline

Definition at line 71 of file LinearBVH.h.

◆ getRoot()

template<typename TDataType>
GPU_FUNC NodePtr dyno::LinearBVH< TDataType >::getRoot ( ) const
inline

Definition at line 68 of file LinearBVH.h.

◆ getSortedAABBs()

template<typename TDataType>
CPU_FUNC DArray< AABB > & dyno::LinearBVH< TDataType >::getSortedAABBs ( )
inline

Definition at line 73 of file LinearBVH.h.

◆ release()

template<typename TDataType>
void dyno::LinearBVH< TDataType >::release ( )

Call release() to release allocated memory explicitly, do not call this function from the decontructor.

◆ requestIntersectionIds()

template<typename TDataType>
GPU_FUNC void dyno::LinearBVH< TDataType >::requestIntersectionIds ( List< int > & ids,
const AABB & queryAABB,
const int queryId = EMPTY ) const

◆ requestIntersectionNumber()

template<typename TDataType>
GPU_FUNC uint dyno::LinearBVH< TDataType >::requestIntersectionNumber ( const AABB & queryAABB,
const int queryId = EMPTY ) const

Member Data Documentation

◆ mAllNodes

template<typename TDataType>
DArray<Node> dyno::LinearBVH< TDataType >::mAllNodes
private

Definition at line 82 of file LinearBVH.h.

◆ mCenters

template<typename TDataType>
DArray<Coord> dyno::LinearBVH< TDataType >::mCenters
private

Definition at line 84 of file LinearBVH.h.

◆ mFlags

template<typename TDataType>
DArray<uint> dyno::LinearBVH< TDataType >::mFlags
private

Definition at line 89 of file LinearBVH.h.

◆ mMortonCodes

template<typename TDataType>
DArray<uint64> dyno::LinearBVH< TDataType >::mMortonCodes
private

Definition at line 91 of file LinearBVH.h.

◆ mSortedAABBs

template<typename TDataType>
DArray<AABB> dyno::LinearBVH< TDataType >::mSortedAABBs
private

Definition at line 86 of file LinearBVH.h.

◆ mSortedObjectIds

template<typename TDataType>
DArray<uint> dyno::LinearBVH< TDataType >::mSortedObjectIds
private

Definition at line 87 of file LinearBVH.h.


The documentation for this class was generated from the following file: