#include <CigiHatReqV1.h>
Inheritance diagram for CigiHatReqV1:
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 |
Definition at line 58 of file CigiHatReqV1.h.
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] |
double CigiHatReqV1::GetAlt | ( | void | ) | const [inline] |
Gets the Alt value.
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.
CnvtVersion | - The CIGI version to which this packet is being converted. | |
CnvtInfo | - The information needed for conversion |
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
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. |
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
AltIn | - The referance altitude | |
bndchk | - Enables (true) or disables (false) bounds checking. |
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
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. |
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 }