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