OpenVDB  12.0.0
Classes | Namespaces | Typedefs | 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 <openvdb/util/Assert.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>
#include "impl/PointConversionImpl.h"

Go to the source code of this file.

Classes

class  PointAttributeVector< ValueType >
 Point-partitioner compatible STL vector attribute wrapper for convenience. More...
 
struct  ValueTypeTraits< T, typename >
 
struct  ValueTypeTraits< T, void_t< typename T::value_type > >
 

Namespaces

 openvdb
 
 openvdb::v12_0
 
 openvdb::v12_0::points
 
 openvdb::v12_0::points::internal
 

Typedefs

template<typename... >
using void_t = void
 

Functions

template<typename CompressionT , typename PointDataGridT , typename PositionArrayT , typename PointIndexGridT >
PointDataGridT::Ptr createPointDataGrid (const PointIndexGridT &pointIndexGrid, const PositionArrayT &positions, const math::Transform &xform, const Metadata *positionDefaultValue=nullptr)
 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, const Metadata *positionDefaultValue=nullptr)
 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, typename VecT = typename internal::ValueTypeTraits<PositionWrapper>::Type>
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