CigiBaseLosVectReq.h

Go to the documentation of this file.
00001 
00055 #if !defined(_CIGI_BASE_LOS_VECT_REQ_INCLUDED_)
00056 #define _CIGI_BASE_LOS_VECT_REQ_INCLUDED_
00057 
00058 #include "CigiBasePacket.h"
00059 
00060 // ====================================================================
00061 // preprocessor definitions
00062 // ====================================================================
00063 
00064 #define CIGI_LOS_VECT_REQ_PACKET_ID_V1 43
00065 #define CIGI_LOS_VECT_REQ_PACKET_SIZE_V1 40
00066 
00067 #define CIGI_LOS_VECT_REQ_PACKET_ID_V2 43
00068 #define CIGI_LOS_VECT_REQ_PACKET_SIZE_V2 48
00069 
00070 #define CIGI_LOS_VECT_REQ_PACKET_ID_V3 26
00071 #define CIGI_LOS_VECT_REQ_PACKET_SIZE_V3 56
00072 
00073 #define CIGI_LOS_VECT_REQ_PACKET_ID_V3_2 26
00074 #define CIGI_LOS_VECT_REQ_PACKET_SIZE_V3_2 56
00075 
00076 
00077 class CigiLosVectReqV1;
00078 class CigiLosVectReqV2;
00079 class CigiLosVectReqV3;
00080 class CigiLosVectReqV3_2;
00081 
00082 
00083 class CIGI_SPEC CigiBaseLosVectReq : public CigiBasePacket
00084 {
00085 
00086 friend class CigiLosVectReqV1;
00087 friend class CigiLosVectReqV2;
00088 friend class CigiLosVectReqV3;
00089 friend class CigiLosVectReqV3_2;
00090 
00091 public:
00092 
00093    //=========================================================
00096    enum ReqTypeGrp
00097    {
00098       Basic=0,
00099       Extended=1
00100    };
00101 
00102    //=========================================================
00105    enum CoordSysGrp
00106    {
00107       Geodetic=0,
00108       Entity=1
00109    };
00110 
00111 
00112 
00113 
00114    //==> Management
00115 
00116    //=========================================================
00119    CigiBaseLosVectReq();
00120 
00121    //=========================================================
00124    virtual ~CigiBaseLosVectReq();
00125 
00126 
00127    //==> Buffer Packing/Unpacking
00128 
00129    //=========================================================
00140    virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0;
00141 
00142    //=========================================================
00152    virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0;
00153 
00154    //=========================================================
00166         virtual int GetCnvt(CigiVersionID &CnvtVersion,
00167                        CigiCnvtInfoType::Type &CnvtInfo);
00168 
00169 
00170 
00171    //==> Accessing Member Variable Values functions
00172 
00173    //+> LosID
00174 
00175    //=========================================================
00182    int SetLosID(const Cigi_uint16 LosIDIn, bool bndchk=true)
00183    {
00184       LosID = LosIDIn;
00185       return(CIGI_SUCCESS);
00186    }
00187 
00188    //=========================================================
00191    Cigi_uint16 GetLosID(void) const { return(LosID); }
00192 
00193 
00194    //+> VectEl
00195 
00196    //=========================================================
00203    int SetVectEl(const float VectElIn, bool bndchk=true);
00204 
00205    //=========================================================
00208    float GetVectEl(void) const { return(VectEl); }
00209 
00210 
00211    //+> MaxRange
00212 
00213    //=========================================================
00220    int SetMaxRange(const float MaxRangeIn, bool bndchk=true)
00221    {
00222       MaxRange = MaxRangeIn;
00223       return(CIGI_SUCCESS);
00224    }
00225 
00226    //=========================================================
00229    float GetMaxRange(void) const { return(MaxRange); }
00230 
00231 
00232    //+> SrcLat
00233 
00234    //=========================================================
00241    int SetSrcLat(const double SrcLatIn, bool bndchk=true);
00242 
00243    //=========================================================
00246    double GetSrcLat(void) const { return(SrcXLat); }
00247 
00248 
00249    //+> SrcLon
00250 
00251    //=========================================================
00258    int SetSrcLon(const double SrcLonIn, bool bndchk=true);
00259 
00260    //=========================================================
00263    double GetSrcLon(void) const { return(SrcYLon); }
00264 
00265 
00266    //+> SrcAlt
00267 
00268    //=========================================================
00275    int SetSrcAlt(const double SrcAltIn, bool bndchk=true)
00276    {
00277       SrcZAlt = SrcAltIn;
00278       return(CIGI_SUCCESS);
00279    }
00280 
00281    //=========================================================
00284    double GetSrcAlt(void) const { return(SrcZAlt); }
00285 
00286 
00287 
00288 protected:
00289 
00290    //==> Member variables
00291 
00292    //=========================================================
00296    Cigi_uint16 LosID;
00297 
00298    //=========================================================
00304    ReqTypeGrp ReqType;
00305 
00306    //=========================================================
00312    CoordSysGrp SrcCoordSys;
00313 
00314    //=========================================================
00320    CoordSysGrp ResponseCoordSys;
00321 
00322    //=========================================================
00326    Cigi_uint8 AlphaThresh;
00327 
00328    //=========================================================
00332    Cigi_uint16 EntityID;
00333 
00334    //=========================================================
00338    float VectAz;
00339 
00340    //=========================================================
00344    float VectEl;
00345 
00346    //=========================================================
00351    float MinRange;
00352 
00353    //=========================================================
00357    float MaxRange;
00358 
00359    //=========================================================
00366    double SrcXLat;
00367 
00368    //=========================================================
00375    double SrcYLon;
00376 
00377    //=========================================================
00384    double SrcZAlt;
00385 
00386    //=========================================================
00391    Cigi_uint32 Mask;
00392 
00393    //=========================================================
00398    Cigi_uint8 UpdatePeriod;
00399 
00400    //=========================================================
00404    bool ValidV1or2;
00405 
00406 };
00407 
00408 #endif // #if !defined(_CIGI_BASE_LOS_VECT_REQ_INCLUDED_)

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