10 #ifndef OPENVDB_POINTS_POINT_SAMPLE_HAS_BEEN_INCLUDED
11 #define OPENVDB_POINTS_POINT_SAMPLE_HAS_BEEN_INCLUDED
22 #include <type_traits>
38 template<
typename PointDataGridT,
typename SourceGridT,
39 typename FilterT = NullFilter,
typename InterrupterT = util::NullInterrupter>
41 const SourceGridT& sourceGrid,
42 const Name& targetAttribute =
"",
43 const FilterT&
filter = NullFilter(),
44 InterrupterT*
const interrupter =
nullptr);
55 template<
typename PointDataGridT,
typename SourceGridT,
56 typename FilterT = NullFilter,
typename InterrupterT = util::NullInterrupter>
57 inline void boxSample( PointDataGridT& points,
58 const SourceGridT& sourceGrid,
59 const Name& targetAttribute =
"",
60 const FilterT&
filter = NullFilter(),
61 InterrupterT*
const interrupter =
nullptr);
72 template<
typename PointDataGridT,
typename SourceGridT,
73 typename FilterT = NullFilter,
typename InterrupterT = util::NullInterrupter>
75 const SourceGridT& sourceGrid,
76 const Name& targetAttribute =
"",
77 const FilterT&
filter = NullFilter(),
78 InterrupterT*
const interrupter =
nullptr);
87 template<
typename ValueT,
typename SamplerT,
typename AccessorT>
88 inline ValueT
sample(
const AccessorT& accessor,
const Vec3d&
position)
const;
108 template<
typename PointDataGridT,
typename SourceGridT,
typename TargetValueT =
DummySampleType,
112 PointDataGridT& points,
113 const SourceGridT& sourceGrid,
114 const Name& targetAttribute,
117 InterrupterT*
const interrupter =
nullptr,
126 #endif // OPENVDB_POINTS_POINT_SAMPLE_HAS_BEEN_INCLUDED
GLdouble GLdouble GLint GLint const GLdouble * points
#define OPENVDB_USE_VERSION_NAMESPACE
void pointSample(PointDataGridT &points, const SourceGridT &sourceGrid, const Name &targetAttribute, const FilterT &filter, InterrupterT *const interrupter)
Performs closest point sampling from a VDB grid onto a VDB Points attribute.
A no-op filter that can be used when iterating over all indices.
Base class for interrupters.
void boxSample(PointDataGridT &points, const SourceGridT &sourceGrid, const Name &targetAttribute, const FilterT &filter, InterrupterT *const interrupter)
Performs tri-linear sampling from a VDB grid onto a VDB Points attribute.
GLdouble GLdouble GLint GLint order
void sampleGrid(size_t order, PointDataGridT &points, const SourceGridT &sourceGrid, const Name &targetAttribute, const FilterT &filter, const SamplerT &sampler, InterrupterT *const interrupter, const bool threaded)
Performs sampling and conversion from a VDB grid onto a VDB Points attribute.
Point attribute manipulation in a VDB Point Grid.
SIM_API const UT_StringHolder position
void quadraticSample(PointDataGridT &points, const SourceGridT &sourceGrid, const Name &targetAttribute, const FilterT &filter, InterrupterT *const interrupter)
Performs tri-quadratic sampling from a VDB grid onto a VDB Points attribute.
#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...
ValueT sample(const AccessorT &accessor, const Vec3d &position) const
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter