CigiBaseEnvCtrl.h

Go to the documentation of this file.
00001 
00055 #if !defined(_CIGI_BASE_ENV_CTRL_INCLUDED_)
00056 #define _CIGI_BASE_ENV_CTRL_INCLUDED_
00057 
00058 #include "CigiBasePacket.h"
00059 
00060 // ====================================================================
00061 // preprocessor definitions
00062 // ====================================================================
00063 
00064 #define CIGI_ENV_CTRL_PACKET_ID_V1 6
00065 #define CIGI_ENV_CTRL_PACKET_SIZE_V1 28
00066 
00067 #define CIGI_ENV_CTRL_PACKET_ID_V2 6
00068 #define CIGI_ENV_CTRL_PACKET_SIZE_V2 36
00069 
00070 #define CIGI_ATMOS_CTRL_PACKET_ID_V3 10
00071 #define CIGI_ATMOS_CTRL_PACKET_SIZE_V3 32
00072 
00073 #define CIGI_CELESTIAL_CTRL_PACKET_ID_V3 9
00074 #define CIGI_CELESTIAL_CTRL_PACKET_SIZE_V3 16
00075 
00076 
00077 class CigiEnvCtrlV1;
00078 class CigiEnvCtrlV2;
00079 class CigiAtmosCtrlV3;
00080 class CigiCelestialCtrlV3;
00081 class CigiHoldEnvCtrl;
00082 
00083 
00084 class CIGI_SPEC CigiBaseEnvCtrl : public CigiBasePacket
00085 {
00086 
00087 friend class CigiEnvCtrlV1;
00088 friend class CigiEnvCtrlV2;
00089 friend class CigiAtmosCtrlV3;
00090 friend class CigiCelestialCtrlV3;
00091 friend class CigiHoldEnvCtrl;
00092 
00093 protected:
00094 
00095    // This class can only be instanciated by friend classes
00096    //   and should be only instanced by the session manager.
00097 
00098    //==> Management
00099 
00100    //=========================================================
00103    CigiBaseEnvCtrl();
00104 
00105    //=========================================================
00108    virtual ~CigiBaseEnvCtrl();
00109 
00110 
00111 public:
00112 
00113    //==> Buffer Packing/Unpacking
00114 
00115    //=========================================================
00126    virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0;
00127 
00128    //=========================================================
00138    virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0;
00139 
00140    //=========================================================
00152         virtual int GetCnvt(CigiVersionID &CnvtVersion,
00153                        CigiCnvtInfoType::Type &CnvtInfo);
00154 
00155 
00156    //==> Hold Object Manipulation
00157 
00158    //=========================================================
00162    virtual void FillHold(CigiBaseEnvCtrl * Hold) const=0;
00163 
00164 
00165 
00166    //==> Accessing Member Variable Values functions
00167 
00168 
00169 protected:
00170 
00171    //==> Member variables
00172 
00173    //=========================================================
00177    Cigi_uint8 Hour;
00178 
00179    //=========================================================
00183    Cigi_uint8 Minute;
00184 
00185    //=========================================================
00189    Cigi_uint8 Month;
00190 
00191    //=========================================================
00195    Cigi_uint8 Day;
00196 
00197    //=========================================================
00201    Cigi_uint16 Year;
00202 
00203    //=========================================================
00207    float StarInt;
00208 
00209    //=========================================================
00213    bool EphemerisEn;
00214 
00215    //=========================================================
00219    bool SunEn;
00220 
00221    //=========================================================
00225    bool MoonEn;
00226 
00227    //=========================================================
00231    bool StarEn;
00232 
00233    //=========================================================
00237    bool DateVld;
00238 
00239    //=========================================================
00243    bool AtmosEn;
00244 
00245    //=========================================================
00249    float Aerosol;
00250 
00251    //=========================================================
00255    Cigi_uint8 Humidity;
00256 
00257    //=========================================================
00261    float AirTemp;
00262 
00263    //=========================================================
00267    float Visibility;
00268 
00269    //=========================================================
00273    float HorizWindSp;
00274 
00275    //=========================================================
00279    float VertWindSp;
00280 
00281    //=========================================================
00285    float WindDir;
00286 
00287    //=========================================================
00291    float BaroPress;
00292 
00293 
00294 };
00295 
00296 #endif // #if !defined(_CIGI_BASE_ENV_CTRL_INCLUDED_)CL

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