OpenVDB 5.1.0

Classes | Namespaces | Functions
PointCount.h File Reference

Various point counting methods using a VDB Point Grid. More...

`#include <openvdb/openvdb.h>`
`#include "PointDataGrid.h"`
`#include "PointMask.h"`
`#include "IndexFilter.h"`
`#include <tbb/parallel_reduce.h>`
`#include <type_traits>`
`#include <vector>`

Go to the source code of this file.

## Classes
struct | PointCountOp< PointDataTreeT, ValueIterT, FilterT >

## Namespaces
| openvdb
| openvdb::v5_1
| openvdb::v5_1::points
| openvdb::v5_1::points::point_count_internal

## Functions
template<typename PointDataTreeT >
Index64 | pointCount (const PointDataTreeT &tree, const bool inCoreOnly=false)
| Total points in the PointDataTree. More...
template<typename PointDataTreeT >
Index64 | activePointCount (const PointDataTreeT &tree, const bool inCoreOnly=false)
| Total active points in the PointDataTree. More...
template<typename PointDataTreeT >
Index64 | inactivePointCount (const PointDataTreeT &tree, const bool inCoreOnly=false)
| Total inactive points in the PointDataTree. More...
template<typename PointDataTreeT >
Index64 | getPointOffsets (std::vector< Index64 > &pointOffsets, const PointDataTreeT &tree, const std::vector< Name > &includeGroups=std::vector< Name >(), const std::vector< Name > &excludeGroups=std::vector< Name >(), const bool inCoreOnly=false)
| Populate an array of cumulative point offsets per leaf node. More...
template<typename PointDataTreeT >
Index64 | groupPointCount (const PointDataTreeT &tree, const Name &name, const bool inCoreOnly=false)
| Total points in the group in the PointDataTree. More...
template<typename PointDataTreeT >
Index64 | activeGroupPointCount (const PointDataTreeT &tree, const Name &name, const bool inCoreOnly=false)
| Total active points in the group in the PointDataTree. More...
template<typename PointDataTreeT >
Index64 | inactiveGroupPointCount (const PointDataTreeT &tree, const Name &name, const bool inCoreOnly=false)
| Total inactive points in the group in the PointDataTree. More...
template<typename PointDataGridT , typename GridT = typename PointDataGridT::template ValueConverter<Int32>::Type>
std::enable_if< std::is_integral< typename GridT::ValueType >::value||std::is_floating_point< typename GridT::ValueType >::value, typename GridT::Ptr >::type | pointCountGrid (const PointDataGridT &grid, const std::vector< Name > &includeGroups=std::vector< Name >(), const std::vector< Name > &excludeGroups=std::vector< Name >())
| Generate a new grid with voxel values to store the number of points per voxel. More...
template<typename PointDataGridT , typename GridT = typename PointDataGridT::template ValueConverter<Int32>::Type>
std::enable_if< std::is_integral< typename GridT::ValueType >::value||std::is_floating_point< typename GridT::ValueType >::value, typename GridT::Ptr >::type | pointCountGrid (const PointDataGridT &grid, const openvdb::math::Transform &transform, const std::vector< Name > &includeGroups=std::vector< Name >(), const std::vector< Name > &excludeGroups=std::vector< Name >())
| Generate a new grid that uses the supplied transform with voxel values to store the number of points per voxel. More...
template<typename PointDataTreeT , typename FilterT , typename ValueIterT >
Index64 | threadedFilterPointCount (const PointDataTreeT &tree, const FilterT &filter, const bool inCoreOnly=false)
template<typename PointDataTreeT , typename FilterT >
Index64 | filterPointCount (const PointDataTreeT &tree, const FilterT &filter, const bool inCoreOnly=false)
template<typename PointDataTreeT , typename FilterT >
Index64 | filterActivePointCount (const PointDataTreeT &tree, const FilterT &filter, const bool inCoreOnly=false)
template<typename PointDataTreeT , typename FilterT >
Index64 | filterInactivePointCount (const PointDataTreeT &tree, const FilterT &filter, const bool inCoreOnly=false)

## Detailed Description

Various point counting methods using a VDB Point Grid.

Author
  Dan Bailey