OpenVDB
9.0.1
|
Ability to move VDB Points using a custom deformer. More...
#include <openvdb/openvdb.h>
#include <openvdb/points/PointDataGrid.h>
#include <openvdb/points/PointMask.h>
#include <tbb/concurrent_vector.h>
#include <algorithm>
#include <iterator>
#include <map>
#include <numeric>
#include <tuple>
#include <unordered_map>
#include <vector>
Go to the source code of this file.
Classes | |
struct | Advect |
class | CachedDeformer< T > |
A Deformer that caches the resulting positions from evaluating another Deformer. More... | |
struct | CachedDeformer< T >::Cache |
struct | CachedDeformer< T >::Cache::Leaf |
struct | BuildMoveMapsOp< DeformerT, TreeT, FilterT > |
struct | GlobalMovePointsOp< TreeT > |
struct | GlobalMovePointsOp< TreeT >::CopyIterator |
struct | LocalMovePointsOp< TreeT > |
struct | LocalMovePointsOp< TreeT >::CopyIterator |
Namespaces | |
openvdb | |
openvdb::v9_0 | |
openvdb::v9_0::points | |
openvdb::v9_0::points::future | |
A container for ABI=5 to help ease introduction of upcoming features. | |
openvdb::v9_0::points::point_move_internal | |
Typedefs | |
using | LeafIndex = Index32 |
using | IndexArray = std::vector< Index > |
using | IndexTriple = std::tuple< LeafIndex, Index, Index > |
using | IndexTripleArray = tbb::concurrent_vector< IndexTriple > |
using | GlobalPointIndexMap = std::vector< IndexTripleArray > |
using | GlobalPointIndexIndices = std::vector< IndexArray > |
using | IndexPair = std::pair< Index, Index > |
using | IndexPairArray = std::vector< IndexPair > |
using | LocalPointIndexMap = std::vector< IndexPairArray > |
using | LeafIndexArray = std::vector< LeafIndex > |
using | LeafOffsetArray = std::vector< LeafIndexArray > |
using | LeafMap = std::unordered_map< Coord, LeafIndex > |
Functions | |
template<typename PointDataGridT , typename DeformerT , typename FilterT = NullFilter> | |
void | movePoints (PointDataGridT &points, DeformerT &deformer, const FilterT &filter=NullFilter(), future::Advect *objectNotInUse=nullptr, bool threaded=true) |
Move points in a PointDataGrid using a custom deformer. More... | |
template<typename PointDataGridT , typename DeformerT , typename FilterT = NullFilter> | |
void | movePoints (PointDataGridT &points, const math::Transform &transform, DeformerT &deformer, const FilterT &filter=NullFilter(), future::Advect *objectNotInUse=nullptr, bool threaded=true) |
Move points in a PointDataGrid using a custom deformer and a new transform. More... | |
template<typename LeafT > | |
Index | indexOffsetFromVoxel (const Index voxelOffset, const LeafT &leaf, IndexArray &offsets) |
Ability to move VDB Points using a custom deformer.
Deformers used when moving points are in world space by default and must adhere to the interface described in the example below: