CigiHatReqV1 Class Reference

#include <CigiHatReqV1.h>

Inheritance diagram for CigiHatReqV1:

CigiBaseHatHotReq CigiBasePacket List of all members.

Public Member Functions

 CigiHatReqV1 ()
virtual ~CigiHatReqV1 ()
virtual int Pack (CigiBasePacket *Base, Cigi_uint8 *Buff, void *Spec) const
virtual int Unpack (Cigi_uint8 *Buff, bool Swap, void *Spec)
virtual int GetCnvt (CigiVersionID &CnvtVersion, CigiCnvtInfoType::Type &CnvtInfo)
int SetAlt (const double AltIn, bool bndchk=true)
double GetAlt (void) const

Detailed Description

Definition at line 58 of file CigiHatReqV1.h.


Constructor & Destructor Documentation

CigiHatReqV1::CigiHatReqV1 (  ) 

General Constructor

Definition at line 89 of file CigiHatReqV1.cpp.

References CigiBaseHatHotReq::AltOrZoff, CIGI_HAT_REQ_PACKET_ID_V1, CIGI_HAT_REQ_PACKET_SIZE_V1, CigiBaseHatHotReq::EntityID, CigiBaseHatHotReq::Geodetic, CigiBaseHatHotReq::HAT, CigiBaseHatHotReq::HatHotID, CigiBaseHatHotReq::IsValidV1or2, CigiBaseHatHotReq::LatOrXoff, CigiBaseHatHotReq::LonOrYoff, CigiBasePacket::MinorVersion, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseHatHotReq::ReqType, CigiBaseHatHotReq::SrcCoordSys, CigiBaseHatHotReq::UpdatePeriod, and CigiBasePacket::Version.

00090 {
00091 
00092    PacketID = CIGI_HAT_REQ_PACKET_ID_V1;
00093    PacketSize = CIGI_HAT_REQ_PACKET_SIZE_V1;
00094    Version = 1;
00095    MinorVersion = 0;
00096 
00097    HatHotID = 0;
00098    ReqType = HAT;
00099    SrcCoordSys = Geodetic;
00100    UpdatePeriod = 0;
00101    EntityID = 0;
00102    LatOrXoff = 0.0;
00103    LonOrYoff = 0.0;
00104    AltOrZoff = 0.0;
00105    IsValidV1or2 = true;
00106 
00107 }

CigiHatReqV1::~CigiHatReqV1 (  )  [virtual]

General Destructor

Definition at line 112 of file CigiHatReqV1.cpp.

00113 {
00114 
00115 }


Member Function Documentation

double CigiHatReqV1::GetAlt ( void   )  const [inline]

Gets the Alt value.

Returns:
the current Alt.

Definition at line 140 of file CigiHatReqV1.h.

00140 { return(AltOrZoff); }

int CigiHatReqV1::GetCnvt ( CigiVersionID CnvtVersion,
CigiCnvtInfoType::Type CnvtInfo 
) [virtual]

A virtual Conversion Information function. This function provides conversion information for this packet.

Parameters:
CnvtVersion - The CIGI version to which this packet is being converted.
CnvtInfo - The information needed for conversion
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Reimplemented from CigiBasePacket.

Definition at line 196 of file CigiHatReqV1.cpp.

References CIGI_HAT_HOT_REQ_PACKET_ID_V3, CIGI_HAT_REQ_PACKET_ID_V1, CIGI_HAT_REQ_PACKET_ID_V2, CIGI_SUCCESS, CigiVersionID::CigiMajorVersion, CigiCnvtInfoType::CigiCnvtInfoStruct::CnvtPacketID, CigiCnvtInfoType::CigiCnvtInfoStruct::ProcID, and CigiProcessType::ProcStd.

00198 {
00199    CnvtInfo.ProcID = CigiProcessType::ProcStd;
00200 
00201    switch(CnvtVersion.CigiMajorVersion)
00202    {
00203    case 1:
00204       CnvtInfo.CnvtPacketID = CIGI_HAT_REQ_PACKET_ID_V1;
00205       break;
00206    case 2:
00207       CnvtInfo.CnvtPacketID = CIGI_HAT_REQ_PACKET_ID_V2;
00208       break;
00209    default:
00210       // The Packet ID for all V3 HatHotReq are the same ID
00211       CnvtInfo.CnvtPacketID = CIGI_HAT_HOT_REQ_PACKET_ID_V3;
00212       break;
00213    }
00214 
00215    return(CIGI_SUCCESS);
00216 }

int CigiHatReqV1::Pack ( CigiBasePacket Base,
Cigi_uint8 Buff,
void *  Spec 
) const [virtual]

The virtual Pack function for CIGI 1

Parameters:
Base - A pointer to the instance of the packet to be packed. (Downcast to CigiBasePacket)
Buff - A pointer to the current pack point.
Spec - A pointer to special data - This is not used in this class.
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Implements CigiBaseHatHotReq.

Definition at line 124 of file CigiHatReqV1.cpp.

References CigiBaseHatHotReq::AltOrZoff, PackPointerUnion::c, CIGI_HAT_REQ_PACKET_SIZE_V1, CIGI_SCOPY2, CIGI_SCOPY4, CIGI_SCOPY8, PackPointerUnion::d, PackPointerUnion::f, CigiBaseHatHotReq::HatHotID, CigiBaseHatHotReq::IsValidV1or2, CigiBaseHatHotReq::LatOrXoff, CigiBaseHatHotReq::LonOrYoff, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, and PackPointerUnion::s.

00125 {
00126    double DBuf[6];
00127 
00128    Cigi_uint8 *tBuf = (Cigi_uint8 *)DBuf;
00129 
00130    PackPointer CDta;
00131 
00132    CigiBaseHatHotReq * Data = ( CigiBaseHatHotReq *)Base;
00133 
00134    if(!Data->IsValidV1or2)
00135       return(0);
00136 
00137    CDta.d = DBuf;
00138 
00139    *CDta.c++ = PacketID;
00140    *CDta.c++ = PacketSize;
00141 
00142    CIGI_SCOPY2(CDta.s++, &Data->HatHotID);
00143 
00144    float talt = (float)Data->AltOrZoff;
00145    CIGI_SCOPY4(CDta.f++, &talt);
00146 
00147    CIGI_SCOPY8(CDta.d++, &Data->LatOrXoff);
00148    CIGI_SCOPY8(CDta.d++, &Data->LonOrYoff);
00149 
00150    memcpy(Buff,tBuf,CIGI_HAT_REQ_PACKET_SIZE_V1);
00151 
00152    return(PacketSize);
00153 
00154 }

int CigiHatReqV1::SetAlt ( const double  AltIn,
bool  bndchk = true 
) [inline]

Sets the Alt with bound checking control

Parameters:
AltIn - The referance altitude
bndchk - Enables (true) or disables (false) bounds checking.
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Definition at line 131 of file CigiHatReqV1.h.

References CIGI_SUCCESS.

00132    {
00133       AltOrZoff = AltIn;
00134       return(CIGI_SUCCESS);
00135    }

int CigiHatReqV1::Unpack ( Cigi_uint8 Buff,
bool  Swap,
void *  Spec 
) [virtual]

The virtual Unpack function for CIGI 1

Parameters:
Buff - A pointer to the current pack point.
Swap - N/A for V1 & V2
Spec - A pointer to special data - This is not used in this class.
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Implements CigiBaseHatHotReq.

Definition at line 159 of file CigiHatReqV1.cpp.

References CigiBaseHatHotReq::AltOrZoff, PackPointerUnion::c, CIGI_HAT_REQ_PACKET_SIZE_V1, CIGI_SCOPY2, CIGI_SCOPY4, CIGI_SCOPY8, PackPointerUnion::d, PackPointerUnion::f, CigiBaseHatHotReq::Geodetic, CigiBaseHatHotReq::HatHotID, CigiBaseHatHotReq::IsValidV1or2, CigiBaseHatHotReq::LatOrXoff, CigiBaseHatHotReq::LonOrYoff, CigiBasePacket::PacketSize, PackPointerUnion::s, CigiBaseHatHotReq::SrcCoordSys, and CigiBaseHatHotReq::UpdatePeriod.

00160 {
00161    double DBuf[6];
00162 
00163    Cigi_uint8 *tBuf = (Cigi_uint8 *)DBuf;
00164 
00165    PackPointer CDta;
00166 
00167    memcpy(tBuf,Buff,CIGI_HAT_REQ_PACKET_SIZE_V1);
00168 
00169    CDta.d = DBuf;
00170 
00171    CDta.c += 2;  // Step over packet id and size
00172 
00173    CIGI_SCOPY2(&HatHotID, CDta.s++);
00174 
00175    float talt;
00176    CIGI_SCOPY4(&talt, CDta.f++);
00177    AltOrZoff = (double)talt;
00178 
00179    CIGI_SCOPY8(&LatOrXoff, CDta.d++);
00180    CIGI_SCOPY8(&LonOrYoff, CDta.d++);
00181 
00182 
00183    SrcCoordSys = Geodetic;
00184    IsValidV1or2 = true;
00185 
00186    UpdatePeriod = 0;
00187 
00188    return(PacketSize);
00189 
00190 }


The documentation for this class was generated from the following files:
Generated on Wed Apr 29 09:00:08 2009 for CCL by  doxygen 1.4.7