Go to the documentation of this file.
29 #ifndef vtkAbstractImageInterpolator_h
30 #define vtkAbstractImageInterpolator_h
35 #define VTK_IMAGE_BORDER_CLAMP 0
36 #define VTK_IMAGE_BORDER_REPEAT 1
37 #define VTK_IMAGE_BORDER_MIRROR 2
126 void InterpolateIJK(
const double point[3],
double *
value);
127 void InterpolateIJK(
const float point[3],
float *
value);
135 bool CheckBoundsIJK(
const double x[3]);
136 bool CheckBoundsIJK(
const float x[3]);
179 const double matrix[16],
const int extent[6],
int checkExtent[6],
182 const float matrix[16],
const int extent[6],
int checkExtent[6],
254 double StructuredBoundsDouble[6];
255 float StructuredBoundsFloat[6];
269 void (*InterpolationFuncDouble)(
271 void (*InterpolationFuncFloat)(
274 void (*RowInterpolationFuncDouble)(
276 double *outPtr,
int n);
277 void (*RowInterpolationFuncFloat)(
279 float *outPtr,
int n);
302 return !((x[0] < bounds[0]) | (
x[0] > bounds[1]) |
303 (
x[1] < bounds[2]) | (
x[1] > bounds[3]) |
304 (
x[2] < bounds[4]) | (
x[2] > bounds[5]));
310 return !((x[0] < bounds[0]) | (
x[0] > bounds[1]) |
311 (
x[1] < bounds[2]) | (
x[1] > bounds[3]) |
312 (
x[2] < bounds[4]) | (
x[2] > bounds[5]));
#define vtkGetVector6Macro(name, type)
GLsizei GLsizei GLenum GLenum const GLvoid * data
virtual void FreePrecomputedWeights(vtkInterpolationWeights *&weights)
virtual void GetInterpolationFunc(void(**floatfunc)(vtkInterpolationInfo *, const float[3], float *))
void SetComponentCount(int count)
virtual void GetRowInterpolationFunc(void(**doublefunc)(vtkInterpolationWeights *, int, int, int, double *, int))
GLuint GLuint GLsizei count
void SetTolerance(double tol)
GLsizei GLsizei GLuint * obj
vtkAbstractImageInterpolator()
void SetComponentOffset(int offset)
void(* InterpolationFuncFloat)(vtkInterpolationInfo *info, const float point[3], float *outPtr)
void(* InterpolationFuncDouble)(vtkInterpolationInfo *info, const double point[3], double *outPtr)
#define vtkTypeMacro(thisClass, superclass)
int ComputeNumberOfComponents(int inputComponents)
abstract base class for most VTK objects
#define VTK_IMAGE_BORDER_MIRROR
int GetNumberOfComponents()
GLint GLint GLint GLint GLint x
abstract superclass for arrays of numeric data
virtual void PrintSelf(ostream &os, vtkIndent indent)
bool CheckBoundsIJK(const double x[3])
virtual void InternalDeepCopy(vtkAbstractImageInterpolator *obj)=0
float StructuredBoundsFloat[6]
virtual void ReleaseData()
void DeepCopy(vtkAbstractImageInterpolator *obj)
~vtkAbstractImageInterpolator()
#define vtkGetVector3Macro(name, type)
GLsizei const GLfloat * value
#define VTK_IMAGE_BORDER_CLAMP
void SetBorderMode(int mode)
void SetBorderModeToRepeat()
virtual void ComputeSupportSize(const double matrix[16], int support[3])=0
void(* RowInterpolationFuncDouble)(vtkInterpolationWeights *weights, int idX, int idY, int idZ, double *outPtr, int n)
topologically and geometrically regular array of data
a simple class to control print indentation
void InterpolateIJK(const double point[3], double *value)
virtual void InternalUpdate()=0
virtual void Initialize(vtkDataObject *data)
#define VTK_IMAGE_BORDER_REPEAT
void InterpolateRow(vtkInterpolationWeights *&weights, int xIdx, int yIdx, int zIdx, double *value, int n)
void SetBorderModeToMirror()
void SetBorderModeToClamp()
bool Interpolate(const double point[3], double *value)
GLint GLint GLint GLint GLint GLint y
virtual void PrecomputeWeightsForExtent(const float matrix[16], const int extent[6], int checkExtent[6], vtkInterpolationWeights *&weights)
virtual bool IsSeparable()=0
double Interpolate(double x, double y, double z, int component)
virtual void GetInterpolationFunc(void(**doublefunc)(vtkInterpolationInfo *, const double[3], double *))
vtkInterpolationInfo * InterpolationInfo
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
void SetOutValue(double outValue)
#define VTKIMAGINGCORE_EXPORT
interpolate data values from images
general representation of visualization data
virtual void PrecomputeWeightsForExtent(const double matrix[16], const int extent[6], int checkExtent[6], vtkInterpolationWeights *&weights)
void(* RowInterpolationFuncFloat)(vtkInterpolationWeights *weights, int idX, int idY, int idZ, float *outPtr, int n)
double StructuredBoundsDouble[6]
virtual void GetRowInterpolationFunc(void(**floatfunc)(vtkInterpolationWeights *, int, int, int, float *, int))
const char * GetBorderModeAsString()