OpenVDB
5.2.0
|
Convert points and attributes to and from VDB Point Data grids. More...
#include <openvdb/math/Transform.h>
#include <openvdb/tools/PointIndexGrid.h>
#include <openvdb/tools/PointsToMask.h>
#include <openvdb/util/NullInterrupter.h>
#include "AttributeArrayString.h"
#include "AttributeSet.h"
#include "IndexFilter.h"
#include "PointAttribute.h"
#include "PointDataGrid.h"
#include "PointGroup.h"
#include <tbb/parallel_reduce.h>
#include <type_traits>
Go to the source code of this file.
Classes | |
class | PointAttributeVector< ValueType > |
Point-partitioner compatible STL vector attribute wrapper for convenience. More... | |
struct | ConversionTraits< T > |
struct | ConversionTraits< openvdb::Name > |
struct | InitialiseAttributesOp< PointDataTreeType, PointIndexTreeType > |
struct | PopulatePositionAttributeOp< PointDataTreeType, PointIndexTreeType, PositionListType > |
struct | PopulateAttributeOp< PointDataTreeType, PointIndexTreeType, AttributeListType > |
struct | ConvertPointDataGridPositionOp< PointDataTreeType, Attribute, FilterT > |
struct | ConvertPointDataGridAttributeOp< PointDataTreeType, Attribute, FilterT > |
struct | ConvertPointDataGridGroupOp< PointDataTreeType, Group, FilterT > |
struct | CalculatePositionBounds< PositionArrayT > |
Namespaces | |
openvdb | |
openvdb::v5_2 | |
openvdb::v5_2::points | |
openvdb::v5_2::points::point_conversion_internal | |
Functions | |
template<typename CompressionT , typename PointDataGridT , typename PositionArrayT , typename PointIndexGridT > | |
PointDataGridT::Ptr | createPointDataGrid (const PointIndexGridT &pointIndexGrid, const PositionArrayT &positions, const math::Transform &xform, Metadata::Ptr positionDefaultValue=Metadata::Ptr()) |
Localises points with position into a PointDataGrid into two stages: allocation of the leaf attribute data and population of the positions. More... | |
template<typename CompressionT , typename PointDataGridT , typename ValueT > | |
PointDataGridT::Ptr | createPointDataGrid (const std::vector< ValueT > &positions, const math::Transform &xform, Metadata::Ptr positionDefaultValue=Metadata::Ptr()) |
Convenience method to create a PointDataGrid from a std::vector of point positions. More... | |
template<typename PointDataTreeT , typename PointIndexTreeT , typename PointArrayT > | |
void | populateAttribute (PointDataTreeT &tree, const PointIndexTreeT &pointIndexTree, const openvdb::Name &attributeName, const PointArrayT &data, const Index stride=1, const bool insertMetadata=true) |
Stores point attribute data in an existing PointDataGrid attribute. More... | |
template<typename PositionAttribute , typename PointDataGridT , typename FilterT = NullFilter> | |
void | convertPointDataGridPosition (PositionAttribute &positionAttribute, const PointDataGridT &grid, const std::vector< Index64 > &pointOffsets, const Index64 startOffset, const FilterT &filter=NullFilter(), const bool inCoreOnly=false) |
Convert the position attribute from a Point Data Grid. More... | |
template<typename TypedAttribute , typename PointDataTreeT , typename FilterT = NullFilter> | |
void | convertPointDataGridAttribute (TypedAttribute &attribute, const PointDataTreeT &tree, const std::vector< Index64 > &pointOffsets, const Index64 startOffset, const unsigned arrayIndex, const Index stride=1, const FilterT &filter=NullFilter(), const bool inCoreOnly=false) |
Convert the attribute from a PointDataGrid. More... | |
template<typename Group , typename PointDataTreeT , typename FilterT = NullFilter> | |
void | convertPointDataGridGroup (Group &group, const PointDataTreeT &tree, const std::vector< Index64 > &pointOffsets, const Index64 startOffset, const AttributeSet::Descriptor::GroupIndex index, const FilterT &filter=NullFilter(), const bool inCoreOnly=false) |
Convert the group from a PointDataGrid. More... | |
template<typename PositionWrapper , typename InterrupterT = openvdb::util::NullInterrupter> | |
float | computeVoxelSize (const PositionWrapper &positions, const uint32_t pointsPerVoxel, const math::Mat4d transform=math::Mat4d::identity(), const Index decimalPlaces=5, InterrupterT *const interrupter=nullptr) |
template<typename PositionAttribute , typename PointDataGridT > | |
OPENVDB_DEPRECATED void | convertPointDataGridPosition (PositionAttribute &positionAttribute, const PointDataGridT &grid, const std::vector< Index64 > &pointOffsets, const Index64 startOffset, const std::vector< Name > &includeGroups, const std::vector< Name > &excludeGroups, const bool inCoreOnly=false) |
template<typename TypedAttribute , typename PointDataTreeT > | |
OPENVDB_DEPRECATED void | convertPointDataGridAttribute (TypedAttribute &attribute, const PointDataTreeT &tree, const std::vector< Index64 > &pointOffsets, const Index64 startOffset, const unsigned arrayIndex, const Index stride, const std::vector< Name > &includeGroups, const std::vector< Name > &excludeGroups, const bool inCoreOnly=false) |
template<typename Group , typename PointDataTreeT > | |
OPENVDB_DEPRECATED void | convertPointDataGridGroup (Group &group, const PointDataTreeT &tree, const std::vector< Index64 > &pointOffsets, const Index64 startOffset, const AttributeSet::Descriptor::GroupIndex index, const std::vector< Name > &includeGroups, const std::vector< Name > &excludeGroups, const bool inCoreOnly=false) |
Convert points and attributes to and from VDB Point Data grids.