CigiHatReqV2 Class Reference

#include <CigiHatReqV2.h>

Inheritance diagram for CigiHatReqV2:

CigiBaseHatHotReq CigiBasePacket List of all members.

Public Member Functions

 CigiHatReqV2 ()
virtual ~CigiHatReqV2 ()
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 59 of file CigiHatReqV2.h.


Constructor & Destructor Documentation

CigiHatReqV2::CigiHatReqV2 (  ) 

General Constructor

Definition at line 89 of file CigiHatReqV2.cpp.

References CigiBaseHatHotReq::AltOrZoff, CIGI_HAT_REQ_PACKET_ID_V2, CIGI_HAT_REQ_PACKET_SIZE_V2, 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_V2;
00093    PacketSize = CIGI_HAT_REQ_PACKET_SIZE_V2;
00094    Version = 2;
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 }

CigiHatReqV2::~CigiHatReqV2 (  )  [virtual]

General Destructor

Definition at line 112 of file CigiHatReqV2.cpp.

00113 {
00114 
00115 }


Member Function Documentation

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

Gets the Alt value.

Returns:
the current Alt.

Definition at line 141 of file CigiHatReqV2.h.

00141 { return(AltOrZoff); }

int CigiHatReqV2::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 195 of file CigiHatReqV2.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.

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

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

The virtual Pack function for CIGI 2

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 CigiHatReqV2.cpp.

References CigiBaseHatHotReq::AltOrZoff, PackPointerUnion::c, CIGI_HAT_REQ_PACKET_SIZE_V2, CIGI_SCOPY2, CIGI_SCOPY8, PackPointerUnion::d, CigiBaseHatHotReq::HatHotID, CigiBaseHatHotReq::IsValidV1or2, PackPointerUnion::l, 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    *CDta.l++ = 0;
00145 
00146    CIGI_SCOPY8(CDta.d++, &Data->AltOrZoff);
00147    CIGI_SCOPY8(CDta.d++, &Data->LatOrXoff);
00148    CIGI_SCOPY8(CDta.d++, &Data->LonOrYoff);
00149 
00150    memcpy(Buff,tBuf,CIGI_HAT_REQ_PACKET_SIZE_V2);
00151 
00152    return(PacketSize);
00153 
00154 }

int CigiHatReqV2::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 132 of file CigiHatReqV2.h.

References CIGI_SUCCESS.

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

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

The virtual Unpack function for CIGI 2

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 CigiHatReqV2.cpp.

References CigiBaseHatHotReq::AltOrZoff, PackPointerUnion::c, CIGI_HAT_REQ_PACKET_SIZE_V2, CIGI_SCOPY2, CIGI_SCOPY8, PackPointerUnion::d, CigiBaseHatHotReq::Geodetic, CigiBaseHatHotReq::HatHotID, CigiBaseHatHotReq::IsValidV1or2, PackPointerUnion::l, 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_V2);
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    CDta.l++;
00176 
00177    CIGI_SCOPY8(&AltOrZoff, CDta.d++);
00178    CIGI_SCOPY8(&LatOrXoff, CDta.d++);
00179    CIGI_SCOPY8(&LonOrYoff, CDta.d++);
00180 
00181 
00182    SrcCoordSys = Geodetic;
00183    IsValidV1or2 = true;
00184 
00185    UpdatePeriod = 0;
00186 
00187    return(PacketSize);
00188 
00189 }


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