OpenVDB
12.0.0
|
A Deformer that caches the resulting positions from evaluating another Deformer. More...
#include <openvdb/points/impl/PointMoveImpl.h>
Classes | |
struct | Cache |
Public Types | |
using | LeafIndex = point_move_internal::LeafIndex |
using | Vec3T = typename math::Vec3< T > |
using | LeafVecT = std::vector< Vec3T > |
using | LeafMapT = std::unordered_map< LeafIndex, Vec3T > |
Public Member Functions | |
CachedDeformer (Cache &cache) | |
Cache is expected to be persistent for the lifetime of the CachedDeformer. More... | |
template<typename PointDataGridT , typename DeformerT , typename FilterT > | |
void | evaluate (PointDataGridT &grid, DeformerT &deformer, const FilterT &filter, bool threaded=true) |
template<typename LeafT > | |
void | reset (const LeafT &leaf, size_t idx) |
template<typename IndexIterT > | |
void | apply (Vec3d &position, const IndexIterT &iter) const |
Retrieve the new position from the cache. More... | |
Friends | |
class | ::TestPointMove |
A Deformer that caches the resulting positions from evaluating another Deformer.
using Vec3T = typename math::Vec3<T> |
|
explicit |
Cache is expected to be persistent for the lifetime of the CachedDeformer.
void apply | ( | Vec3d & | position, |
const IndexIterT & | iter | ||
) | const |
Retrieve the new position from the cache.
void evaluate | ( | PointDataGridT & | grid, |
DeformerT & | deformer, | ||
const FilterT & | filter, | ||
bool | threaded = true |
||
) |
Caches the result of evaluating the supplied point grid using the deformer and filter
grid | the points to be moved |
deformer | the deformer to apply to the points |
filter | the point filter to use when evaluating the points |
threaded | enable or disable threading (threading is enabled by default) |
void reset | ( | const LeafT & | leaf, |
size_t | idx | ||
) |
Stores pointers to the vector or map and optionally expands the map into a vector
IndexError | if idx is out-of-range of the leafs in the cache |
|
friend |