CigiBaseEarthModelDef.h

Go to the documentation of this file.
00001 
00052 #if !defined(_CIGI_BASE_EARTH_MODEL_DEF_INCLUDED_)
00053 #define _CIGI_BASE_EARTH_MODEL_DEF_INCLUDED_
00054 
00055 #include "CigiBasePacket.h"
00056 
00057 // ====================================================================
00058 // preprocessor definitions
00059 // ====================================================================
00060 
00061 #define CIGI_EARTH_MODEL_DEF_PACKET_ID_V3 19
00062 #define CIGI_EARTH_MODEL_DEF_PACKET_SIZE_V3 24
00063 
00064 
00065 class CigiEarthModelDefV3;
00066 
00067 
00068 class CIGI_SPEC CigiBaseEarthModelDef : public CigiBasePacket
00069 {
00070 
00071 friend class CigiEarthModelDefV3;
00072 
00073 public:
00074 
00075    //==> Management
00076 
00077    //=========================================================
00080    CigiBaseEarthModelDef() { };
00081 
00082    //=========================================================
00085    virtual ~CigiBaseEarthModelDef() { };
00086 
00087 
00088    //==> Buffer Packing/Unpacking
00089 
00090    //=========================================================
00101    virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0;
00102 
00103    //=========================================================
00113    virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0;
00114 
00115    //=========================================================
00127         virtual int GetCnvt(CigiVersionID &CnvtVersion,
00128                        CigiCnvtInfoType::Type &CnvtInfo)
00129    {
00130       if(CnvtVersion.CigiMajorVersion < 3)
00131       {
00132          CnvtInfo.ProcID = CigiProcessType::ProcNone;
00133          CnvtInfo.CnvtPacketID = 0;
00134       }
00135       else
00136       {
00137          CnvtInfo.ProcID = CigiProcessType::ProcStd;
00138          CnvtInfo.CnvtPacketID = CIGI_EARTH_MODEL_DEF_PACKET_ID_V3;
00139       }
00140 
00141       return(CIGI_SUCCESS);
00142    }
00143 
00144 
00145 
00146    //==> Accessing Member Variable Values functions
00147 
00148    //+> CustomERMEn
00149 
00150    //=========================================================
00157    int SetCustomERMEn(const bool CustomERMEnIn, bool bndchk=true)
00158    {
00159       CustomERMEn = CustomERMEnIn;
00160       return(CIGI_SUCCESS);
00161    }
00162 
00163    //=========================================================
00166    bool GetCustomERMEn(void) const { return(CustomERMEn); }
00167 
00168 
00169    //+> EquatorialRadius
00170 
00171    //=========================================================
00178    int SetEquatorialRadius(const double EquatorialRadiusIn, bool bndchk=true)
00179    {
00180       EquatorialRadius = EquatorialRadiusIn;
00181       return(CIGI_SUCCESS);
00182    }
00183 
00184    //=========================================================
00187    double GetEquatorialRadius(void) const { return(EquatorialRadius); }
00188 
00189 
00190    //+> Flattening
00191 
00192    //=========================================================
00199    int SetFlattening(const double FlatteningIn, bool bndchk=true)
00200    {
00201       Flattening = FlatteningIn;
00202       return(CIGI_SUCCESS);
00203    }
00204 
00205    //=========================================================
00208    double GetFlattening(void) const { return(Flattening); }
00209 
00210 
00211 
00212 protected:
00213 
00214    //==> Member variables
00215 
00216    //=========================================================
00220    bool CustomERMEn;
00221 
00222    //=========================================================
00226    double EquatorialRadius;
00227 
00228    //=========================================================
00232    double Flattening;
00233 
00234 
00235 };
00236 
00237 #endif // #if !defined(_CIGI_BASE_EARTH_MODEL_DEF_INCLUDED_)

Generated on Wed Apr 29 08:59:55 2009 for CCL by  doxygen 1.4.7