CigiBaseMaritimeSurfaceCtrl.h

Go to the documentation of this file.
00001 
00055 #if !defined(_CIGI_BASE_MARITIME_SURFACE_CTRL_INCLUDED_)
00056 #define _CIGI_BASE_MARITIME_SURFACE_CTRL_INCLUDED_
00057 
00058 #include "CigiBasePacket.h"
00059 
00060 // ====================================================================
00061 // preprocessor definitions
00062 // ====================================================================
00063 
00064 #define CIGI_MARITIME_SURFACE_CTRL_PACKET_ID_V3 13
00065 #define CIGI_MARITIME_SURFACE_CTRL_PACKET_SIZE_V3 24
00066 
00067 
00068 class CigiMaritimeSurfaceCtrlV3;
00069 
00070 
00071 class CIGI_SPEC CigiBaseMaritimeSurfaceCtrl : public CigiBasePacket
00072 {
00073 
00074 friend class CigiMaritimeSurfaceCtrlV3;
00075 
00076 public:
00077 
00078    //=========================================================
00081    enum ScopeGrp
00082    {
00083       Global=0,
00084       Regional=1,
00085       Entity=2
00086    };
00087 
00088 
00089 
00090 
00091    //==> Management
00092 
00093    //=========================================================
00096    CigiBaseMaritimeSurfaceCtrl();
00097 
00098    //=========================================================
00101    virtual ~CigiBaseMaritimeSurfaceCtrl();
00102 
00103 
00104    //==> Buffer Packing/Unpacking
00105 
00106    //=========================================================
00117    virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0;
00118 
00119    //=========================================================
00129    virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0;
00130 
00131    //=========================================================
00143         virtual int GetCnvt(CigiVersionID &CnvtVersion,
00144                        CigiCnvtInfoType::Type &CnvtInfo);
00145 
00146 
00147 
00148    //==> Accessing Member Variable Values functions
00149 
00150    //+> EntityRgnID
00151 
00152    //=========================================================
00159    int SetEntityRgnID(const Cigi_uint16 EntityRgnIDIn, bool bndchk=true)
00160    {
00161       EntityRgnID = EntityRgnIDIn;
00162       return(CIGI_SUCCESS);
00163    }
00164 
00165    //=========================================================
00168    Cigi_uint16 GetEntityRgnID(void) const { return(EntityRgnID); }
00169 
00170 
00171    //+> SurfaceCondEn
00172 
00173    //=========================================================
00180    int SetSurfaceCondEn(const bool SurfaceCondEnIn, bool bndchk=true)
00181    {
00182       SurfaceCondEn = SurfaceCondEnIn;
00183       return(CIGI_SUCCESS);
00184    }
00185 
00186    //=========================================================
00189    bool GetSurfaceCondEn(void) const { return(SurfaceCondEn); }
00190 
00191 
00192    //+> WhitecapEn
00193 
00194    //=========================================================
00201    int SetWhitecapEn(const bool WhitecapEnIn, bool bndchk=true)
00202    {
00203       WhitecapEn = WhitecapEnIn;
00204       return(CIGI_SUCCESS);
00205    }
00206 
00207    //=========================================================
00210    bool GetWhitecapEn(void) const { return(WhitecapEn); }
00211 
00212 
00213    //+> Scope
00214 
00215    //=========================================================
00225    int SetScope(const ScopeGrp ScopeIn, bool bndchk=true);
00226 
00227    //=========================================================
00230    ScopeGrp GetScope(void) const { return(Scope); }
00231 
00232 
00233    //+> SurfaceHeight
00234 
00235    //=========================================================
00242    int SetSurfaceHeight(const float SurfaceHeightIn, bool bndchk=true)
00243    {
00244       SurfaceHeight = SurfaceHeightIn;
00245       return(CIGI_SUCCESS);
00246    }
00247 
00248    //=========================================================
00251    float GetSurfaceHeight(void) const { return(SurfaceHeight); }
00252 
00253 
00254    //+> WaterTemp
00255 
00256    //=========================================================
00263    int SetWaterTemp(const float WaterTempIn, bool bndchk=true)
00264    {
00265       WaterTemp = WaterTempIn;
00266       return(CIGI_SUCCESS);
00267    }
00268 
00269    //=========================================================
00272    float GetWaterTemp(void) const { return(WaterTemp); }
00273 
00274 
00275    //+> Clarity
00276 
00277    //=========================================================
00284    int SetClarity(const float ClarityIn, bool bndchk=true);
00285 
00286    //=========================================================
00289    float GetClarity(void) const { return(Clarity); }
00290 
00291 
00292 
00293 protected:
00294 
00295    //==> Member variables
00296 
00297    //=========================================================
00301    Cigi_uint16 EntityRgnID;
00302 
00303    //=========================================================
00307    bool SurfaceCondEn;
00308 
00309    //=========================================================
00313    bool WhitecapEn;
00314 
00315    //=========================================================
00323    ScopeGrp Scope;
00324 
00325    //=========================================================
00329    float SurfaceHeight;
00330 
00331    //=========================================================
00335    float WaterTemp;
00336 
00337    //=========================================================
00341    float Clarity;
00342 
00343 
00344 };
00345 
00346 #endif // #if !defined(_CIGI_BASE_MARITIME_SURFACE_CTRL_INCLUDED_)

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