00001 #ifndef OBJINTERFACES_3D_H
00002 #define OBJINTERFACES_3D_H
00003
00004 #include "parametermap.h"
00005
00006
00008
00009 class CObject3d {
00010
00011 public:
00012
00013 CObject3d(void){}
00014 CObject3d(const CObject3d& A){}
00015
00016
00017 virtual ~CObject3d(void){ }
00018
00019
00020 virtual bool Read(const parameterMap& m){return true;}
00021 virtual bool Write(parameterMap& m){return true;}
00022
00023
00024 virtual double getValueCart(double x, double y, double z) const = 0;
00025 virtual double getValueSphr(double r, double theta, double phi) const = 0;
00026 virtual double getErrorCart(double x, double y, double z) const = 0;
00027 virtual double getErrorSphr(double r, double theta, double phi) const = 0;
00028
00029
00030 virtual double getValueCart(double x, double y, double z) {return const_cast<const CObject3d*>(this)->getValueCart(x, y, z);}
00031 virtual double getValueSphr(double r, double theta, double phi) {return const_cast<const CObject3d*>(this)->getValueCart(r, theta, phi);}
00032 virtual double getErrorCart(double x, double y, double z) {return const_cast<const CObject3d*>(this)->getErrorCart(x, y, z);}
00033 virtual double getErrorSphr(double r, double theta, double phi) {return const_cast<const CObject3d*>(this)->getErrorCart(r, theta, phi);}
00034
00035
00036 virtual void CopyState(const CObject3d& A){}
00037
00038
00042 virtual bool readTerms( void ){ return true; }
00043
00044
00048 virtual bool writeTerms( void ){ return true; }
00049
00050 };
00051
00052 #endif