#include <CigiMaritimeSurfaceRespV3.h>
Inheritance diagram for CigiMaritimeSurfaceRespV3:
Public Member Functions | |
CigiMaritimeSurfaceRespV3 () | |
virtual | ~CigiMaritimeSurfaceRespV3 () |
virtual int | Pack (CigiBasePacket *Base, Cigi_uint8 *Buff, void *Spec) const |
virtual int | Unpack (Cigi_uint8 *Buff, bool Swap, void *Spec) |
Definition at line 57 of file CigiMaritimeSurfaceRespV3.h.
CigiMaritimeSurfaceRespV3::CigiMaritimeSurfaceRespV3 | ( | ) |
General Constructor
Definition at line 67 of file CigiMaritimeSurfaceRespV3.cpp.
References CIGI_MARITIME_SURFACE_RESP_PACKET_ID_V3, CIGI_MARITIME_SURFACE_RESP_PACKET_SIZE_V3, CigiBaseMaritimeSurfaceResp::Clarity, CigiBasePacket::MinorVersion, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseMaritimeSurfaceResp::RequestID, CigiBaseMaritimeSurfaceResp::SurfaceHeight, CigiBasePacket::Version, and CigiBaseMaritimeSurfaceResp::WaterTemp.
00068 { 00069 00070 PacketID = CIGI_MARITIME_SURFACE_RESP_PACKET_ID_V3; 00071 PacketSize = CIGI_MARITIME_SURFACE_RESP_PACKET_SIZE_V3; 00072 Version = 3; 00073 MinorVersion = 0; 00074 00075 RequestID = 0; 00076 SurfaceHeight = 0.0; 00077 WaterTemp = 0.0; 00078 Clarity = 0.0; 00079 00080 }
CigiMaritimeSurfaceRespV3::~CigiMaritimeSurfaceRespV3 | ( | ) | [virtual] |
int CigiMaritimeSurfaceRespV3::Pack | ( | CigiBasePacket * | Base, | |
Cigi_uint8 * | Buff, | |||
void * | Spec | |||
) | const [virtual] |
The virtual Pack function for CIGI 3
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 CigiBaseMaritimeSurfaceResp.
Definition at line 97 of file CigiMaritimeSurfaceRespV3.cpp.
References PackPointerUnion::c, CigiBaseMaritimeSurfaceResp::Clarity, PackPointerUnion::f, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseMaritimeSurfaceResp::RequestID, CigiBaseMaritimeSurfaceResp::SurfaceHeight, and CigiBaseMaritimeSurfaceResp::WaterTemp.
00098 { 00099 PackPointer CDta; 00100 00101 CigiBaseMaritimeSurfaceResp * Data = ( CigiBaseMaritimeSurfaceResp *)Base; 00102 00103 CDta.c = Buff; 00104 00105 *CDta.c++ = PacketID; 00106 *CDta.c++ = PacketSize; 00107 00108 *CDta.c++ = Data->RequestID; 00109 00110 *CDta.c++ = 0; 00111 00112 *CDta.f++ = Data->SurfaceHeight; 00113 *CDta.f++ = Data->WaterTemp; 00114 *CDta.f++ = Data->Clarity; 00115 00116 return(PacketSize); 00117 00118 }
int CigiMaritimeSurfaceRespV3::Unpack | ( | Cigi_uint8 * | Buff, | |
bool | Swap, | |||
void * | Spec | |||
) | [virtual] |
The virtual Unpack function for CIGI 3
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 CigiBaseMaritimeSurfaceResp.
Definition at line 123 of file CigiMaritimeSurfaceRespV3.cpp.
References PackPointerUnion::c, CigiSwap4(), CigiBaseMaritimeSurfaceResp::Clarity, PackPointerUnion::f, CigiBasePacket::PacketSize, CigiBaseMaritimeSurfaceResp::RequestID, CigiBaseMaritimeSurfaceResp::SurfaceHeight, and CigiBaseMaritimeSurfaceResp::WaterTemp.
00124 { 00125 PackPointer CDta; 00126 00127 CDta.c = Buff; 00128 00129 CDta.c += 2; // Step over packet id and size 00130 00131 RequestID = *CDta.c++; 00132 00133 CDta.c++; 00134 00135 if(!Swap) 00136 { 00137 SurfaceHeight = *CDta.f++; 00138 WaterTemp = *CDta.f++; 00139 Clarity = *CDta.f++; 00140 } 00141 else 00142 { 00143 CigiSwap4(&SurfaceHeight, CDta.f++); 00144 CigiSwap4(&WaterTemp, CDta.f++); 00145 CigiSwap4(&Clarity, CDta.f++); 00146 } 00147 00148 return(PacketSize); 00149 00150 }