Class OpenVDS::VolumeSampler

template<typename T, InterpolationMethod INTERPMETHOD, bool ISUSENOVALUE>
class VolumeSampler

Public Functions

inline VolumeSampler()
inline VolumeSampler(const int (&anSize)[DataBlockDimensionality_Max], const int (&anPitch)[DataBlockDimensionality_Max], float rangeMin, float rangeMax, float integerScale, float integerOffset, float noValalue, float replacementNoValue)
Parameters:
  • anSize – the (at least 3D) size of the buffer to be sampled

  • anPitch – the (at least 3D) pitch of the buffer to be sampled

  • rangeMin – the value range minimum of the data to be sampled

  • rangemax – the value range maximum of the data to be sampled

  • noValalue – the no value for the data to be sampled

  • replacementNoValue – the value to replace any NoValues with

inline TREAL Sample3D(const T *ptBuffer, FloatVector3 localIndex) const

Sample the given buffer at the the given 3D index

The returned TREAL type is double when T is double, int32, or int64 and float for all other types

Parameters:
  • ptBuffer – pointer to the buffer to be samples

  • localIndex – the local 3D index into the buffer

Returns:

a TREAL sampled using the ::InterpolationType at the given index

inline bool IsHeightValid(T tHeight) const
inline TREAL Sample2D(const T *ptBuffer, FloatVector2 localIndex) const

Sample the given buffer at the the given 2D index

The returned TREAL type is double when T is double, int32, or int64 and float for all other types

Parameters:
  • ptBuffer – pointer to the buffer to be samples

  • localIndex – the local 2D index into the buffer

Returns:

a TREAL sampled using the ::InterpolationType at the given index

Public Static Attributes

static constexpr int DataBlockDimensionality_Max = 4