Loading...
Searching...
No Matches
PointStatistics.h File Reference

Functions to perform multi threaded reductions and analysis of arbitrary point attribute types. Each function imposes various requirements on the point ValueType (such as expected operators) and supports arbitrary point filters. More...

`#include "PointDataGrid.h"`
`#include <openvdb/openvdb.h>`
`#include <openvdb/Types.h>`
`#include <openvdb/math/Math.h>`
`#include <openvdb/tree/LeafManager.h>`
`#include <tbb/parallel_reduce.h>`
`#include <tbb/parallel_for.h>`

Go to the source code of this file.

## Classes

struct | ScalarMinMax< ValueT >
| Scalar extent op to evaluate the min/max values of a single integral or floating point attribute type. More...
struct | MagnitudeExtent< VecT, MagResult >
| Vector squared magnitude op to evaluate the min/max of a vector attribute and return the result as a scalar of the appropriate precision. More...
struct | MagnitudeExtent< VecT, false >
| Vector squared magnitude op to evaluate the min/max of a vector attribute and return the result as the original vector. More...
struct | ComponentExtent< VecT >
| Vector component-wise op to evaluate the min/max of vector components and return the result as a vector of equal size and precision. More...

## Namespaces

namespace | openvdb
namespace | openvdb::v10_0
namespace | openvdb::v10_0::points
namespace | openvdb::v10_0::points::statistics_internal

## Functions

template<typename ValueT, typename CodecT = UnknownCodec, typename FilterT = NullFilter, typename PointDataTreeT>
std::pair< ValueT, ValueT > | evalMinMax (const PointDataTreeT &points, const std::string &attribute, const FilterT &filter=NullFilter())
| Evaluates the minimum and maximum values of a point attribute.
template<typename ValueT, typename CodecT = UnknownCodec, typename FilterT = NullFilter, typename PointDataTreeT>
ConvertElementType< ValueT, double >::Type | evalAverage (const PointDataTreeT &points, const std::string &attribute, const FilterT &filter=NullFilter())
| Evaluates the average value of a point attribute.
template<typename ValueT, typename CodecT = UnknownCodec, typename FilterT = NullFilter, typename PointDataTreeT>
PromoteType< ValueT >::Highest | accumulate (const PointDataTreeT &points, const std::string &attribute, const FilterT &filter=NullFilter())
| Evaluates the total value of a point attribute.
template<typename ValueT, typename CodecT = UnknownCodec, typename FilterT = NullFilter, typename PointDataTreeT>
bool | evalMinMax (const PointDataTreeT &points, const std::string &attribute, ValueT &min, ValueT &max, const FilterT &filter=NullFilter(), typename PointDataTreeT::template ValueConverter< ValueT >::Type *minTree=nullptr, typename PointDataTreeT::template ValueConverter< ValueT >::Type *maxTree=nullptr)
| Evaluates the minimum and maximum values of a point attribute and returns whether the values are valid. Optionally constructs localised min and max value trees.
template<typename ValueT, typename CodecT = UnknownCodec, typename FilterT = NullFilter, typename PointDataTreeT, typename ResultTreeT = typename ConvertElementType<ValueT, double>::Type>
bool | evalAverage (const PointDataTreeT &points, const std::string &attribute, typename ConvertElementType< ValueT, double >::Type &average, const FilterT &filter=NullFilter(), typename PointDataTreeT::template ValueConverter< ResultTreeT >::Type *averageTree=nullptr)
| Evaluates the average value of a point attribute and returns whether the value is valid. Optionally constructs localised average value trees.
template<typename ValueT, typename CodecT = UnknownCodec, typename FilterT = NullFilter, typename PointDataTreeT, typename ResultTreeT = typename PromoteType<ValueT>::Highest>
bool | accumulate (const PointDataTreeT &points, const std::string &attribute, typename PromoteType< ValueT >::Highest &total, const FilterT &filter=NullFilter(), typename PointDataTreeT::template ValueConverter< ResultTreeT >::Type *totalTree=nullptr)
| Evaluates the total value of a point attribute and returns whether the value is valid. Optionally constructs localised total value trees.
template<typename ValueT, typename CodecT, typename FilterT, typename ExtentOp, typename PointDataTreeT>
bool | evalExtents (const PointDataTreeT &points, const std::string &attribute, typename ExtentOp::ExtentT &ext, const FilterT &filter, typename PointDataTreeT::template ValueConverter< typename ExtentOp::ExtentT::first_type >::Type *const minTree=nullptr, typename PointDataTreeT::template ValueConverter< typename ExtentOp::ExtentT::second_type >::Type *const maxTree=nullptr)
template<typename ValueT, typename CodecT, typename FilterT, typename PointDataTreeT, typename std::enable_if< ValueTraits< ValueT >::IsVec, int >::type = 0>
bool | evalExtents (const PointDataTreeT &points, const std::string &attribute, ValueT &min, ValueT &max, const FilterT &filter, typename PointDataTreeT::template ValueConverter< ValueT >::Type *minTree, typename PointDataTreeT::template ValueConverter< ValueT >::Type *maxTree)

## Detailed Description

Functions to perform multi threaded reductions and analysis of arbitrary point attribute types. Each function imposes various requirements on the point ValueType (such as expected operators) and supports arbitrary point filters.

Author
  Nick Avramoussis