VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImageBSplineInternals.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00035 #ifndef __vtkImageBSplineInternals_h 00036 #define __vtkImageBSplineInternals_h 00037 00038 #include "vtkSystemIncludes.h" 00039 00040 class VTK_FILTERING_EXPORT vtkImageBSplineInternals 00041 { 00042 public: 00046 static int GetPoleValues(double poles[4], long &numPoles, long degree); 00047 00049 00050 static void ConvertToInterpolationCoefficients( 00051 double data[], long size, long border, double poles[4], long numPoles, 00052 double tol); 00054 00056 00058 static int GetInterpolationWeights( 00059 double weights[10], double w, long degree); 00060 static int GetInterpolationWeights( 00061 float weights[10], double w, long degree); 00063 00065 00067 static int InterpolatedValue( 00068 const double *coeffs, double *value, 00069 long width, long height, long slices, long depth, 00070 double x, double y, double z, long degree, long border); 00071 static int InterpolatedValue( 00072 const float *coeffs, float *value, 00073 long width, long height, long slices, long depth, 00074 double x, double y, double z, long degree, long border); 00076 00077 protected: 00078 vtkImageBSplineInternals() {}; 00079 ~vtkImageBSplineInternals() {}; 00080 00081 static double InitialCausalCoefficient( 00082 double data[], long size, long border, double pole, double tol); 00083 00084 static double InitialAntiCausalCoefficient( 00085 double data[], long size, long border, double pole, double tol); 00086 00087 private: 00088 vtkImageBSplineInternals(const vtkImageBSplineInternals&); // Not implemented. 00089 void operator=(const vtkImageBSplineInternals&); // Not implemented. 00090 }; 00091 00092 #endif