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> 46 template <
typename ValueT,
47 typename CodecT = UnknownCodec,
48 typename FilterT = NullFilter,
49 typename PointDataTreeT>
50 std::pair<ValueT, ValueT>
52 const std::string& attribute,
53 const FilterT& filter = NullFilter());
71 template <
typename ValueT,
72 typename CodecT = UnknownCodec,
73 typename FilterT = NullFilter,
74 typename PointDataTreeT>
77 const std::string& attribute,
78 const FilterT& filter = NullFilter());
95 template <
typename ValueT,
96 typename CodecT = UnknownCodec,
97 typename FilterT = NullFilter,
98 typename PointDataTreeT>
101 const std::string& attribute,
102 const FilterT& filter = NullFilter());
125 template <
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);
167 template <
typename ValueT,
168 typename CodecT = UnknownCodec,
169 typename FilterT = NullFilter,
170 typename PointDataTreeT,
173 const std::string& attribute,
175 const FilterT& filter = NullFilter(),
176 typename PointDataTreeT::template ValueConverter<ResultTreeT>::Type* averageTree =
nullptr);
207 template <
typename ValueT,
208 typename CodecT = UnknownCodec,
209 typename FilterT = NullFilter,
210 typename PointDataTreeT,
213 const std::string& attribute,
215 const FilterT& filter = NullFilter(),
216 typename PointDataTreeT::template ValueConverter<ResultTreeT>::Type* totalTree =
nullptr);
224 #endif // OPENVDB_POINTS_STATISTICS_HAS_BEEN_INCLUDED
General-purpose arithmetic and comparison routines, most of which accept arbitrary value types (or at...
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 vali...
Definition: PointStatisticsImpl.h:281
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.
Definition: PointStatisticsImpl.h:409
Definition: Exceptions.h:13
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...
Definition: PointStatisticsImpl.h:298
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
SubT Type
Definition: Types.h:320
A LeafManager manages a linear array of pointers to a given tree's leaf nodes, as well as optional au...
#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