14#ifndef OPENVDB_POINTS_STATISTICS_HAS_BEEN_INCLUDED 
   15#define OPENVDB_POINTS_STATISTICS_HAS_BEEN_INCLUDED 
   25#include <tbb/parallel_reduce.h> 
   26#include <tbb/parallel_for.h> 
   46template <
typename ValueT,
 
   47    typename CodecT = UnknownCodec,
 
   48    typename FilterT = NullFilter,
 
   49    typename PointDataTreeT>
 
   50std::pair<ValueT, ValueT>
 
   52    const std::string& attribute,
 
   53    const FilterT& filter = NullFilter());
 
   71template <
typename ValueT,
 
   72    typename CodecT = UnknownCodec,
 
   73    typename FilterT = NullFilter,
 
   74    typename PointDataTreeT>
 
   75typename ConvertElementType<ValueT, double>::Type
 
   77    const std::string& attribute,
 
   78    const FilterT& filter = NullFilter());
 
   95template <
typename ValueT,
 
   96    typename CodecT = UnknownCodec,
 
   97    typename FilterT = NullFilter,
 
   98    typename PointDataTreeT>
 
   99typename PromoteType<ValueT>::Highest
 
  101    const std::string& attribute,
 
  102    const FilterT& filter = NullFilter());
 
  125template <
typename ValueT,
 
  126    typename CodecT = UnknownCodec,
 
  127    typename FilterT = NullFilter,
 
  128    typename PointDataTreeT>
 
  130    const std::string& attribute,
 
  133    const FilterT& filter = NullFilter(),
 
  134    typename PointDataTreeT::template ValueConverter<ValueT>::Type* minTree = 
nullptr,
 
  135    typename PointDataTreeT::template ValueConverter<ValueT>::Type* maxTree = 
nullptr);
 
  167template <
typename ValueT,
 
  168    typename CodecT = UnknownCodec,
 
  169    typename FilterT = NullFilter,
 
  170    typename PointDataTreeT,
 
  171    typename ResultTreeT = 
typename ConvertElementType<ValueT, double>::Type>
 
  173    const std::string& attribute,
 
  174    typename ConvertElementType<ValueT, double>::Type& average,
 
  175    const FilterT& filter = NullFilter(),
 
  176    typename PointDataTreeT::template ValueConverter<ResultTreeT>::Type* averageTree = 
nullptr);
 
  207template <
typename ValueT,
 
  208    typename CodecT = UnknownCodec,
 
  209    typename FilterT = NullFilter,
 
  210    typename PointDataTreeT,
 
  211    typename ResultTreeT = 
typename PromoteType<ValueT>::Highest>
 
  213    const std::string& attribute,
 
  214    typename PromoteType<ValueT>::Highest& total,
 
  215    const FilterT& filter = NullFilter(),
 
  216    typename PointDataTreeT::template ValueConverter<ResultTreeT>::Type* totalTree = 
nullptr);
 
A LeafManager manages a linear array of pointers to a given tree's leaf nodes, as well as optional au...
General-purpose arithmetic and comparison routines, most of which accept arbitrary value types (or at...
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
PromoteType< ValueT >::Highest accumulate(const PointDataTreeT &points, const std::string &attribute, const FilterT &filter=NullFilter())
Evaluates the total value of a point attribute.
Definition PointStatisticsImpl.h:530
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.
Definition PointStatisticsImpl.h:498
ConvertElementType< ValueT, double >::Type evalAverage(const PointDataTreeT &points, const std::string &attribute, const FilterT &filter=NullFilter())
Evaluates the average value of a point attribute.
Definition PointStatisticsImpl.h:515
Definition Exceptions.h:13
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:218