VTK  9.0.3
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(double data[], long size, long border,
56  double poles[4], long numPoles, double tol) VTK_SIZEHINT(data, size);
57 
59 
63  static int GetInterpolationWeights(double weights[10], double w, long degree);
64  static int GetInterpolationWeights(float weights[10], double w, long degree);
66 
68 
72  static int InterpolatedValue(const double* coeffs, double* value, long width, long height,
73  long slices, long depth, double x, double y, double z, long degree, long border);
74  static int InterpolatedValue(const float* coeffs, float* value, long width, long height,
75  long slices, long depth, double x, double y, double z, long degree, long border);
77 
78 protected:
81 
82  static double InitialCausalCoefficient(
83  double data[], long size, long border, double pole, double tol);
84 
86  double data[], long size, long border, double pole, double tol);
87 
88 private:
90  void operator=(const vtkImageBSplineInternals&) = delete;
91 };
92 
93 #endif
94 // VTK-HeaderTest-Exclude: vtkImageBSplineInternals.h
static int InterpolatedValue(const float *coeffs, float *value, long width, long height, long slices, long depth, double x, double y, double z, long degree, long border)
static int GetInterpolationWeights(double weights[10], double w, long degree)
Internal method.
static int GetInterpolationWeights(float weights[10], double w, long degree)
static int InterpolatedValue(const double *coeffs, double *value, long width, long height, long slices, long depth, double x, double y, double z, long degree, long border)
Internal method.
static double InitialCausalCoefficient(double data[], long size, long border, double pole, double tol)
static int GetPoleValues(double poles[4], long &numPoles, long degree)
Internal method.
static double InitialAntiCausalCoefficient(double data[], long size, long border, double pole, double tol)
static void ConvertToInterpolationCoefficients(double data[], long size, long border, double poles[4], long numPoles, double tol)
Internal method.
@ value
Definition: vtkX3D.h:226
@ height
Definition: vtkX3D.h:260
@ size
Definition: vtkX3D.h:259
@ data
Definition: vtkX3D.h:321
boost::graph_traits< vtkGraph * >::degree_size_type degree(boost::graph_traits< vtkGraph * >::vertex_descriptor u, vtkGraph *g)
#define VTK_SIZEHINT(...)