00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef _itkParametricPath_h
00019
#define _itkParametricPath_h
00020
00021
#include "itkPath.h"
00022
#include "itkContinuousIndex.h"
00023
#include "itkIndex.h"
00024
#include "itkOffset.h"
00025
#include "itkVector.h"
00026
00027
namespace itk
00028 {
00029
00030
00061
template <
unsigned int VDimension>
00062 class ITK_EXPORT ParametricPath :
public
00063
Path< double, ContinuousIndex<double,VDimension>, VDimension >
00064 {
00065
public:
00067 typedef ParametricPath
Self;
00068 typedef Path<double,ContinuousIndex<double,VDimension>,VDimension>
Superclass;
00069 typedef SmartPointer<Self> Pointer;
00070 typedef SmartPointer<const Self> ConstPointer;
00071
00073
itkTypeMacro(ParametricPath,
Path);
00074
00076 typedef typename Superclass::InputType
InputType;
00077
00079 typedef typename Superclass::OutputType
OutputType;
00080
00081
00083 typedef ContinuousIndex<double,VDimension> ContinuousIndexType;
00084 typedef Index< VDimension > IndexType;
00085 typedef Offset< VDimension > OffsetType;
00086 typedef Vector<double,VDimension> VectorType;
00087
00088
00091
virtual IndexType EvaluateToIndex(
const InputType & input )
const;
00092
00108
virtual OffsetType IncrementInput(
InputType & input)
const;
00109
00116
virtual VectorType EvaluateDerivative(
const InputType & input)
const;
00117
00118
itkGetConstMacro( DefaultInputStepSize,
InputType )
00119
00120
00121 protected:
00122 ParametricPath(){}
00123 ~ParametricPath(){}
00124
void PrintSelf(std::ostream &os,
Indent indent)
const;
00125
00136 InputType m_DefaultInputStepSize;
00137
00138
private:
00139 ParametricPath(
const Self&);
00140
void operator=(
const Self&);
00141
00142 };
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
#if (defined(_WIN32) || defined(WIN32)) && !defined(ITKSTATIC)
00153
# ifndef ITKCommon_EXPORTS
00154
template class __declspec(dllimport) ParametricPath<2>;
00155 #endif
00156 #endif
00157
00158 }
00159
00160 #ifndef ITK_MANUAL_INSTANTIATION
00161 #include "itkParametricPath.txx"
00162 #endif
00163
00164 #endif