#include <CigiBaseRateCtrl.h>
Inheritance diagram for CigiBaseRateCtrl:
Public Types | |
World = 0 | |
Parent = 0 | |
Local = 1 | |
enum | CoordSysGrp { World = 0, Parent = 0, Local = 1 } |
Public Member Functions | |
CigiBaseRateCtrl () | |
virtual | ~CigiBaseRateCtrl () |
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) |
int | SetEntityID (const Cigi_uint16 EntityIDIn, bool bndchk=true) |
Cigi_uint16 | GetEntityID (void) const |
int | SetXRate (const float XRateIn, bool bndchk=true) |
float | GetXRate (void) const |
int | SetYRate (const float YRateIn, bool bndchk=true) |
float | GetYRate (void) const |
int | SetZRate (const float ZRateIn, bool bndchk=true) |
float | GetZRate (void) const |
int | SetRollRate (const float RollRateIn, bool bndchk=true) |
float | GetRollRate (void) const |
int | SetPitchRate (const float PitchRateIn, bool bndchk=true) |
float | GetPitchRate (void) const |
int | SetYawRate (const float YawRateIn, bool bndchk=true) |
float | GetYawRate (void) const |
Protected Attributes | |
Cigi_uint16 | EntityID |
Cigi_int8 | ArtPartIDV1 |
Cigi_uint8 | ArtPartIDV3 |
bool | ApplyToArtPart |
CoordSysGrp | CoordSys |
float | XRate |
float | YRate |
float | ZRate |
float | RollRate |
float | PitchRate |
float | YawRate |
Friends | |
class | CigiRateCtrlV1 |
class | CigiRateCtrlV2 |
class | CigiRateCtrlV3 |
class | CigiRateCtrlV3_2 |
Definition at line 94 of file CigiBaseRateCtrl.h.
CigiBaseRateCtrl::CigiBaseRateCtrl | ( | ) | [inline] |
virtual CigiBaseRateCtrl::~CigiBaseRateCtrl | ( | ) | [inline, virtual] |
virtual int CigiBaseRateCtrl::GetCnvt | ( | CigiVersionID & | CnvtVersion, | |
CigiCnvtInfoType::Type & | CnvtInfo | |||
) | [inline, virtual] |
A virtual Conversion Information function. This function provides conversion information for this packet.
CnvtVersion | - The CIGI version to which this packet is being converted. | |
CnvtInfo | - The information needed for conversion |
Reimplemented from CigiBasePacket.
Definition at line 168 of file CigiBaseRateCtrl.h.
References CIGI_RATE_CTRL_PACKET_ID_V2, CIGI_RATE_CTRL_PACKET_ID_V3, CIGI_SUCCESS, CigiVersionID::CigiMajorVersion, CigiCnvtInfoType::CigiCnvtInfoStruct::CnvtPacketID, CigiCnvtInfoType::CigiCnvtInfoStruct::ProcID, and CigiProcessType::ProcStd.
00170 { 00171 CnvtInfo.ProcID = CigiProcessType::ProcStd; 00172 00173 // V1 & V2 use the same packet id number 00174 if(CnvtVersion.CigiMajorVersion < 3) 00175 CnvtInfo.CnvtPacketID = CIGI_RATE_CTRL_PACKET_ID_V2; 00176 else 00177 CnvtInfo.CnvtPacketID = CIGI_RATE_CTRL_PACKET_ID_V3; 00178 00179 return(CIGI_SUCCESS); 00180 }
Cigi_uint16 CigiBaseRateCtrl::GetEntityID | ( | void | ) | const [inline] |
Gets the EntityID value.
Definition at line 205 of file CigiBaseRateCtrl.h.
References EntityID.
00205 { return(EntityID); }
float CigiBaseRateCtrl::GetPitchRate | ( | void | ) | const [inline] |
Gets the PitchRate value.
Definition at line 310 of file CigiBaseRateCtrl.h.
References PitchRate.
00310 { return(PitchRate); }
float CigiBaseRateCtrl::GetRollRate | ( | void | ) | const [inline] |
Gets the RollRate value.
Definition at line 289 of file CigiBaseRateCtrl.h.
References RollRate.
00289 { return(RollRate); }
float CigiBaseRateCtrl::GetXRate | ( | void | ) | const [inline] |
Gets the XRate value.
Definition at line 226 of file CigiBaseRateCtrl.h.
References XRate.
00226 { return(XRate); }
float CigiBaseRateCtrl::GetYawRate | ( | void | ) | const [inline] |
Gets the YawRate value.
Definition at line 331 of file CigiBaseRateCtrl.h.
References YawRate.
00331 { return(YawRate); }
float CigiBaseRateCtrl::GetYRate | ( | void | ) | const [inline] |
Gets the YRate value.
Definition at line 247 of file CigiBaseRateCtrl.h.
References YRate.
00247 { return(YRate); }
float CigiBaseRateCtrl::GetZRate | ( | void | ) | const [inline] |
Gets the ZRate value.
Definition at line 268 of file CigiBaseRateCtrl.h.
References ZRate.
00268 { return(ZRate); }
virtual int CigiBaseRateCtrl::Pack | ( | CigiBasePacket * | Base, | |
Cigi_uint8 * | Buff, | |||
void * | Spec | |||
) | const [pure virtual] |
A pure virtual Pack function. This function is not implemented in this class.
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. |
Implements CigiBasePacket.
Implemented in CigiRateCtrlV1, CigiRateCtrlV2, CigiRateCtrlV3, and CigiRateCtrlV3_2.
int CigiBaseRateCtrl::SetEntityID | ( | const Cigi_uint16 | EntityIDIn, | |
bool | bndchk = true | |||
) | [inline] |
Sets the EntityID with bound checking control
EntityIDIn | - Specifies the entity to which this packet's data is applied. | |
bndchk | - Enables (true) or disables (false) bounds checking. |
Definition at line 196 of file CigiBaseRateCtrl.h.
References CIGI_SUCCESS, and EntityID.
00197 { 00198 EntityID = EntityIDIn; 00199 return(CIGI_SUCCESS); 00200 }
int CigiBaseRateCtrl::SetPitchRate | ( | const float | PitchRateIn, | |
bool | bndchk = true | |||
) | [inline] |
Sets the PitchRate with bound checking control
PitchRateIn | - The entity's or art part's pitch rate. | |
bndchk | - Enables (true) or disables (false) bounds checking. |
Definition at line 301 of file CigiBaseRateCtrl.h.
References CIGI_SUCCESS, and PitchRate.
00302 { 00303 PitchRate = PitchRateIn; 00304 return(CIGI_SUCCESS); 00305 }
int CigiBaseRateCtrl::SetRollRate | ( | const float | RollRateIn, | |
bool | bndchk = true | |||
) | [inline] |
Sets the RollRate with bound checking control
RollRateIn | - The entity's or art part's roll rate. | |
bndchk | - Enables (true) or disables (false) bounds checking. |
Definition at line 280 of file CigiBaseRateCtrl.h.
References CIGI_SUCCESS, and RollRate.
00281 { 00282 RollRate = RollRateIn; 00283 return(CIGI_SUCCESS); 00284 }
int CigiBaseRateCtrl::SetXRate | ( | const float | XRateIn, | |
bool | bndchk = true | |||
) | [inline] |
Sets the XRate with bound checking control
XRateIn | - The entity's or art part's X velocity. | |
bndchk | - Enables (true) or disables (false) bounds checking. |
Definition at line 217 of file CigiBaseRateCtrl.h.
References CIGI_SUCCESS, and XRate.
00218 { 00219 XRate = XRateIn; 00220 return(CIGI_SUCCESS); 00221 }
int CigiBaseRateCtrl::SetYawRate | ( | const float | YawRateIn, | |
bool | bndchk = true | |||
) | [inline] |
Sets the YawRate with bound checking control
YawRateIn | - The entity's or art part's yaw rate. | |
bndchk | - Enables (true) or disables (false) bounds checking. |
Definition at line 322 of file CigiBaseRateCtrl.h.
References CIGI_SUCCESS, and YawRate.
00323 { 00324 YawRate = YawRateIn; 00325 return(CIGI_SUCCESS); 00326 }
int CigiBaseRateCtrl::SetYRate | ( | const float | YRateIn, | |
bool | bndchk = true | |||
) | [inline] |
Sets the YRate with bound checking control
YRateIn | - The entity's or art part's Y velocity. | |
bndchk | - Enables (true) or disables (false) bounds checking. |
Definition at line 238 of file CigiBaseRateCtrl.h.
References CIGI_SUCCESS, and YRate.
00239 { 00240 YRate = YRateIn; 00241 return(CIGI_SUCCESS); 00242 }
int CigiBaseRateCtrl::SetZRate | ( | const float | ZRateIn, | |
bool | bndchk = true | |||
) | [inline] |
Sets the ZRate with bound checking control
ZRateIn | - The entity's or art part's Z velocity. | |
bndchk | - Enables (true) or disables (false) bounds checking. |
Definition at line 259 of file CigiBaseRateCtrl.h.
References CIGI_SUCCESS, and ZRate.
00260 { 00261 ZRate = ZRateIn; 00262 return(CIGI_SUCCESS); 00263 }
virtual int CigiBaseRateCtrl::Unpack | ( | Cigi_uint8 * | Buff, | |
bool | Swap, | |||
void * | Spec | |||
) | [pure virtual] |
A pure virtual Unpack function. This function is not implemented in this class.
Buff | - A pointer to the current pack point. | |
Swap | - N/A for V1 & V2 | |
Spec | - A pointer to special data. |
Implements CigiBasePacket.
Implemented in CigiRateCtrlV1, CigiRateCtrlV2, CigiRateCtrlV3, and CigiRateCtrlV3_2.
friend class CigiRateCtrlV1 [friend] |
Definition at line 97 of file CigiBaseRateCtrl.h.
friend class CigiRateCtrlV2 [friend] |
Definition at line 98 of file CigiBaseRateCtrl.h.
friend class CigiRateCtrlV3 [friend] |
Definition at line 99 of file CigiBaseRateCtrl.h.
friend class CigiRateCtrlV3_2 [friend] |
Definition at line 100 of file CigiBaseRateCtrl.h.
bool CigiBaseRateCtrl::ApplyToArtPart [protected] |
ApplyToArtPart
Flag specifying whether this is applied to an entity or an articulated part.
true - Applied to the articulated part. false - Applied to the entity.
Definition at line 366 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), CigiRateCtrlV3_2::Pack(), CigiRateCtrlV3::Pack(), CigiRateCtrlV3_2::SetApplyToArtPart(), CigiRateCtrlV3::SetApplyToArtPart(), CigiRateCtrlV3_2::SetArtPartID(), CigiRateCtrlV3::SetArtPartID(), CigiRateCtrlV2::SetArtPartID(), CigiRateCtrlV1::SetArtPartID(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().
Cigi_int8 CigiBaseRateCtrl::ArtPartIDV1 [protected] |
ArtPartIDV1
The Unique ID for an articulated part of a specific entity.
If -1 - This data is applied to the Entity.
If any other value - This data is applied to the articulated part.
Definition at line 351 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), CigiRateCtrlV2::Pack(), CigiRateCtrlV1::Pack(), CigiRateCtrlV3_2::SetApplyToArtPart(), CigiRateCtrlV3::SetApplyToArtPart(), CigiRateCtrlV3_2::SetArtPartID(), CigiRateCtrlV3::SetArtPartID(), CigiRateCtrlV2::SetArtPartID(), CigiRateCtrlV1::SetArtPartID(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().
Cigi_uint8 CigiBaseRateCtrl::ArtPartIDV3 [protected] |
ArtPartIDV3
The Unique ID for an articulated part of a specific entity.
Definition at line 357 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), CigiRateCtrlV3_2::Pack(), CigiRateCtrlV3::Pack(), CigiRateCtrlV3_2::SetApplyToArtPart(), CigiRateCtrlV3::SetApplyToArtPart(), CigiRateCtrlV3_2::SetArtPartID(), CigiRateCtrlV3::SetArtPartID(), CigiRateCtrlV2::SetArtPartID(), CigiRateCtrlV1::SetArtPartID(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().
CoordSysGrp CigiBaseRateCtrl::CoordSys [protected] |
ArtPartIDV3
The Coordinate system in which the rates are applied.
0-World/Parent
1-Local
Definition at line 374 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), CigiRateCtrlV3_2::Pack(), CigiRateCtrlV3_2::SetCoordSys(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().
Cigi_uint16 CigiBaseRateCtrl::EntityID [protected] |
EntityID
Uniquely identifies the specific entity.
Definition at line 343 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), GetEntityID(), CigiRateCtrlV3_2::Pack(), CigiRateCtrlV3::Pack(), CigiRateCtrlV2::Pack(), CigiRateCtrlV1::Pack(), SetEntityID(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().
float CigiBaseRateCtrl::PitchRate [protected] |
PitchRate
The degrees per second velocity about the Y axis.
For an entity - The Geodetic surface NED yaw rotated Y axis.
For an art part - The host entity's body Y axis.
Definition at line 415 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), GetPitchRate(), CigiRateCtrlV3_2::Pack(), CigiRateCtrlV3::Pack(), CigiRateCtrlV2::Pack(), CigiRateCtrlV1::Pack(), SetPitchRate(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().
float CigiBaseRateCtrl::RollRate [protected] |
RollRate
The degrees per second velocity about the X axis.
For an entity - The Geodetic surface NED pitch and yaw rotated X axis.
For an art part - The host entity's body X axis.
Definition at line 407 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), GetRollRate(), CigiRateCtrlV3_2::Pack(), CigiRateCtrlV3::Pack(), CigiRateCtrlV2::Pack(), CigiRateCtrlV1::Pack(), SetRollRate(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().
float CigiBaseRateCtrl::XRate [protected] |
XRate
The meters per second velocity along the X axis.
For an entity - The Geodetic surface NED X axis.
For an art part - The host entity's body X axis.
Definition at line 382 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), GetXRate(), CigiRateCtrlV3_2::Pack(), CigiRateCtrlV3::Pack(), CigiRateCtrlV2::Pack(), CigiRateCtrlV1::Pack(), SetXRate(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().
float CigiBaseRateCtrl::YawRate [protected] |
YawRate
The degrees per second velocity about the Z axis.
For an entity - The Geodetic surface NED Z axis.
For an art part - The host entity's body Z axis.
Definition at line 423 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), GetYawRate(), CigiRateCtrlV3_2::Pack(), CigiRateCtrlV3::Pack(), CigiRateCtrlV2::Pack(), CigiRateCtrlV1::Pack(), SetYawRate(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().
float CigiBaseRateCtrl::YRate [protected] |
YRate
The meters per second velocity along the Y axis.
For an entity - The Geodetic surface NED Y axis.
For an art part - The host entity's body Y axis.
Definition at line 390 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), GetYRate(), CigiRateCtrlV3_2::Pack(), CigiRateCtrlV3::Pack(), CigiRateCtrlV2::Pack(), CigiRateCtrlV1::Pack(), SetYRate(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().
float CigiBaseRateCtrl::ZRate [protected] |
ZRate
The meters per second velocity along the Z axis.
For an entity - The Geodetic surface NED Z axis.
For an art part - The host entity's body Z axis.
Definition at line 398 of file CigiBaseRateCtrl.h.
Referenced by CigiRateCtrlV1::CigiRateCtrlV1(), CigiRateCtrlV2::CigiRateCtrlV2(), CigiRateCtrlV3::CigiRateCtrlV3(), CigiRateCtrlV3_2::CigiRateCtrlV3_2(), GetZRate(), CigiRateCtrlV3_2::Pack(), CigiRateCtrlV3::Pack(), CigiRateCtrlV2::Pack(), CigiRateCtrlV1::Pack(), SetZRate(), CigiRateCtrlV3_2::Unpack(), CigiRateCtrlV3::Unpack(), CigiRateCtrlV2::Unpack(), and CigiRateCtrlV1::Unpack().