CigiSensorRespV3 Class Reference

#include <CigiSensorRespV3.h>

Inheritance diagram for CigiSensorRespV3:

CigiBaseSensorResp CigiBasePacket List of all members.

Public Member Functions

 CigiSensorRespV3 ()
virtual ~CigiSensorRespV3 ()
virtual int Pack (CigiBasePacket *Base, Cigi_uint8 *Buff, void *Spec) const
virtual int Unpack (Cigi_uint8 *Buff, bool Swap, void *Spec)
int SetViewID (const Cigi_uint16 ViewIDIn, bool bndchk=true)
Cigi_uint16 GetViewID (void) const
int SetFrameCntr (const Cigi_uint32 FrameCntrIn, bool bndchk=true)
Cigi_uint32 GetFrameCntr (void) const

Detailed Description

Definition at line 61 of file CigiSensorRespV3.h.


Constructor & Destructor Documentation

CigiSensorRespV3::CigiSensorRespV3 (  ) 

General Constructor

Definition at line 67 of file CigiSensorRespV3.cpp.

References CIGI_SENSOR_RESP_PACKET_ID_V3, CIGI_SENSOR_RESP_PACKET_SIZE_V3, CigiBaseSensorResp::EntityID, CigiBaseSensorResp::EntityTgt, CigiBaseSensorResp::FrameCntr, CigiBaseSensorResp::GateSzX, CigiBaseSensorResp::GateSzY, CigiBaseSensorResp::GateXoff, CigiBaseSensorResp::GateYoff, CigiBasePacket::MinorVersion, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseSensorResp::Searching, CigiBaseSensorResp::SensorID, CigiBaseSensorResp::SensorStat, CigiBaseSensorResp::TrackPntAlt, CigiBaseSensorResp::TrackPntLat, CigiBaseSensorResp::TrackPntLon, CigiBasePacket::Version, and CigiBaseSensorResp::ViewID.

00068 {
00069 
00070    PacketID = CIGI_SENSOR_RESP_PACKET_ID_V3;
00071    PacketSize = CIGI_SENSOR_RESP_PACKET_SIZE_V3;
00072    Version = 3;
00073    MinorVersion = 0;
00074 
00075    ViewID = 0;
00076    SensorID = 0;
00077    SensorStat = Searching;
00078    EntityTgt = false;
00079    EntityID = 0;
00080    GateSzX = 0;
00081    GateSzY = 0;
00082    GateXoff = 0.0;
00083    GateYoff = 0.0;
00084    FrameCntr = 0;
00085    TrackPntLat = 0.0;
00086    TrackPntLon = 0.0;
00087    TrackPntAlt = 0.0;
00088 
00089 }

CigiSensorRespV3::~CigiSensorRespV3 (  )  [virtual]

General Destructor

Definition at line 94 of file CigiSensorRespV3.cpp.

00095 {
00096 
00097 }


Member Function Documentation

Cigi_uint32 CigiSensorRespV3::GetFrameCntr ( void   )  const [inline]

Gets the FrameCntr value.

Returns:
the current FrameCntr.

Definition at line 149 of file CigiSensorRespV3.h.

00149 { return(FrameCntr); }

Cigi_uint16 CigiSensorRespV3::GetViewID ( void   )  const [inline]

Gets the ViewID value.

Returns:
the current ViewID.

Definition at line 128 of file CigiSensorRespV3.h.

00128 { return(ViewID); }

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

The virtual Pack function for CIGI 3

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 CigiBaseSensorResp.

Definition at line 106 of file CigiSensorRespV3.cpp.

References PackPointerUnion::c, CigiBaseSensorResp::EntityTgt, PackPointerUnion::f, CigiBaseSensorResp::FrameCntr, CigiBaseSensorResp::GateSzX, CigiBaseSensorResp::GateSzY, CigiBaseSensorResp::GateXoff, CigiBaseSensorResp::GateYoff, PackPointerUnion::l, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, PackPointerUnion::s, CigiBaseSensorResp::SensorID, CigiBaseSensorResp::SensorStat, and CigiBaseSensorResp::ViewID.

00107 {
00108    PackPointer CDta;
00109 
00110    CigiBaseSensorResp * Data = ( CigiBaseSensorResp *)Base;
00111 
00112    CDta.c = Buff;
00113 
00114    *CDta.c++ = PacketID;
00115    *CDta.c++ = PacketSize;
00116 
00117    *CDta.s++ = Data->ViewID;
00118    *CDta.c++ = Data->SensorID;
00119 
00120    Cigi_uint8 HDta = (Data->EntityTgt) ? 0x04 : 0x00;
00121    HDta |= (Cigi_uint8)(Data->SensorStat & 0x03);
00122    *CDta.c++ = HDta;
00123 
00124    *CDta.s++ = 0;
00125    *CDta.s++ = Data->GateSzX;
00126    *CDta.s++ = Data->GateSzY;
00127    *CDta.f++ = Data->GateXoff;
00128    *CDta.f++ = Data->GateYoff;
00129    *CDta.l++ = Data->FrameCntr;
00130 
00131    return(PacketSize);
00132 
00133 }

int CigiSensorRespV3::SetFrameCntr ( const Cigi_uint32  FrameCntrIn,
bool  bndchk = true 
) [inline]

Sets the FrameCntr with bound checking control

Parameters:
FrameCntrIn - Frame counter value
bndchk - Enables (true) or disables (false) bounds checking.
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Definition at line 140 of file CigiSensorRespV3.h.

References CIGI_SUCCESS.

00141    {
00142       FrameCntr = FrameCntrIn;
00143       return(CIGI_SUCCESS);
00144    }

int CigiSensorRespV3::SetViewID ( const Cigi_uint16  ViewIDIn,
bool  bndchk = true 
) [inline]

Sets the ViewID with bound checking control

Parameters:
ViewIDIn - View ID
bndchk - Enables (true) or disables (false) bounds checking.
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Definition at line 119 of file CigiSensorRespV3.h.

References CIGI_SUCCESS.

00120    {
00121       ViewID = ViewIDIn;
00122       return(CIGI_SUCCESS);
00123    }

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

The virtual Unpack function for CIGI 3

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 CigiBaseSensorResp.

Definition at line 138 of file CigiSensorRespV3.cpp.

References PackPointerUnion::c, CigiSwap2(), CigiSwap4(), CigiBaseSensorResp::EntityTgt, PackPointerUnion::f, CigiBaseSensorResp::FrameCntr, CigiBaseSensorResp::GateSzX, CigiBaseSensorResp::GateSzY, CigiBaseSensorResp::GateXoff, CigiBaseSensorResp::GateYoff, PackPointerUnion::l, CigiBasePacket::PacketSize, PackPointerUnion::s, CigiBaseSensorResp::SensorID, CigiBaseSensorResp::SensorStat, and CigiBaseSensorResp::ViewID.

00139 {
00140    PackPointer CDta;
00141 
00142    CDta.c = Buff;
00143 
00144    CDta.c += 2;  // Step over packet id and size
00145 
00146    if(!Swap)
00147    {
00148       ViewID = *CDta.s++;
00149       SensorID = *CDta.c++;
00150 
00151       Cigi_uint8 HDta = *CDta.c++;
00152       SensorStat = (SensorStatGrp)(HDta & 0x03);
00153       EntityTgt = ((HDta & 0x04) != 0);
00154 
00155       CDta.s++;
00156 
00157       GateSzX = *CDta.s++;
00158       GateSzY = *CDta.s++;
00159       GateXoff = *CDta.f++;
00160       GateYoff = *CDta.f++;
00161       FrameCntr = *CDta.l++;
00162    }
00163    else
00164    {
00165       CigiSwap2(&ViewID, CDta.s++);
00166       SensorID = *CDta.c++;
00167 
00168       Cigi_uint8 HDta = *CDta.c++;
00169       SensorStat = (SensorStatGrp)(HDta & 0x03);
00170       EntityTgt = ((HDta & 0x04) != 0);
00171 
00172       CDta.s++;
00173 
00174       CigiSwap2(&GateSzX, CDta.s++);
00175       CigiSwap2(&GateSzY, CDta.s++);
00176       CigiSwap4(&GateXoff, CDta.f++);
00177       CigiSwap4(&GateYoff, CDta.f++);
00178       CigiSwap4(&FrameCntr, CDta.l++);
00179    }
00180 
00181    return(PacketSize);
00182 
00183 }


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