Loading...
Searching...
No Matches
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>`

Inheritance diagram for ValueAccessorBase< TreeType, IsSafe >:

## Public Member Functions

| ValueAccessorBase (TreeType &tree)
virtual | ~ValueAccessorBase ()
TreeType * | getTree () const
| Return a pointer to the tree associated with this accessor.
TreeType & | tree () const
| Return a reference to the tree associated with this accessor.
| 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).

## 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::v10_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]

template<typename TreeType, bool IsSafe>

ValueAccessorBase | ( | TreeType & | tree | ) |

inline

## ~ValueAccessorBase()

template<typename TreeType, bool IsSafe>

virtual ~ValueAccessorBase | ( |  | ) |

inline virtual

## ValueAccessorBase() [2/2]

template<typename TreeType, bool IsSafe>

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

inline

## Member Function Documentation

## clear()

template<typename TreeType, bool IsSafe>

virtual void clear | ( |  | ) |

pure virtual

Implemented in 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 >, ValueAccessor3< TreeType, IsSafe >, ValueAccessor< _TreeType, IsSafe, CacheLevels, MutexType >, ValueAccessor< const PointIndexTree >, ValueAccessor< const TreeT >, ValueAccessor< const TreeT, false >, ValueAccessor< const TreeType >, ValueAccessor< const TreeType, false >, ValueAccessor< const TreeType, IsSafe >, ValueAccessor< ExtTreeT, false >, ValueAccessor< IntTreeT >, ValueAccessor< SdfTreeT, false >, ValueAccessor< SweepMaskTreeT, false >, ValueAccessor< TreeT >, ValueAccessor< TreeType >, ValueAccessor< TreeType, false >, ValueAccessor< TreeType, IsSafe, 0, tbb::null_mutex >, ValueAccessor< TreeType, IsSafe, 1, tbb::null_mutex >, ValueAccessor< TreeType, IsSafe, 2, tbb::null_mutex >, ValueAccessor< TreeType, IsSafe, 3, tbb::null_mutex >, and ValueAccessor< TreeType, true, TreeType::DEPTH-1, tbb::spin_mutex >.

## getTree()

template<typename TreeType, bool IsSafe>

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()

template<typename TreeType, bool IsSafe>

bool isSafe | ( |  | ) |

inline static

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=()

template<typename TreeType, bool IsSafe>

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

inline

## release()

template<typename TreeType, bool IsSafe>

virtual void release | ( |  | ) |

inline protected virtual

## tree()

template<typename TreeType, bool IsSafe>

TreeType & tree | ( |  | ) | const

inline

Return a reference to the tree associated with this accessor.

## Friends And Related Symbol Documentation

## Tree

template<typename TreeType, bool IsSafe>
template<typename>

friend class Tree

friend

## Member Data Documentation

## IsConstTree

template<typename TreeType, bool IsSafe>

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

static

## mTree

template<typename TreeType, bool IsSafe>

TreeType* mTree

protected