OpenVDB 13.0.0

Loading...
Searching...
No Matches
PointAccessor< AttT, BuildT > Class Template Reference

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

`#include <nanovdb/NanoVDB.h>`

Inheritance diagram for PointAccessor< AttT, BuildT >:

## Public Types
using | BuildType = BuildT
using | ValueType = ValueT
using | CoordType = CoordT

## Public Member Functions
| PointAccessor (const NanoGrid< BuildT > &grid)
__hostdev__ | operator bool () const
| return true if this access was initialized correctly
__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.
__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.
__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
__hostdev__ const RootT & | root () const
template<typename NodeT>
__hostdev__ const NodeT * | getNode () const
| Return a const point to the cached node of the specified type.
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.
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 LeafT * | probeLeaf (const CoordType &ijk) const
template<typename OpT, typename... ArgsT>
__hostdev__ OpT::Type | get (const CoordType &ijk, ArgsT &&... args) const
template<typename OpT, typename... ArgsT>
__hostdev__ void | set (const CoordType &ijk, ArgsT &&... args) const
template<typename RayT>
__hostdev__ uint32_t | getDim (const CoordType &ijk, const RayT &ray) const

## Static Public Attributes
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

## Member Typedef Documentation

## ◆ BuildType

template<typename BuildT>

using BuildType = BuildT
| inherited

## ◆ CoordType

template<typename BuildT>

using CoordType = CoordT
| inherited

## ◆ ValueType

template<typename BuildT>

using ValueType = ValueT
| inherited

## Constructor & Destructor Documentation

## ◆ PointAccessor()

template<typename AttT, typename BuildT = uint32_t>

PointAccessor | ( | const NanoGrid< BuildT > & | grid | ) |
| inline

## Member Function Documentation

## ◆ clear()

template<typename BuildT>

__hostdev__ void clear | ( |  | ) |
| inline inherited

Reset this access to its initial state, i.e. with an empty cache.

## ◆ get()

template<typename BuildT>
template<typename OpT, typename... ArgsT>

__hostdev__ OpT::Type get | ( | const CoordType & | ijk,
|  | ArgsT &&... | args ) const
| inline inherited

## ◆ getDim()

template<typename BuildT>
template<typename RayT>

__hostdev__ uint32_t getDim | ( | const CoordType & | ijk,
|  | const RayT & | ray ) const
| inline inherited

## ◆ getNode() [1/2]

template<typename BuildT>
template<int LEVEL>

__hostdev__ const NodeTrait< TreeT, LEVEL >::type * getNode | ( |  | ) | const
| inline inherited

## ◆ getNode() [2/2]

template<typename BuildT>
template<typename NodeT>

__hostdev__ const NodeT * getNode | ( |  | ) | const
| inline inherited

Return a const point to the cached node of the specified type.

Warning
  The return value could be NULL.

## ◆ getNodeInfo()

template<typename BuildT>

__hostdev__ auto getNodeInfo | ( | const CoordType & | ijk | ) | const
| inline inherited

## ◆ getValue() [1/2]

template<typename BuildT>

__hostdev__ ValueType getValue | ( | const CoordType & | ijk | ) | const
| inline inherited

## ◆ getValue() [2/2]

template<typename BuildT>

__hostdev__ ValueType getValue | ( | int | i,
|  | int | j,
|  | int | k ) const
| inline inherited

## ◆ grid()

template<typename AttT, typename BuildT = uint32_t>

__hostdev__ const NanoGrid< BuildT > & grid | ( |  | ) | const
| inline

## ◆ gridPoints()

template<typename AttT, typename BuildT = uint32_t>

__hostdev__ uint64_t 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.

## ◆ isActive()

template<typename BuildT>

__hostdev__ bool isActive | ( | const CoordType & | ijk | ) | const
| inline inherited

## ◆ isCached()

template<typename BuildT>
template<typename NodeT>

__hostdev__ bool isCached | ( | const CoordType & | ijk | ) | const
| inline inherited

## ◆ leafPoints()

template<typename AttT, typename BuildT = uint32_t>

__hostdev__ uint64_t 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.

## ◆ operator bool()

template<typename AttT, typename BuildT = uint32_t>

__hostdev__ operator bool | ( |  | ) | const
| inline

return true if this access was initialized correctly

## ◆ operator()() [1/2]

template<typename BuildT>

__hostdev__ ValueType operator() | ( | const CoordType & | ijk | ) | const
| inline inherited

## ◆ operator()() [2/2]

template<typename BuildT>

__hostdev__ ValueType operator() | ( | int | i,
|  | int | j,
|  | int | k ) const
| inline inherited

## ◆ probeLeaf()

template<typename BuildT>

__hostdev__ const LeafT * probeLeaf | ( | const CoordType & | ijk | ) | const
| inline inherited

## ◆ probeValue()

template<typename BuildT>

__hostdev__ bool probeValue | ( | const CoordType & | ijk,
|  | ValueType & | v ) const
| inline inherited

## ◆ root()

template<typename BuildT>

__hostdev__ const RootT & root | ( |  | ) | const
| inline inherited

## ◆ set()

template<typename BuildT>
template<typename OpT, typename... ArgsT>

__hostdev__ void set | ( | const CoordType & | ijk,
|  | ArgsT &&... | args ) const
| inline inherited

## ◆ voxelPoints()

template<typename AttT, typename BuildT = uint32_t>

__hostdev__ uint64_t voxelPoints | ( | const Coord & | ijk,
|  | const AttT *& | begin,
|  | const AttT *& | end ) const
| inline

get iterators over attributes to points at a specific voxel location

## Member Data Documentation

## ◆ CacheLevels

template<typename BuildT>

const int CacheLevels = 3
| static inherited