CigiBaseIGCtrl Class Reference

#include <CigiBaseIGCtrl.h>

Inheritance diagram for CigiBaseIGCtrl:

CigiBasePacket CigiIGCtrlV1 CigiIGCtrlV2 CigiIGCtrlV3 CigiIGCtrlV3_2 CigiIGCtrlV3_3 List of all members.

Public Types

 Reset = 0
 Standby = 0
 Operate = 1
 debug = 2
 Disable = 0
 Enable = 1
enum  IGModeGrp { Reset = 0, Standby = 0, Operate = 1, debug = 2 }
enum  TrackDeviceEnGrp { Disable = 0, Enable = 1 }

Public Member Functions

 CigiBaseIGCtrl ()
virtual ~CigiBaseIGCtrl ()
virtual int Pack (CigiBasePacket *Base, Cigi_uint8 *Buff, void *Spec) const =0
virtual int Unpack (Cigi_uint8 *Buff, bool Swap, void *Spec)=0
virtual int GetCnvt (CigiVersionID &CnvtVersion, CigiCnvtInfoType::Type &CnvtInfo)
bool GetSwap (void) const
Cigi_int8 GetDatabaseID (void) const
int SetDatabaseID (const Cigi_int8 DataBaseIDIn, bool bndchk=true)
IGModeGrp GetIGMode (void) const
int SetIGMode (IGModeGrp IGModeIn, bool bndchk=true)
Cigi_uint32 GetFrameCntr (void) const

Protected Attributes

bool BSwapEn
Cigi_int8 DatabaseID
Cigi_uint32 FrameCntr
Cigi_uint32 LastRcvdIGFrame
Cigi_uint32 TimeStampV1
float TimeStampV2
Cigi_uint32 TimeStampV3
Cigi_uint16 ByteSwap
IGModeGrp IGMode
TrackDeviceEnGrp TrackDeviceEn
bool BoresightTrackDevice
bool TimestampValid
bool SmoothingEn

Friends

class CigiIGCtrlV1
class CigiIGCtrlV2
class CigiIGCtrlV3
class CigiIGCtrlV3_2
class CigiIGCtrlV3_3

Detailed Description

The class for the IG Control packet for CIGI

Definition at line 102 of file CigiBaseIGCtrl.h.


Member Enumeration Documentation

enum CigiBaseIGCtrl::IGModeGrp

The enumeration for the IG Mode

Enumerator:
Reset 
Standby 
Operate 
debug 

Definition at line 116 of file CigiBaseIGCtrl.h.

00117    {
00118       Reset=0,
00119       Standby=0,
00120       Operate=1,
00121       debug=2
00122    };

enum CigiBaseIGCtrl::TrackDeviceEnGrp

The enumeration for the Tracking Device Enable Flag

Enumerator:
Disable 
Enable 

Definition at line 127 of file CigiBaseIGCtrl.h.

00128    {
00129       Disable=0,
00130       Enable=1
00131    };


Constructor & Destructor Documentation

CigiBaseIGCtrl::CigiBaseIGCtrl (  ) 

General Constructor

Definition at line 66 of file CigiBaseIGCtrl.cpp.

00067 {
00068 
00069 }

CigiBaseIGCtrl::~CigiBaseIGCtrl (  )  [virtual]

General Destructor

Definition at line 74 of file CigiBaseIGCtrl.cpp.

00075 {
00076 
00077 }


Member Function Documentation

int CigiBaseIGCtrl::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 88 of file CigiBaseIGCtrl.cpp.

References CIGI_IG_CTRL_PACKET_ID_V1, CIGI_SUCCESS, CigiCnvtInfoType::CigiCnvtInfoStruct::CnvtPacketID, CigiCnvtInfoType::CigiCnvtInfoStruct::ProcID, and CigiProcessType::ProcIGCtrl.

00090 {
00091    CnvtInfo.ProcID = CigiProcessType::ProcIGCtrl;
00092 
00093    // All versions of this packet have the same packet id number
00094    CnvtInfo.CnvtPacketID = CIGI_IG_CTRL_PACKET_ID_V1;
00095 
00096    return(CIGI_SUCCESS);
00097 }

Cigi_int8 CigiBaseIGCtrl::GetDatabaseID ( void   )  const [inline]

Gets the Database ID value

Returns:
DatabaseID - uniquely identifies the specific database

Definition at line 214 of file CigiBaseIGCtrl.h.

References DatabaseID.

00214 { return(DatabaseID); }

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

Gets the Frame Counter value

Returns:
Current frame this data represents

Definition at line 260 of file CigiBaseIGCtrl.h.

References FrameCntr.

00260 { return(FrameCntr); }

IGModeGrp CigiBaseIGCtrl::GetIGMode ( void   )  const [inline]

Gets the IG Mode value

Returns:
IGMode specifying the commanded IG mode.
0 - Reset or Standby
1 - Operate
2 - debug

Definition at line 238 of file CigiBaseIGCtrl.h.

References IGMode.

00238 { return(IGMode); }

bool CigiBaseIGCtrl::GetSwap ( void   )  const [inline]

Gets the Swap required flag
This is used for V3 to determine if automated swapping is required.

Returns:
This returns the Swap flag
If true, this signals that byte swapping is required for V3 packets.

Definition at line 205 of file CigiBaseIGCtrl.h.

References BSwapEn.

Referenced by CigiIncomingMsg::ProcessIncomingMsg().

00205 { return(BSwapEn); }

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

A pure virtual Pack function. This function is not implemented in this class.

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.
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Implements CigiBasePacket.

Implemented in CigiIGCtrlV1, CigiIGCtrlV2, CigiIGCtrlV3, CigiIGCtrlV3_2, and CigiIGCtrlV3_3.

Referenced by CigiOutgoingMsg::operator<<().

int CigiBaseIGCtrl::SetDatabaseID ( const Cigi_int8  DataBaseIDIn,
bool  bndchk = true 
)

Sets the Database ID with bound checking control

Parameters:
DataBaseIDIn - Specifies a new database to load.
0 - No Action All Other Values - Load the specified database
bndchk - Enables (true) or disables (false) bounds checking
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Definition at line 111 of file CigiBaseIGCtrl.cpp.

References CIGI_ERROR_VALUE_OUT_OF_RANGE, CIGI_SUCCESS, and DatabaseID.

00112 {
00113 
00114 #ifndef CIGI_NO_BND_CHK
00115    if(bndchk && ((DataBaseIDIn < 0)||(DataBaseIDIn > 127)))
00116    {
00117 #ifndef CIGI_NO_EXCEPT
00118       throw CigiValueOutOfRangeException("DataBaseID",DataBaseIDIn,0,127);
00119 #endif
00120       return(CIGI_ERROR_VALUE_OUT_OF_RANGE);
00121    }
00122 #endif
00123 
00124    DatabaseID = DataBaseIDIn;
00125 
00126    return(CIGI_SUCCESS);
00127 
00128 }

int CigiBaseIGCtrl::SetIGMode ( IGModeGrp  IGModeIn,
bool  bndchk = true 
)

Sets the IG Mode with bound checking control

Parameters:
IGModeIn - Specifies the commanded IG mode.
0 - Reset or Standby
1 - Operate
2 - debug
bndchk - Enables (true) or disables (false) bounds checking
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Definition at line 134 of file CigiBaseIGCtrl.cpp.

References CIGI_ERROR_VALUE_OUT_OF_RANGE, CIGI_SUCCESS, and IGMode.

00135 {
00136 
00137 #ifndef CIGI_NO_BND_CHK
00138    if(bndchk && ((IGModeIn < 0)||(IGModeIn > 2)))
00139    {
00140 #ifndef CIGI_NO_EXCEPT
00141       throw CigiValueOutOfRangeException("IGMode",IGModeIn,0,2);
00142 #endif
00143       return(CIGI_ERROR_VALUE_OUT_OF_RANGE);
00144    }
00145 #endif
00146 
00147    IGMode = IGModeIn;
00148 
00149    return(CIGI_SUCCESS);
00150 
00151 }

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

A pure virtual Unpack function. This function is not implemented in this class.

Parameters:
Buff - A pointer to the current pack point.
Swap - N/A for V1 & V2
Spec - A pointer to special data.
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Implements CigiBasePacket.

Implemented in CigiIGCtrlV1, CigiIGCtrlV2, CigiIGCtrlV3, CigiIGCtrlV3_2, and CigiIGCtrlV3_3.


Friends And Related Function Documentation

friend class CigiIGCtrlV1 [friend]

Definition at line 105 of file CigiBaseIGCtrl.h.

friend class CigiIGCtrlV2 [friend]

Definition at line 106 of file CigiBaseIGCtrl.h.

friend class CigiIGCtrlV3 [friend]

Definition at line 107 of file CigiBaseIGCtrl.h.

friend class CigiIGCtrlV3_2 [friend]

Definition at line 108 of file CigiBaseIGCtrl.h.

friend class CigiIGCtrlV3_3 [friend]

Definition at line 109 of file CigiBaseIGCtrl.h.


Member Data Documentation

bool CigiBaseIGCtrl::BoresightTrackDevice [protected]

Boresight The Tracking Device
true - Boresight the tracking device
false - No Action

Definition at line 341 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), CigiIGCtrlV2::Pack(), CigiIGCtrlV1::Pack(), CigiIGCtrlV2::Unpack(), and CigiIGCtrlV1::Unpack().

bool CigiBaseIGCtrl::BSwapEn [protected]

Swap
Specifies whether the V3 packets must be byte swapped

Definition at line 273 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), GetSwap(), CigiIGCtrlV3_3::Unpack(), CigiIGCtrlV3_2::Unpack(), and CigiIGCtrlV3::Unpack().

Cigi_uint16 CigiBaseIGCtrl::ByteSwap [protected]

Byte Swap Constant for V3
Constant used to determine if byteswapping is needed in V3.

Definition at line 318 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), CigiIGCtrlV3_3::Unpack(), CigiIGCtrlV3_2::Unpack(), and CigiIGCtrlV3::Unpack().

Cigi_int8 CigiBaseIGCtrl::DatabaseID [protected]

DatabaseID
The current Database command
0 - No Action.
1 - 127 - Command to load the specified Database

Definition at line 281 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), GetDatabaseID(), CigiIGCtrlV3_3::Pack(), CigiIGCtrlV3_2::Pack(), CigiIGCtrlV3::Pack(), CigiIGCtrlV2::Pack(), CigiIGCtrlV1::Pack(), SetDatabaseID(), CigiIGCtrlV3_3::Unpack(), CigiIGCtrlV3_2::Unpack(), CigiIGCtrlV3::Unpack(), CigiIGCtrlV2::Unpack(), and CigiIGCtrlV1::Unpack().

Cigi_uint32 CigiBaseIGCtrl::FrameCntr [protected]

Frame Counter
Specifies current frame being processed

Definition at line 287 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), GetFrameCntr(), CigiIGCtrlV3_3::Pack(), CigiIGCtrlV3_2::Pack(), CigiIGCtrlV3::Pack(), CigiIGCtrlV2::Pack(), CigiIGCtrlV1::Pack(), CigiIGCtrlV3_3::Unpack(), CigiIGCtrlV3_2::Unpack(), CigiIGCtrlV3::Unpack(), CigiIGCtrlV2::Unpack(), and CigiIGCtrlV1::Unpack().

IGModeGrp CigiBaseIGCtrl::IGMode [protected]

IG Mode
0 - Reset or Standby
1 - Operate
2 - debug

Definition at line 327 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), GetIGMode(), CigiIGCtrlV3_3::Pack(), CigiIGCtrlV3_2::Pack(), CigiIGCtrlV3::Pack(), CigiIGCtrlV2::Pack(), CigiIGCtrlV1::Pack(), SetIGMode(), CigiIGCtrlV3_3::Unpack(), CigiIGCtrlV3_2::Unpack(), CigiIGCtrlV3::Unpack(), CigiIGCtrlV2::Unpack(), and CigiIGCtrlV1::Unpack().

Cigi_uint32 CigiBaseIGCtrl::LastRcvdIGFrame [protected]

Last Received IG Frame
Specifies IG frame received last

Definition at line 293 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), CigiIGCtrlV3_3::Pack(), CigiIGCtrlV3_2::Pack(), CigiIGCtrlV3_3::Unpack(), CigiIGCtrlV3_2::Unpack(), CigiIGCtrlV3::Unpack(), CigiIGCtrlV2::Unpack(), and CigiIGCtrlV1::Unpack().

bool CigiBaseIGCtrl::SmoothingEn [protected]

Smoothing Enabled
Enable or Disable Extrapolation or Interpolation motion smoothing. true - Smoothing is Enabled
false - Smoothing is Disabled.

Definition at line 357 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), CigiIGCtrlV3_3::Pack(), and CigiIGCtrlV3_3::Unpack().

Cigi_uint32 CigiBaseIGCtrl::TimeStampV1 [protected]

Time Stamp - V1 format
Specifies the time from the beginning of the exercise

Definition at line 299 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), CigiIGCtrlV1::Pack(), CigiIGCtrlV3_3::SetTimeStamp(), CigiIGCtrlV3_2::SetTimeStamp(), CigiIGCtrlV3::SetTimeStamp(), CigiIGCtrlV2::SetTimeStamp(), CigiIGCtrlV1::SetTimeStamp(), CigiIGCtrlV3_3::Unpack(), CigiIGCtrlV3_2::Unpack(), CigiIGCtrlV3::Unpack(), CigiIGCtrlV2::Unpack(), and CigiIGCtrlV1::Unpack().

float CigiBaseIGCtrl::TimeStampV2 [protected]

Time Stamp - V2 format
Specifies the time from the beginning of the exercise

Definition at line 305 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), CigiIGCtrlV2::Pack(), CigiIGCtrlV3_3::SetTimeStamp(), CigiIGCtrlV3_2::SetTimeStamp(), CigiIGCtrlV3::SetTimeStamp(), CigiIGCtrlV2::SetTimeStamp(), CigiIGCtrlV1::SetTimeStamp(), CigiIGCtrlV3_3::Unpack(), CigiIGCtrlV3_2::Unpack(), CigiIGCtrlV3::Unpack(), CigiIGCtrlV2::Unpack(), and CigiIGCtrlV1::Unpack().

Cigi_uint32 CigiBaseIGCtrl::TimeStampV3 [protected]

Time Stamp - V3 format
Specifies the time from the beginning of the exercise

Definition at line 311 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), CigiIGCtrlV3_3::Pack(), CigiIGCtrlV3_2::Pack(), CigiIGCtrlV3::Pack(), CigiIGCtrlV3_3::SetTimeStamp(), CigiIGCtrlV3_2::SetTimeStamp(), CigiIGCtrlV3::SetTimeStamp(), CigiIGCtrlV2::SetTimeStamp(), CigiIGCtrlV1::SetTimeStamp(), CigiIGCtrlV3_3::Unpack(), CigiIGCtrlV3_2::Unpack(), CigiIGCtrlV3::Unpack(), CigiIGCtrlV2::Unpack(), and CigiIGCtrlV1::Unpack().

bool CigiBaseIGCtrl::TimestampValid [protected]

Timestame Valid
true - The timestamp is valid and usable
false - The timestamp is not valid.

Definition at line 348 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), CigiIGCtrlV3_3::Pack(), CigiIGCtrlV3_2::Pack(), CigiIGCtrlV3::Pack(), CigiIGCtrlV2::SetTimeStamp(), CigiIGCtrlV1::SetTimeStamp(), CigiIGCtrlV3_3::Unpack(), CigiIGCtrlV3_2::Unpack(), and CigiIGCtrlV3::Unpack().

TrackDeviceEnGrp CigiBaseIGCtrl::TrackDeviceEn [protected]

Tracking Device Enable
true - Enables the tracking device
false - Disables the tracking device

Definition at line 334 of file CigiBaseIGCtrl.h.

Referenced by CigiIGCtrlV1::CigiIGCtrlV1(), CigiIGCtrlV2::CigiIGCtrlV2(), CigiIGCtrlV3::CigiIGCtrlV3(), CigiIGCtrlV3_2::CigiIGCtrlV3_2(), CigiIGCtrlV3_3::CigiIGCtrlV3_3(), CigiIGCtrlV2::Pack(), CigiIGCtrlV1::Pack(), CigiIGCtrlV2::SetTrackDeviceEn(), CigiIGCtrlV1::SetTrackDeviceEn(), CigiIGCtrlV2::Unpack(), and CigiIGCtrlV1::Unpack().


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