OpenVDB: ValueAccessorBase< TreeType, IsSafe > Class Template Reference

OpenVDB 9.0.0

Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
ValueAccessorBase< TreeType, IsSafe > Class Template Referenceabstract

This base class for ValueAccessors manages registration of an accessor with a tree so that the tree can automatically clear the accessor whenever one of its nodes is deleted. More...

`#include <openvdb/tree/ValueAccessor.h>`

Inherited by ValueAccessor< TreeType, true, TreeType::DEPTH-1, tbb::spin_mutex >, ValueAccessor< const TreeType, IsSafe >, ValueAccessor< const TreeT, false >, ValueAccessor< const TreeT >, ValueAccessor< TreeT >, ValueAccessor< TreeType >, ValueAccessor< const PointIndexTree >, ValueAccessor0< TreeType, IsSafe >, ValueAccessor1< TreeType, IsSafe >, ValueAccessor2< TreeType, IsSafe >, and ValueAccessor3< TreeType, IsSafe >.

## Public Member Functions
| ValueAccessorBase (TreeType &tree)
virtual | ~ValueAccessorBase ()
TreeType * | getTree () const
| Return a pointer to the tree associated with this accessor. More...
TreeType & | tree () const
| Return a reference to the tree associated with this accessor. More...
| ValueAccessorBase (const ValueAccessorBase &other)
ValueAccessorBase & | operator= (const ValueAccessorBase &other)
virtual void | clear ()=0

## Static Public Member Functions
static bool | isSafe ()
| Return true if this accessor is safe, i.e. registered by the tree from which it is constructed. Un-registered accessors can in rare cases be faster because it avoids the (small) overhead of registration, but they are unsafe if the tree is modified. So unless you're an expert it is highly recommended to set IsSafe = true (which is the default). More...

## Static Public Attributes
static const bool | IsConstTree = std::is_const<TreeType>::value

## Protected Member Functions
virtual void | release ()

## Protected Attributes
TreeType * | mTree

## Friends
template<typename >
class | Tree

## Detailed Description

template<typename TreeType, bool IsSafe>
class openvdb::v9_0::tree::ValueAccessorBase< TreeType, IsSafe >

This base class for ValueAccessors manages registration of an accessor with a tree so that the tree can automatically clear the accessor whenever one of its nodes is deleted.

## Constructor & Destructor Documentation

## ◆ ValueAccessorBase() [1/2]

ValueAccessorBase | ( | TreeType & | tree | ) |
| inline

## ◆ ~ValueAccessorBase()

virtual ~ValueAccessorBase | ( |  | ) |
| inlinevirtual

## ◆ ValueAccessorBase() [2/2]

ValueAccessorBase | ( | const ValueAccessorBase< TreeType, IsSafe > & | other | ) |
| inline

## Member Function Documentation

## ◆ clear()

virtual void clear | ( |  | ) |
| pure virtual

Implemented in ValueAccessor< _TreeType, IsSafe, CacheLevels, MutexType >, ValueAccessor< TreeType, true, TreeType::DEPTH-1, tbb::spin_mutex >, ValueAccessor< const TreeType, IsSafe >, ValueAccessor< const TreeT, false >, ValueAccessor< const TreeT >, ValueAccessor< TreeT >, ValueAccessor< TreeType >, ValueAccessor< const PointIndexTree >, ValueAccessor0< _TreeType, IsSafe >, ValueAccessor0< TreeType, IsSafe >, ValueAccessor1< _TreeType, IsSafe, L0 >, ValueAccessor1< TreeType, IsSafe >, ValueAccessor2< _TreeType, IsSafe, L0, L1 >, ValueAccessor2< TreeType, IsSafe >, ValueAccessor3< _TreeType, IsSafe, L0, L1, L2 >, and ValueAccessor3< TreeType, IsSafe >.

## ◆ getTree()

TreeType * getTree | ( |  | ) | const
| inline

Return a pointer to the tree associated with this accessor.

The pointer will be null only if the tree from which this accessor was constructed was subsequently deleted (which generally leaves the accessor in an unsafe state).

## ◆ isSafe()

static bool isSafe | ( |  | ) |
| inlinestatic

Return true if this accessor is safe, i.e. registered by the tree from which it is constructed. Un-registered accessors can in rare cases be faster because it avoids the (small) overhead of registration, but they are unsafe if the tree is modified. So unless you're an expert it is highly recommended to set IsSafe = true (which is the default).

## ◆ operator=()

ValueAccessorBase & operator= | ( | const ValueAccessorBase< TreeType, IsSafe > & | other | ) |
| inline

## ◆ release()

virtual void release | ( |  | ) |
| inlineprotectedvirtual

## ◆ tree()

TreeType & tree | ( |  | ) | const
| inline

Return a reference to the tree associated with this accessor.

## Friends And Related Function Documentation

## ◆ Tree

friend class Tree
| friend

## Member Data Documentation

## ◆ IsConstTree

const bool IsConstTree = std::is_const<TreeType>::value
| static

## ◆ mTree

TreeType* mTree
| protected