VTK
vtkImageBSplineInternals.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageBSplineInternals.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
36 #ifndef vtkImageBSplineInternals_h
37 #define vtkImageBSplineInternals_h
38 
39 #include "vtkImagingCoreModule.h" // For export macro
40 #include "vtkSystemIncludes.h"
41 
42 class VTKIMAGINGCORE_EXPORT vtkImageBSplineInternals
43 {
44 public:
50  static int GetPoleValues(double poles[4], long &numPoles, long degree);
51 
55  static void ConvertToInterpolationCoefficients(
56  double data[], long size, long border, double poles[4], long numPoles,
57  double tol) VTK_SIZEHINT(data, size);
58 
60 
64  static int GetInterpolationWeights(
65  double weights[10], double w, long degree);
66  static int GetInterpolationWeights(
67  float weights[10], double w, long degree);
69 
71 
75  static int InterpolatedValue(
76  const double *coeffs, double *value,
77  long width, long height, long slices, long depth,
78  double x, double y, double z, long degree, long border);
79  static int InterpolatedValue(
80  const float *coeffs, float *value,
81  long width, long height, long slices, long depth,
82  double x, double y, double z, long degree, long border);
84 
85 protected:
88 
89  static double InitialCausalCoefficient(
90  double data[], long size, long border, double pole, double tol);
91 
92  static double InitialAntiCausalCoefficient(
93  double data[], long size, long border, double pole, double tol);
94 
95 private:
97  void operator=(const vtkImageBSplineInternals&) = delete;
98 };
99 
100 #endif
101 // VTK-HeaderTest-Exclude: vtkImageBSplineInternals.h
#define VTK_SIZEHINT(...)
boost::graph_traits< vtkGraph * >::degree_size_type degree(boost::graph_traits< vtkGraph * >::vertex_descriptor u, vtkGraph *g)