14 #ifndef OPENVDB_POINTS_STATISTICS_HAS_BEEN_INCLUDED 15 #define OPENVDB_POINTS_STATISTICS_HAS_BEEN_INCLUDED 24 #include <tbb/parallel_reduce.h> 25 #include <tbb/parallel_for.h> 45 template <
typename ValueT,
46 typename CodecT = UnknownCodec,
47 typename FilterT = NullFilter,
48 typename PointDataTreeT>
49 std::pair<ValueT, ValueT>
51 const std::string& attribute,
52 const FilterT& filter = NullFilter());
70 template <
typename ValueT,
71 typename CodecT = UnknownCodec,
72 typename FilterT = NullFilter,
73 typename PointDataTreeT>
76 const std::string& attribute,
77 const FilterT& filter = NullFilter());
94 template <
typename ValueT,
95 typename CodecT = UnknownCodec,
96 typename FilterT = NullFilter,
97 typename PointDataTreeT>
100 const std::string& attribute,
101 const FilterT& filter = NullFilter());
124 template <
typename ValueT,
125 typename CodecT = UnknownCodec,
126 typename FilterT = NullFilter,
127 typename PointDataTreeT>
129 const std::string& attribute,
132 const FilterT& filter = NullFilter(),
133 typename PointDataTreeT::template ValueConverter<ValueT>::Type* minTree =
nullptr,
134 typename PointDataTreeT::template ValueConverter<ValueT>::Type* maxTree =
nullptr);
166 template <
typename ValueT,
167 typename CodecT = UnknownCodec,
168 typename FilterT = NullFilter,
169 typename PointDataTreeT,
172 const std::string& attribute,
174 const FilterT& filter = NullFilter(),
175 typename PointDataTreeT::template ValueConverter<ResultTreeT>::Type* averageTree =
nullptr);
206 template <
typename ValueT,
207 typename CodecT = UnknownCodec,
208 typename FilterT = NullFilter,
209 typename PointDataTreeT,
212 const std::string& attribute,
214 const FilterT& filter = NullFilter(),
215 typename PointDataTreeT::template ValueConverter<ResultTreeT>::Type* totalTree =
nullptr);
223 #endif // OPENVDB_POINTS_STATISTICS_HAS_BEEN_INCLUDED General-purpose arithmetic and comparison routines, most of which accept arbitrary value types (or at...
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
SubT Type
Definition: Types.h:320
Definition: Exceptions.h:13
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
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
A LeafManager manages a linear array of pointers to a given tree's leaf nodes, as well as optional au...
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
#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:212