/vol/vipdata/irtk/packages/transformation/include/irtkFreeFormTransformation.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _IRTKFREEFORMTRANSFORMATION_H
00014
00015 #define _IRTKFREEFORMTRANSFORMATION_H
00016
00017 #include <irtkGeometry.h>
00018
00026 class irtkFreeFormTransformation : public irtkTransformation
00027 {
00028
00029 public:
00030
00032 virtual ~irtkFreeFormTransformation();
00033
00035 virtual int GetX() const = 0;
00036
00038 virtual int GetY() const = 0;
00039
00041 virtual int GetZ() const = 0;
00042
00044 virtual int NumberOfDOFs() const = 0;
00045
00047 virtual void Put(int, double) = 0;
00048
00050 virtual double Get(int) const = 0;
00051
00053 virtual void PutStatus(int, _Status) = 0;
00054
00056 virtual _Status GetStatus(int) = 0;
00057
00059 virtual void Subdivide() = 0;
00060
00062 virtual void WorldToLattice(double &, double &, double &) const = 0;
00063
00065 virtual void LatticeToWorld(double &, double &, double &) const = 0;
00066
00068 virtual const char *NameOfClass();
00069
00070 };
00071
00072 inline const char *irtkFreeFormTransformation::NameOfClass()
00073 {
00074 return "irtkFreeFormTransformation";
00075 }
00076
00077 #endif