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>
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>
99 typename PromoteType<ValueT>::Highest
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(),
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(),
207 template <
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(),
224 #endif // OPENVDB_POINTS_STATISTICS_HAS_BEEN_INCLUDED
GLdouble GLdouble GLint GLint const GLdouble * points
#define OPENVDB_USE_VERSION_NAMESPACE
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
bool evalAverage(const PointDataTreeT &points, const std::string &attribute, typename ConvertElementType< ValueT, double >::Type &average, const FilterT &filter, typename PointDataTreeT::template ValueConverter< ResultTreeT >::Type *averageTree)
Evaluates the average value of a point attribute and returns whether the value is valid...
General-purpose arithmetic and comparison routines, most of which accept arbitrary value types (or at...
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
OIIO_API bool attribute(string_view name, TypeDesc type, const void *val)
bool accumulate(const PointDataTreeT &points, const std::string &attribute, typename PromoteType< ValueT >::Highest &total, const FilterT &filter, typename PointDataTreeT::template ValueConverter< ResultTreeT >::Type *totalTree)
Evaluates the total value of a point attribute and returns whether the value is valid. Optionally constructs localised total value trees.
A LeafManager manages a linear array of pointers to a given tree's leaf nodes, as well as optional au...
bool evalMinMax(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)
Evaluates the minimum and maximum values of a point attribute and returns whether the values are vali...
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter