OpenVDB
5.0.0
|
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_0 | |
openvdb::v5_0::points | |
openvdb::v5_0::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) |
Various point counting methods using a VDB Point Grid.