OpenVDB 5.1.0

Classes | Namespaces | Functions
PointConversion.h File Reference

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 >
struct | ConvertPointDataGridAttributeOp< PointDataTreeType, Attribute >
struct | ConvertPointDataGridGroupOp< PointDataTreeType, Group >
struct | CalculatePositionBounds< PositionArrayT >

## Namespaces
| openvdb
| openvdb::v5_1
| openvdb::v5_1::points
| openvdb::v5_1::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 >
void | convertPointDataGridPosition (PositionAttribute &positionAttribute, const PointDataGridT &grid, const std::vector< Index64 > &pointOffsets, const Index64 startOffset, const std::vector< Name > &includeGroups=std::vector< Name >(), const std::vector< Name > &excludeGroups=std::vector< Name >(), const bool inCoreOnly=false)
| Convert the position attribute from a Point Data Grid. More...
template<typename TypedAttribute , typename PointDataTreeT >
void | convertPointDataGridAttribute (TypedAttribute &attribute, const PointDataTreeT &tree, const std::vector< Index64 > &pointOffsets, const Index64 startOffset, const unsigned arrayIndex, const Index stride=1, const std::vector< Name > &includeGroups=std::vector< Name >(), const std::vector< Name > &excludeGroups=std::vector< Name >(), const bool inCoreOnly=false)
| Convert the attribute from a PointDataGrid. More...
template<typename Group , typename PointDataTreeT >
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=std::vector< Name >(), const std::vector< Name > &excludeGroups=std::vector< Name >(), 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)

## Detailed Description

Convert points and attributes to and from VDB Point Data grids.

Author
  Dan Bailey, Nick Avramoussis