CigiTrajectoryDefV3 Class Reference

#include <CigiTrajectoryDefV3.h>

Inheritance diagram for CigiTrajectoryDefV3:

CigiBaseTrajectoryDef CigiBasePacket List of all members.

Public Member Functions

 CigiTrajectoryDefV3 ()
virtual ~CigiTrajectoryDefV3 ()
virtual int Pack (CigiBasePacket *Base, Cigi_uint8 *Buff, void *Spec) const
virtual int Unpack (Cigi_uint8 *Buff, bool Swap, void *Spec)
int SetAccelX (const float AccelIn, bool bndchk=true)
float GetAccelX (void) const
int SetAccelY (const float AccelIn, bool bndchk=true)
float GetAccelY (void) const
int SetAccelZ (const float AccelIn, bool bndchk=true)
float GetAccelZ (void) const

Detailed Description

Definition at line 58 of file CigiTrajectoryDefV3.h.


Constructor & Destructor Documentation

CigiTrajectoryDefV3::CigiTrajectoryDefV3 (  ) 

General Constructor

Definition at line 69 of file CigiTrajectoryDefV3.cpp.

References CigiBaseTrajectoryDef::Accel, CigiBaseTrajectoryDef::AccelX, CigiBaseTrajectoryDef::AccelY, CigiBaseTrajectoryDef::AccelZ, CIGI_TRAJECTORY_DEF_PACKET_ID_V3, CIGI_TRAJECTORY_DEF_PACKET_SIZE_V3, CigiBaseTrajectoryDef::EntityID, CigiBasePacket::MinorVersion, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseTrajectoryDef::RetardationRate, CigiBaseTrajectoryDef::TermVel, CigiBasePacket::Version, CigiBaseTrajectoryDef::Xoff, CigiBaseTrajectoryDef::Yoff, and CigiBaseTrajectoryDef::Zoff.

00070 {
00071 
00072    PacketID = CIGI_TRAJECTORY_DEF_PACKET_ID_V3;
00073    PacketSize = CIGI_TRAJECTORY_DEF_PACKET_SIZE_V3;
00074    Version = 3;
00075    MinorVersion = 0;
00076 
00077    EntityID = 0;
00078    Accel = 0.0;
00079    RetardationRate = 0.0;
00080    TermVel = 0.0;
00081    Xoff = 0.0;
00082    Yoff = 0.0;
00083    Zoff = 0.0;
00084    AccelX = 0.0f;
00085    AccelY = 0.0f;
00086    AccelZ = 0.0f;
00087 
00088 }

CigiTrajectoryDefV3::~CigiTrajectoryDefV3 (  )  [virtual]

General Destructor

Definition at line 93 of file CigiTrajectoryDefV3.cpp.

00094 {
00095 
00096 }


Member Function Documentation

float CigiTrajectoryDefV3::GetAccelX ( void   )  const [inline]

Gets the Accel value.

Returns:
the current Accel.

Definition at line 121 of file CigiTrajectoryDefV3.h.

00121 { return(AccelX); }

float CigiTrajectoryDefV3::GetAccelY ( void   )  const [inline]

Gets the Accel value.

Returns:
the current Accel.

Definition at line 137 of file CigiTrajectoryDefV3.h.

00137 { return(AccelY); }

float CigiTrajectoryDefV3::GetAccelZ ( void   )  const [inline]

Gets the Accel value.

Returns:
the current Accel.

Definition at line 153 of file CigiTrajectoryDefV3.h.

00153 { return(AccelZ); }

int CigiTrajectoryDefV3::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 CigiBaseTrajectoryDef.

Definition at line 105 of file CigiTrajectoryDefV3.cpp.

References CigiBaseTrajectoryDef::AccelX, CigiBaseTrajectoryDef::AccelY, CigiBaseTrajectoryDef::AccelZ, PackPointerUnion::c, CigiBaseTrajectoryDef::EntityID, PackPointerUnion::f, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseTrajectoryDef::RetardationRate, PackPointerUnion::s, and CigiBaseTrajectoryDef::TermVel.

00106 {
00107    PackPointer CDta;
00108 
00109    CigiBaseTrajectoryDef * Data = ( CigiBaseTrajectoryDef *)Base;
00110 
00111    CDta.c = Buff;
00112 
00113    *CDta.c++ = PacketID;
00114    *CDta.c++ = PacketSize;
00115 
00116    *CDta.s++ = Data->EntityID;
00117    *CDta.f++ = Data->AccelX;
00118    *CDta.f++ = Data->AccelY;
00119    *CDta.f++ = Data->AccelZ;
00120    *CDta.f++ = Data->RetardationRate;
00121    *CDta.f++ = Data->TermVel;
00122 
00123    return(PacketSize);
00124 
00125 }

int CigiTrajectoryDefV3::SetAccelX ( const float  AccelIn,
bool  bndchk = true 
)

Sets the Accel with bound checking control

Parameters:
AccelIn - Acceleration 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 177 of file CigiTrajectoryDefV3.cpp.

References CigiBaseTrajectoryDef::Accel, CigiBaseTrajectoryDef::AccelX, CigiBaseTrajectoryDef::AccelY, CigiBaseTrajectoryDef::AccelZ, and CIGI_SUCCESS.

00178 {
00179    AccelX = AccelIn;
00180    Accel = (float)sqrt((double)((AccelX*AccelX) + (AccelY*AccelY) + (AccelZ*AccelZ)));
00181 
00182    return(CIGI_SUCCESS);
00183 }

int CigiTrajectoryDefV3::SetAccelY ( const float  AccelIn,
bool  bndchk = true 
)

Sets the Accel with bound checking control

Parameters:
AccelIn - Acceleration 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 189 of file CigiTrajectoryDefV3.cpp.

References CigiBaseTrajectoryDef::Accel, CigiBaseTrajectoryDef::AccelX, CigiBaseTrajectoryDef::AccelY, CigiBaseTrajectoryDef::AccelZ, and CIGI_SUCCESS.

00190 {
00191    AccelY = AccelIn;
00192    Accel = (float)sqrt((double)((AccelX*AccelX) + (AccelY*AccelY) + (AccelZ*AccelZ)));
00193 
00194    return(CIGI_SUCCESS);
00195 }

int CigiTrajectoryDefV3::SetAccelZ ( const float  AccelIn,
bool  bndchk = true 
)

Sets the Accel with bound checking control

Parameters:
AccelIn - Acceleration 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 201 of file CigiTrajectoryDefV3.cpp.

References CigiBaseTrajectoryDef::Accel, CigiBaseTrajectoryDef::AccelX, CigiBaseTrajectoryDef::AccelY, CigiBaseTrajectoryDef::AccelZ, and CIGI_SUCCESS.

00202 {
00203    AccelZ = AccelIn;
00204    Accel = (float)sqrt((double)((AccelX*AccelX) + (AccelY*AccelY) + (AccelZ*AccelZ)));
00205 
00206    return(CIGI_SUCCESS);
00207 }

int CigiTrajectoryDefV3::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 CigiBaseTrajectoryDef.

Definition at line 130 of file CigiTrajectoryDefV3.cpp.

References CigiBaseTrajectoryDef::Accel, CigiBaseTrajectoryDef::AccelX, CigiBaseTrajectoryDef::AccelY, CigiBaseTrajectoryDef::AccelZ, PackPointerUnion::c, CigiSwap2(), CigiSwap4(), CigiBaseTrajectoryDef::EntityID, PackPointerUnion::f, CigiBasePacket::PacketSize, CigiBaseTrajectoryDef::RetardationRate, PackPointerUnion::s, CigiBaseTrajectoryDef::TermVel, CigiBaseTrajectoryDef::Xoff, CigiBaseTrajectoryDef::Yoff, and CigiBaseTrajectoryDef::Zoff.

00131 {
00132    PackPointer CDta;
00133 
00134    CDta.c = Buff;
00135 
00136    CDta.c += 2;  // Step over packet id and size
00137 
00138    if(!Swap)
00139    {
00140       EntityID = *CDta.s++;
00141       AccelX = *CDta.f++;
00142       AccelY = *CDta.f++;
00143       AccelZ = *CDta.f++;
00144       RetardationRate = *CDta.f++;
00145       TermVel = *CDta.f++;
00146    }
00147    else
00148    {
00149       CigiSwap2(&EntityID, CDta.s++);
00150       CigiSwap4(&AccelX, CDta.f++);
00151       CigiSwap4(&AccelY, CDta.f++);
00152       CigiSwap4(&AccelZ, CDta.f++);
00153       CigiSwap4(&RetardationRate, CDta.f++);
00154       CigiSwap4(&TermVel, CDta.f++);
00155    }
00156 
00157    Accel = (float)sqrt((double)((AccelX*AccelX) + (AccelY*AccelY) + (AccelZ*AccelZ)));
00158 
00159    Xoff = 0.0;
00160    Yoff = 0.0;
00161    Zoff = 0.0;
00162 
00163    return(PacketSize);
00164 
00165 }


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