|
OpenVDB
6.0.0
|
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 | ArrayProcessor< ValueType, OpType > |
| Helper class used internally by processTypedArray() More... | |
| struct | AttributeHandles |
| Cache read and write attribute handles to amortize construction cost. More... | |
| struct | AttributeHandles::CacheHandleOp |
| Create a handle and reinterpret cast as an int handle to store. More... | |
| struct | BuildMoveMapsOp< DeformerT, TreeT, FilterT > |
| struct | GlobalMovePointsOp< TreeT > |
| struct | GlobalMovePointsOp< TreeT >::PerformTypedMoveOp |
| struct | LocalMovePointsOp< TreeT > |
| struct | LocalMovePointsOp< TreeT >::PerformTypedMoveOp |
Namespaces | |
| openvdb | |
| openvdb::v6_0 | |
| openvdb::v6_0::points | |
| openvdb::v6_0::points::future | |
| A container for ABI=5 to help ease introduction of upcoming features. | |
| openvdb::v6_0::points::point_move_internal | |
Typedefs | |
| using | LeafIndex = Index32 |
| using | IndexTriple = std::tuple< LeafIndex, Index, Index > |
| using | IndexTripleArray = tbb::concurrent_vector< IndexTriple > |
| using | GlobalPointIndexMap = std::vector< IndexTripleArray > |
| using | IndexPair = std::pair< Index, Index > |
| using | IndexPairArray = std::vector< IndexPair > |
| using | LocalPointIndexMap = std::vector< IndexPairArray > |
| using | IndexArray = std::vector< Index > |
| using | LeafIndexArray = std::vector< LeafIndex > |
| using | LeafOffsetArray = std::vector< LeafIndexArray > |
| using | LeafMap = std::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 ArrayType , typename OpType > | |
| bool | processTypedArray (const ArrayType &array, OpType &op) |
| Utility function that, given a generic attribute array, calls a functor with the fully-resolved value type of the array. 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:
1.8.14