OpenVDB: CacheItem< TreeCacheT, NodeVecT, false, true > Class Template Reference

OpenVDB 10.0.1

Public Types | Public Member Functions | List of all members
CacheItem< TreeCacheT, NodeVecT, false, true > Class Template Reference

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

## Public Types
using | NodeType = typename NodeVecT::Front
using | ValueType = typename NodeType::ValueType
using | LeafNodeType = typename NodeType::LeafNodeType
using | CoordLimits = std::numeric_limits< Int32 >

## Public Member Functions
| CacheItem (TreeCacheT &parent)
| CacheItem (TreeCacheT &parent, const CacheItem &other)
| Copy another CacheItem's node pointers and hash keys, but not its parent pointer. More...
CacheItem & | copy (TreeCacheT &parent, const CacheItem &other)
bool | isCached (const Coord &xyz) const
void | insert (const Coord &xyz, const NodeType *node)
| Cache the given node at this level. More...
template<typename OtherNodeType >
void | insert (const Coord &xyz, const OtherNodeType *node)
| Forward the given node to another level of the cache. More...
void | erase (const NodeType *)
| Erase the node at this level. More...
template<typename OtherNodeType >
void | erase (const OtherNodeType *node)
| Erase the node at another level of the cache. More...
void | clear ()
| Erase the nodes at this and lower levels of the cache. More...
void | getNode (const NodeType *&node) const
| Return the cached node (if any) at this level. More...
void | getNode (const NodeType *&node)
void | getNode (NodeType *&node)
template<typename OtherNodeType >
void | getNode (OtherNodeType *&node)
| Forward the request to another level of the cache. More...
const ValueType & | getValue (const Coord &xyz)
| Return the value of the voxel at the given coordinates. More...
void | addLeaf (LeafNodeType *leaf)
void | addTile (Index level, const Coord &xyz, const ValueType &value, bool state)
LeafNodeType * | touchLeaf (const Coord &xyz)
LeafNodeType * | probeLeaf (const Coord &xyz)
const LeafNodeType * | probeConstLeaf (const Coord &xyz)
template<typename NodeT >
NodeT * | probeNode (const Coord &xyz)
template<typename NodeT >
const NodeT * | probeConstNode (const Coord &xyz)
bool | isValueOn (const Coord &xyz)
| Return the active state of the voxel at the given coordinates. More...
bool | probeValue (const Coord &xyz, ValueType &value)
| Return the active state and value of the voxel at the given coordinates. More...
int | getValueDepth (const Coord &xyz)
bool | isVoxel (const Coord &xyz)
void | setValue (const Coord &xyz, const ValueType &value)
| Set the value of the voxel at the given coordinates and mark the voxel as active. More...
void | setValueOnly (const Coord &xyz, const ValueType &value)
void | setValueOn (const Coord &xyz, const ValueType &value)
template<typename ModifyOp >
void | modifyValue (const Coord &xyz, const ModifyOp &op)
| Apply a functor to the value of the voxel at the given coordinates and mark the voxel as active. More...
template<typename ModifyOp >
void | modifyValueAndActiveState (const Coord &xyz, const ModifyOp &op)
| Apply a functor to the voxel at the given coordinates. More...
void | setValueOff (const Coord &xyz, const ValueType &value)
| Set the value of the voxel at the given coordinates and mark the voxel as inactive. More...
void | setActiveState (const Coord &xyz, bool on)
| Set the active state of the voxel at the given coordinates. More...

## Member Typedef Documentation

## ◆ CoordLimits

using CoordLimits = std::numeric_limits<Int32>

## ◆ LeafNodeType

using LeafNodeType = typename NodeType::LeafNodeType

## ◆ NodeType

using NodeType = typename NodeVecT::Front

## ◆ ValueType

using ValueType = typename NodeType::ValueType

## Constructor & Destructor Documentation

## ◆ CacheItem() [1/2]

CacheItem | ( | TreeCacheT & | parent | ) |
| inline

## ◆ CacheItem() [2/2]

CacheItem | ( | TreeCacheT & | parent,
|  | const CacheItem< TreeCacheT, NodeVecT, false, true > & | other
| ) |  |
| inline

Copy another CacheItem's node pointers and hash keys, but not its parent pointer.

## Member Function Documentation

## ◆ addLeaf()

void addLeaf | ( | LeafNodeType * | leaf | ) |
| inline

## ◆ addTile()

void addTile | ( | Index | level,
|  | const Coord & | xyz,
|  | const ValueType & | value,
|  | bool | state
| ) |  |
| inline

## ◆ clear()

void clear | ( |  | ) |
| inline

Erase the nodes at this and lower levels of the cache.

## ◆ copy()

CacheItem & copy | ( | TreeCacheT & | parent,
|  | const CacheItem< TreeCacheT, NodeVecT, false, true > & | other
| ) |  |
| inline

## ◆ erase() [1/2]

void erase | ( | const NodeType * |  | ) |
| inline

Erase the node at this level.

## ◆ erase() [2/2]

void erase | ( | const OtherNodeType * | node | ) |
| inline

Erase the node at another level of the cache.

## ◆ getNode() [1/4]

void getNode | ( | const NodeType *& | node | ) |
| inline

## ◆ getNode() [2/4]

void getNode | ( | const NodeType *& | node | ) | const
| inline

Return the cached node (if any) at this level.

## ◆ getNode() [3/4]

void getNode | ( | NodeType *& | node | ) |
| inline

## ◆ getNode() [4/4]

void getNode | ( | OtherNodeType *& | node | ) |
| inline

Forward the request to another level of the cache.

## ◆ getValue()

const ValueType & getValue | ( | const Coord & | xyz | ) |
| inline

Return the value of the voxel at the given coordinates.

## ◆ getValueDepth()

int getValueDepth | ( | const Coord & | xyz | ) |
| inline

## ◆ insert() [1/2]

void insert | ( | const Coord & | xyz,
|  | const NodeType * | node
| ) |  |
| inline

Cache the given node at this level.

## ◆ insert() [2/2]

void insert | ( | const Coord & | xyz,
|  | const OtherNodeType * | node
| ) |  |
| inline

Forward the given node to another level of the cache.

## ◆ isCached()

bool isCached | ( | const Coord & | xyz | ) | const
| inline

## ◆ isValueOn()

bool isValueOn | ( | const Coord & | xyz | ) |
| inline

Return the active state of the voxel at the given coordinates.

## ◆ isVoxel()

bool isVoxel | ( | const Coord & | xyz | ) |
| inline

## ◆ modifyValue()

void modifyValue | ( | const Coord & | xyz,
|  | const ModifyOp & | op
| ) |  |
| inline

Apply a functor to the value of the voxel at the given coordinates and mark the voxel as active.

See Tree::modifyValue() for details.

## ◆ modifyValueAndActiveState()

void modifyValueAndActiveState | ( | const Coord & | xyz,
|  | const ModifyOp & | op
| ) |  |
| inline

Apply a functor to the voxel at the given coordinates.

See Tree::modifyValueAndActiveState() for details.

## ◆ probeConstLeaf()

const LeafNodeType * probeConstLeaf | ( | const Coord & | xyz | ) |
| inline

## ◆ probeConstNode()

const NodeT * probeConstNode | ( | const Coord & | xyz | ) |
| inline

## ◆ probeLeaf()

LeafNodeType * probeLeaf | ( | const Coord & | xyz | ) |
| inline

## ◆ probeNode()

NodeT * probeNode | ( | const Coord & | xyz | ) |
| inline

## ◆ probeValue()

bool probeValue | ( | const Coord & | xyz,
|  | ValueType & | value
| ) |  |
| inline

Return the active state and value of the voxel at the given coordinates.

## ◆ setActiveState()

void setActiveState | ( | const Coord & | xyz,
|  | bool | on
| ) |  |
| inline

Set the active state of the voxel at the given coordinates.

## ◆ setValue()

void setValue | ( | const Coord & | xyz,
|  | const ValueType & | value
| ) |  |
| inline

Set the value of the voxel at the given coordinates and mark the voxel as active.

## ◆ setValueOff()

void setValueOff | ( | const Coord & | xyz,
|  | const ValueType & | value
| ) |  |
| inline

Set the value of the voxel at the given coordinates and mark the voxel as inactive.

## ◆ setValueOn()

void setValueOn | ( | const Coord & | xyz,
|  | const ValueType & | value
| ) |  |
| inline

## ◆ setValueOnly()

void setValueOnly | ( | const Coord & | xyz,
|  | const ValueType & | value
| ) |  |
| inline

## ◆ touchLeaf()

LeafNodeType * touchLeaf | ( | const Coord & | xyz | ) |
| inline