10 #ifndef OPENVDB_POINTS_POINT_SAMPLE_HAS_BEEN_INCLUDED 11 #define OPENVDB_POINTS_POINT_SAMPLE_HAS_BEEN_INCLUDED 14 #include <openvdb/thread/Threading.h> 21 #include <type_traits> 37 template<
typename PointDataGridT,
typename SourceGridT,
38 typename FilterT = NullFilter,
typename InterrupterT = util::NullInterrupter>
40 const SourceGridT& sourceGrid,
41 const Name& targetAttribute =
"",
42 const FilterT& filter = NullFilter(),
43 InterrupterT*
const interrupter =
nullptr);
54 template<
typename PointDataGridT,
typename SourceGridT,
55 typename FilterT = NullFilter,
typename InterrupterT = util::NullInterrupter>
56 inline void boxSample( PointDataGridT& points,
57 const SourceGridT& sourceGrid,
58 const Name& targetAttribute =
"",
59 const FilterT& filter = NullFilter(),
60 InterrupterT*
const interrupter =
nullptr);
71 template<
typename PointDataGridT,
typename SourceGridT,
72 typename FilterT = NullFilter,
typename InterrupterT = util::NullInterrupter>
74 const SourceGridT& sourceGrid,
75 const Name& targetAttribute =
"",
76 const FilterT& filter = NullFilter(),
77 InterrupterT*
const interrupter =
nullptr);
86 template<
typename ValueT,
typename SamplerT,
typename AccessorT>
87 inline ValueT sample(
const AccessorT& accessor,
const Vec3d& position)
const;
107 template<
typename PointDataGridT,
typename SourceGridT,
typename TargetValueT =
DummySampleType,
111 PointDataGridT& points,
112 const SourceGridT& sourceGrid,
113 const Name& targetAttribute,
116 InterrupterT*
const interrupter =
nullptr,
117 const bool threaded =
true);
125 #endif // OPENVDB_POINTS_POINT_SAMPLE_HAS_BEEN_INCLUDED
Base class for interrupters.
Definition: NullInterrupter.h:25
Point attribute manipulation in a VDB Point Grid.
void pointSample(PointDataGridT &points, const SourceGridT &sourceGrid, const Name &targetAttribute="", const FilterT &filter=NullFilter(), InterrupterT *const interrupter=nullptr)
Performs closest point sampling from a VDB grid onto a VDB Points attribute.
Definition: PointSampleImpl.h:417
void sampleGrid(size_t order, PointDataGridT &points, const SourceGridT &sourceGrid, const Name &targetAttribute, const FilterT &filter=NullFilter(), const SamplerT &sampler=SampleWithRounding(), InterrupterT *const interrupter=nullptr, const bool threaded=true)
Performs sampling and conversion from a VDB grid onto a VDB Points attribute.
Definition: PointSampleImpl.h:319
Definition: Exceptions.h:13
std::string Name
Definition: Name.h:19
void quadraticSample(PointDataGridT &points, const SourceGridT &sourceGrid, const Name &targetAttribute="", const FilterT &filter=NullFilter(), InterrupterT *const interrupter=nullptr)
Performs tri-quadratic sampling from a VDB grid onto a VDB Points attribute.
Definition: PointSampleImpl.h:439
Definition: PointSample.h:84
void boxSample(PointDataGridT &points, const SourceGridT &sourceGrid, const Name &targetAttribute="", const FilterT &filter=NullFilter(), InterrupterT *const interrupter=nullptr)
Performs tri-linear sampling from a VDB grid onto a VDB Points attribute.
Definition: PointSampleImpl.h:428
Definition: PointSample.h:92
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:121
A no-op filter that can be used when iterating over all indices.
Definition: IndexIterator.h:50
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:212