OpenVDB 11.0.0
 
Loading...
Searching...
No Matches
Tree< BuildT > Struct Template Reference

#include <nanovdb/util/GridBuilder.h>

Inheritance diagram for Tree< BuildT >:
Grid< float > Grid< Fp4 > Grid< Fp8 > Grid< Fp16 > Grid< FpN > Grid< double > Grid< int32_t > Grid< uint32_t > Grid< int64_t > Grid< Vec3f > Grid< Vec3d > Grid< Vec4f > Grid< Vec4d > Grid< ValueMask > Grid< ValueIndex > Grid< ValueOnIndex > Grid< bool > Grid< BuildT >

Classes

struct  WriteAccessor
 

Public Types

using ValueType = typename BuildToValueMap<BuildT>::type
 
using Node0 = build::LeafNode<BuildT>
 
using Node1 = build::InternalNode<Node0>
 
using Node2 = build::InternalNode<Node1>
 
using RootNodeType = build::RootNode<Node2>
 
using LeafNodeType = typename RootNodeType::LeafNodeType
 

Public Member Functions

 Tree (const ValueType &background)
 
 Tree (const Tree &)=delete
 
 Tree (Tree &&)=delete
 
Treetree ()
 
RootNodeTyperoot ()
 
ValueType getValue (const Coord &ijk) const
 
ValueType getValue (int i, int j, int k) const
 
void setValue (const Coord &ijk, const ValueType &value)
 
std::array< size_t, 3 > nodeCount () const
 
ValueAccessor< BuildT > getAccessor ()
 regular accessor for thread-safe reading and non-thread-safe writing
 
WriteAccessor getWriteAccessor ()
 special accessor for thread-safe writing only
 

Public Attributes

RootNodeType mRoot
 
std::mutex mMutex
 

Member Typedef Documentation

◆ LeafNodeType

template<typename BuildT>
using LeafNodeType = typename RootNodeType::LeafNodeType

◆ Node0

template<typename BuildT>
using Node0 = build::LeafNode<BuildT>

◆ Node1

template<typename BuildT>
using Node1 = build::InternalNode<Node0>

◆ Node2

template<typename BuildT>
using Node2 = build::InternalNode<Node1>

◆ RootNodeType

template<typename BuildT>
using RootNodeType = build::RootNode<Node2>

◆ ValueType

template<typename BuildT>
using ValueType = typename BuildToValueMap<BuildT>::type

Constructor & Destructor Documentation

◆ Tree() [1/3]

template<typename BuildT>
Tree ( const ValueType & background)
inline

◆ Tree() [2/3]

template<typename BuildT>
Tree ( const Tree< BuildT > & )
delete

◆ Tree() [3/3]

template<typename BuildT>
Tree ( Tree< BuildT > && )
delete

Member Function Documentation

◆ getAccessor()

template<typename BuildT>
ValueAccessor< BuildT > getAccessor ( )
inline

regular accessor for thread-safe reading and non-thread-safe writing

◆ getValue() [1/2]

template<typename BuildT>
ValueType getValue ( const Coord & ijk) const
inline

◆ getValue() [2/2]

template<typename BuildT>
ValueType getValue ( int i,
int j,
int k ) const
inline

◆ getWriteAccessor()

template<typename BuildT>
WriteAccessor getWriteAccessor ( )
inline

special accessor for thread-safe writing only

◆ nodeCount()

template<typename BuildT>
std::array< size_t, 3 > nodeCount ( ) const
inline

◆ root()

template<typename BuildT>
RootNodeType & root ( )
inline

◆ setValue()

template<typename BuildT>
void setValue ( const Coord & ijk,
const ValueType & value )
inline

◆ tree()

template<typename BuildT>
Tree & tree ( )
inline

Member Data Documentation

◆ mMutex

template<typename BuildT>
std::mutex mMutex

◆ mRoot

template<typename BuildT>
RootNodeType mRoot