#include <CigiTrajectoryDefV3.h>
Inheritance diagram for CigiTrajectoryDefV3:
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 |
Definition at line 58 of file CigiTrajectoryDefV3.h.
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] |
float CigiTrajectoryDefV3::GetAccelX | ( | void | ) | const [inline] |
Gets the Accel value.
Definition at line 121 of file CigiTrajectoryDefV3.h.
00121 { return(AccelX); }
float CigiTrajectoryDefV3::GetAccelY | ( | void | ) | const [inline] |
Gets the Accel value.
Definition at line 137 of file CigiTrajectoryDefV3.h.
00137 { return(AccelY); }
float CigiTrajectoryDefV3::GetAccelZ | ( | void | ) | const [inline] |
Gets the Accel value.
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
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 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
AccelIn | - Acceleration value. | |
bndchk | - Enables (true) or disables (false) bounds checking. |
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
AccelIn | - Acceleration value. | |
bndchk | - Enables (true) or disables (false) bounds checking. |
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
AccelIn | - Acceleration value. | |
bndchk | - Enables (true) or disables (false) bounds checking. |
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
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 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 }