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 "vtkImagingCoreModule.h" // For export macro 00039 #include "vtkSystemIncludes.h" 00040 00041 class VTKIMAGINGCORE_EXPORT vtkImageBSplineInternals 00042 { 00043 public: 00047 static int GetPoleValues(double poles[4], long &numPoles, long degree); 00048 00050 00051 static void ConvertToInterpolationCoefficients( 00052 double data[], long size, long border, double poles[4], long numPoles, 00053 double tol); 00055 00057 00059 static int GetInterpolationWeights( 00060 double weights[10], double w, long degree); 00061 static int GetInterpolationWeights( 00062 float weights[10], double w, long degree); 00064 00066 00068 static int InterpolatedValue( 00069 const double *coeffs, double *value, 00070 long width, long height, long slices, long depth, 00071 double x, double y, double z, long degree, long border); 00072 static int InterpolatedValue( 00073 const float *coeffs, float *value, 00074 long width, long height, long slices, long depth, 00075 double x, double y, double z, long degree, long border); 00077 00078 protected: 00079 vtkImageBSplineInternals() {}; 00080 ~vtkImageBSplineInternals() {}; 00081 00082 static double InitialCausalCoefficient( 00083 double data[], long size, long border, double pole, double tol); 00084 00085 static double InitialAntiCausalCoefficient( 00086 double data[], long size, long border, double pole, double tol); 00087 00088 private: 00089 vtkImageBSplineInternals(const vtkImageBSplineInternals&); // Not implemented. 00090 void operator=(const vtkImageBSplineInternals&); // Not implemented. 00091 }; 00092 00093 #endif 00094 // VTK-HeaderTest-Exclude: vtkImageBSplineInternals.h