CigiTerrestrialSurfaceRespV3.cpp

Go to the documentation of this file.
00001 
00053 #define _EXPORT_CCL_
00054 
00055 #include "CigiTerrestrialSurfaceRespV3.h"
00056 #include "CigiSwapping.h"
00057 #include "CigiExceptions.h"
00058 
00059 
00060 // ====================================================================
00061 // Construction/Destruction
00062 // ====================================================================
00063 
00064 
00065 // ================================================
00066 // CigiTerrestrialSurfaceRespV3
00067 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00068 CigiTerrestrialSurfaceRespV3::CigiTerrestrialSurfaceRespV3()
00069 {
00070 
00071    PacketID = CIGI_TERRESTRIAL_SURFACE_RESP_PACKET_ID_V3;
00072    PacketSize = CIGI_TERRESTRIAL_SURFACE_RESP_PACKET_SIZE_V3;
00073    Version = 3;
00074    MinorVersion = 0;
00075 
00076    RequestID = 0;
00077    SurfaceConditionID = 0;
00078 
00079 }
00080 
00081 // ================================================
00082 // ~CigiTerrestrialSurfaceRespV3
00083 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00084 CigiTerrestrialSurfaceRespV3::~CigiTerrestrialSurfaceRespV3()
00085 {
00086 
00087 }
00088 
00089 
00090 // ====================================================================
00091 // Pack and Unpack
00092 // ====================================================================
00093 
00094 // ================================================
00095 // Pack
00096 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00097 int CigiTerrestrialSurfaceRespV3::Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const
00098 {
00099    PackPointer CDta;
00100 
00101    CigiBaseTerrestrialSurfaceResp * Data = ( CigiBaseTerrestrialSurfaceResp *)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.l++ = Data->SurfaceConditionID;
00113 
00114    return(PacketSize);
00115 
00116 }
00117 
00118 // ================================================
00119 // Unpack
00120 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00121 int CigiTerrestrialSurfaceRespV3::Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec)
00122 {
00123    PackPointer CDta;
00124 
00125    CDta.c = Buff;
00126 
00127    CDta.c += 2;  // Step over packet id and size
00128 
00129    RequestID = *CDta.c++;
00130 
00131    CDta.c++;
00132 
00133    if(!Swap)
00134       SurfaceConditionID = *CDta.l++;
00135    else
00136       CigiSwap4(&SurfaceConditionID, CDta.l++);
00137 
00138    return(PacketSize);
00139 
00140 }
00141 
00142 
00143 
00144 // ====================================================================
00145 // Accessors
00146 // ====================================================================
00147 
00148 

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