HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nanovdb::PointAccessor< AttT, BuildT > Class Template Reference

Class to access points at a specific voxel location. More...

#include <NanoVDB.h>

+ Inheritance diagram for nanovdb::PointAccessor< AttT, BuildT >:

Public Member Functions

 PointAccessor (const NanoGrid< BuildT > &grid)
 
__hostdev__ operator bool () const
 return true if this access was initialized correctly More...
 
__hostdev__ const NanoGrid
< BuildT > & 
grid () const
 
__hostdev__ uint64_t gridPoints (const AttT *&begin, const AttT *&end) const
 Return the total number of point in the grid and set the iterators to the complete range of points. More...
 
__hostdev__ uint64_t leafPoints (const Coord &ijk, const AttT *&begin, const AttT *&end) const
 Return the number of points in the leaf node containing the coordinate ijk. If this return value is larger than zero then the iterators begin and end will point to all the attributes contained within that leaf node. More...
 
__hostdev__ uint64_t voxelPoints (const Coord &ijk, const AttT *&begin, const AttT *&end) const
 get iterators over attributes to points at a specific voxel location More...
 
- Public Member Functions inherited from nanovdb::ReadAccessor< BuildT, 0, 1, 2 >
__hostdev__ ReadAccessor (const RootT &root)
 Constructor from a root node. More...
 
__hostdev__ ReadAccessor (const GridT &grid)
 Constructor from a grid. More...
 
__hostdev__ ReadAccessor (const TreeT &tree)
 Constructor from a tree. More...
 
__hostdev__ const RootTroot () const
 
 ReadAccessor (const ReadAccessor &)=default
 Defaults constructors. More...
 
 ~ReadAccessor ()=default
 
ReadAccessoroperator= (const ReadAccessor &)=default
 
template<typename NodeT >
__hostdev__ const NodeT * getNode () const
 Return a const point to the cached node of the specified type. More...
 
template<int LEVEL>
__hostdev__ const NodeTrait
< TreeT, LEVEL >::type
getNode () const
 
__hostdev__ void clear ()
 Reset this access to its initial state, i.e. with an empty cache. More...
 
template<typename NodeT >
__hostdev__ bool isCached (const CoordType &ijk) const
 
__hostdev__ ValueType getValue (const CoordType &ijk) const
 
__hostdev__ ValueType getValue (int i, int j, int k) const
 
__hostdev__ ValueType operator() (const CoordType &ijk) const
 
__hostdev__ ValueType operator() (int i, int j, int k) const
 
__hostdev__ auto getNodeInfo (const CoordType &ijk) const
 
__hostdev__ bool isActive (const CoordType &ijk) const
 
__hostdev__ bool probeValue (const CoordType &ijk, ValueType &v) const
 
__hostdev__ const LeafTprobeLeaf (const CoordType &ijk) const
 
template<typename OpT , typename... ArgsT>
__hostdev__ auto get (const CoordType &ijk, ArgsT &&...args) const
 
template<typename OpT , typename... ArgsT>
__hostdev__ auto set (const CoordType &ijk, ArgsT &&...args) const
 
template<typename RayT >
__hostdev__ uint32_t getDim (const CoordType &ijk, const RayT &ray) const
 

Additional Inherited Members

- Public Types inherited from nanovdb::ReadAccessor< BuildT, 0, 1, 2 >
using BuildType = BuildT
 
using ValueType = ValueT
 
using CoordType = CoordT
 
- Static Public Attributes inherited from nanovdb::ReadAccessor< BuildT, 0, 1, 2 >
static const int CacheLevels = 3
 

Detailed Description

template<typename AttT, typename BuildT = uint32_t>
class nanovdb::PointAccessor< AttT, BuildT >

Class to access points at a specific voxel location.

Note
If GridClass::PointIndex AttT should be uint32_t and if GridClass::PointData Vec3f

Definition at line 7579 of file NanoVDB.h.

Constructor & Destructor Documentation

template<typename AttT , typename BuildT = uint32_t>
nanovdb::PointAccessor< AttT, BuildT >::PointAccessor ( const NanoGrid< BuildT > &  grid)
inline

Definition at line 7586 of file NanoVDB.h.

Member Function Documentation

template<typename AttT , typename BuildT = uint32_t>
__hostdev__ const NanoGrid<BuildT>& nanovdb::PointAccessor< AttT, BuildT >::grid ( ) const
inline

Definition at line 7599 of file NanoVDB.h.

template<typename AttT , typename BuildT = uint32_t>
__hostdev__ uint64_t nanovdb::PointAccessor< AttT, BuildT >::gridPoints ( const AttT *&  begin,
const AttT *&  end 
) const
inline

Return the total number of point in the grid and set the iterators to the complete range of points.

Definition at line 7603 of file NanoVDB.h.

template<typename AttT , typename BuildT = uint32_t>
__hostdev__ uint64_t nanovdb::PointAccessor< AttT, BuildT >::leafPoints ( const Coord ijk,
const AttT *&  begin,
const AttT *&  end 
) const
inline

Return the number of points in the leaf node containing the coordinate ijk. If this return value is larger than zero then the iterators begin and end will point to all the attributes contained within that leaf node.

Definition at line 7613 of file NanoVDB.h.

template<typename AttT , typename BuildT = uint32_t>
__hostdev__ nanovdb::PointAccessor< AttT, BuildT >::operator bool ( ) const
inline

return true if this access was initialized correctly

Definition at line 7597 of file NanoVDB.h.

template<typename AttT , typename BuildT = uint32_t>
__hostdev__ uint64_t nanovdb::PointAccessor< AttT, BuildT >::voxelPoints ( const Coord ijk,
const AttT *&  begin,
const AttT *&  end 
) const
inline

get iterators over attributes to points at a specific voxel location

Definition at line 7625 of file NanoVDB.h.


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