Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::math::TIndexedKdtree< IndexToItem, ItemToAABB, Index > Class Template Referencefinal

#include <TIndexedKdtree.h>

Public Types

using Item = decltype(std::declval<IndexToItem>()(std::declval<Index>()))
 

Public Member Functions

 TIndexedKdtree (std::size_t numItems, IndexToItem indexToItem, ItemToAABB itemToAABB, IndexedKdtreeParams params=IndexedKdtreeParams())
 
template<typename TesterFunc >
bool nearestTraversal (const TLineSegment< real > &segment, TesterFunc &&intersectionTester) const
 
AABB3D getAABB () const
 
bool isEmpty () const
 
Item getItem (std::size_t idx) const
 
template<typename TesterFunc >
auto nearestTraversal (const TLineSegment< real > &segment, TesterFunc &&intersectionTester) const -> bool
 

Member Typedef Documentation

◆ Item

template<typename IndexToItem , typename ItemToAABB , typename Index = std::size_t>
using ph::math::TIndexedKdtree< IndexToItem, ItemToAABB, Index >::Item = decltype(std::declval<IndexToItem>()(std::declval<Index>()))

Constructor & Destructor Documentation

◆ TIndexedKdtree()

template<typename IndexToItem , typename ItemToAABB , typename Index >
ph::math::TIndexedKdtree< IndexToItem, ItemToAABB, Index >::TIndexedKdtree ( std::size_t numItems,
IndexToItem indexToItem,
ItemToAABB itemToAABB,
IndexedKdtreeParams params = IndexedKdtreeParams() )
inline

Member Function Documentation

◆ getAABB()

template<typename IndexToItem , typename ItemToAABB , typename Index >
auto ph::math::TIndexedKdtree< IndexToItem, ItemToAABB, Index >::getAABB ( ) const
inline

◆ getItem()

template<typename IndexToItem , typename ItemToAABB , typename Index >
auto ph::math::TIndexedKdtree< IndexToItem, ItemToAABB, Index >::getItem ( std::size_t idx) const
inline

◆ isEmpty()

template<typename IndexToItem , typename ItemToAABB , typename Index >
auto ph::math::TIndexedKdtree< IndexToItem, ItemToAABB, Index >::isEmpty ( ) const
inline

◆ nearestTraversal() [1/2]

template<typename IndexToItem , typename ItemToAABB , typename Index = std::size_t>
template<typename TesterFunc >
bool ph::math::TIndexedKdtree< IndexToItem, ItemToAABB, Index >::nearestTraversal ( const TLineSegment< real > & segment,
TesterFunc && intersectionTester ) const

◆ nearestTraversal() [2/2]

template<typename IndexToItem , typename ItemToAABB , typename Index = std::size_t>
template<typename TesterFunc >
auto ph::math::TIndexedKdtree< IndexToItem, ItemToAABB, Index >::nearestTraversal ( const TLineSegment< real > & segment,
TesterFunc && intersectionTester ) const -> bool
inline

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