Inheritance diagram for Eaagles::Simulation::Gimbal:


Public Types | |
| enum | Type { INVALID = -1, ANY = 0, NAVAID = 2, WAYPOINT = 3, AIRPORT = 10, RUNWAY = 11, ILS = 12, MECHANICAL, ELECTRONIC } |
| enum | ServoMode { FREEZE_SERVO, RATE_SERVO, POSITION_SERVO } |
| enum | { AZ_IDX, ELEV_IDX, ROLL_IDX } |
Public Member Functions | |
| Gimbal () | |
| bool | isGimbalType (const Type tt) const |
| Type | getGimbalType () const |
| ServoMode | getServoMode () const |
| const osg::Vec3 & | getPosition () const |
| LCreal | getAzimuth () const |
| LCreal | getElevation () const |
| LCreal | getRoll () const |
| LCreal | getAzimuthD () const |
| LCreal | getElevationD () const |
| LCreal | getRollD () const |
| virtual bool | isPositioned (const LCreal tol=-1) const |
| virtual bool | isAtLimits () const |
| const osg::Vec3 & | getRates () const |
| LCreal | getAzimuthRate () const |
| LCreal | getElevationRate () const |
| LCreal | getRollRate () const |
| bool | isFastSlewMode () const |
| bool | isSlowSlewMode () const |
| const osg::Vec3 & | getCmdPosition () const |
| LCreal | getCmdAz () const |
| LCreal | getCmdElev () const |
| LCreal | getCmdRoll () const |
| const osg::Vec3 & | getCmdRates () const |
| LCreal | getCmdAzRate () const |
| LCreal | getCmdElevRate () const |
| LCreal | getCmdRollRate () const |
| const osg::Vec3 & | getLocation () const |
| const osg::Matrix & | getMatrix () const |
| void | getAzimuthLimits (LCreal *const leftLim, LCreal *const rightLim) const |
| void | getElevationLimits (LCreal *const lowerLim, LCreal *const upperLim) const |
| void | getRollLimits (LCreal *const lowerLim, LCreal *const upperLim) const |
| void | getMaxRates (LCreal *const azMaxRate, LCreal *const ezMaxRate, LCreal *const rollMaxRate) const |
| virtual unsigned int | processPlayersOfInterest (Basic::LcPairStream *const poi) |
| bool | isTerrainOccultingEnabled () const |
| virtual bool | setTerrainOccultingEnabled (const bool flg) |
| virtual bool | setServoMode (const ServoMode m) |
| virtual bool | setPosition (const LCreal azim, const LCreal elev) |
| virtual bool | setPosition (const LCreal azim, const LCreal elev, const LCreal roll) |
| virtual bool | setMaxRates (const LCreal azMaxRate, const LCreal ezMaxRate) |
| virtual bool | setMaxRates (const LCreal azMaxRate, const LCreal ezMaxRate, const LCreal rollMaxRate) |
| virtual bool | setCmdPos (const osg::Vec2 &p) |
| virtual bool | setCmdPos (const osg::Vec3 &p) |
| virtual bool | setCmdPos (const LCreal az, const LCreal el, const LCreal roll=0) |
| virtual bool | setCmdRate (const osg::Vec2 &r) |
| virtual bool | setCmdRate (const osg::Vec3 &r) |
| virtual bool | setCmdRate (const LCreal azRate, const LCreal elRate) |
| virtual bool | setCmdRate (const LCreal azRate, const LCreal elRate, const LCreal rollRate) |
| virtual bool | setAzimuthLimits (const LCreal leftLim, const LCreal rightLim) |
| virtual bool | setElevationLimits (const LCreal lowerLim, const LCreal upperLim) |
| virtual bool | setRollLimits (const LCreal lowerLim, const LCreal upperLim) |
| virtual bool | setLocation (const LCreal x, const LCreal y, const LCreal z) |
| virtual bool | setFastSlewMode (const bool flg) |
| virtual bool | onRfEmissionEvent (Emission *const) |
| virtual bool | setSlotType (const Basic::LcString *const msg) |
| virtual bool | setSlotLocation (const Basic::LcList *const msg) |
| virtual bool | setSlotPosition (const Basic::LcList *const msg) |
| virtual bool | setSlotPosAzimuth (const Basic::LcAngle *const msg) |
| virtual bool | setSlotPosElevation (const Basic::LcAngle *const msg) |
| virtual bool | setSlotPosRoll (const Basic::LcAngle *const msg) |
| virtual bool | setSlotAzimuthLimits (const Basic::LcList *const msg) |
| virtual bool | setSlotAzimuthLimitLeft (const Basic::LcAngle *const msg) |
| virtual bool | setSlotAzimuthLimitRight (const Basic::LcAngle *const msg) |
| virtual bool | setSlotElevationLimits (const Basic::LcList *const msg) |
| virtual bool | setSlotElevationLower (const Basic::LcAngle *const msg) |
| virtual bool | setSlotElevationUpper (const Basic::LcAngle *const msg) |
| virtual bool | setSlotRollLimits (const Basic::LcList *const msg) |
| virtual bool | setSlotRollLimitLower (const Basic::LcAngle *const msg) |
| virtual bool | setSlotRollLimitUpper (const Basic::LcAngle *const msg) |
| virtual bool | setSlotMaxRates (const Basic::LcList *const msg) |
| virtual bool | setSlotMaxRateAzimuth (const Basic::LcAngle *const msg) |
| virtual bool | setSlotMaxRateElevation (const Basic::LcAngle *const msg) |
| virtual bool | setSlotMaxRateRoll (const Basic::LcAngle *const msg) |
| virtual bool | setSlotCmdPos (const Basic::LcList *const msg) |
| virtual bool | setSlotCmdPosAzimuth (const Basic::LcAngle *const msg) |
| virtual bool | setSlotCmdPosElevation (const Basic::LcAngle *const msg) |
| virtual bool | setSlotCmdPosRoll (const Basic::LcAngle *const msg) |
| virtual bool | setSlotCmdRate (const Basic::LcList *const msg) |
| virtual bool | setSlotCmdRateAzimuth (const Basic::LcAngle *const msg) |
| virtual bool | setSlotCmdRateElevation (const Basic::LcAngle *const msg) |
| virtual bool | setSlotCmdRateRoll (const Basic::LcAngle *const msg) |
| virtual bool | setSlotTerrainOcculting (const Basic::LcNumber *const msg) |
| virtual bool | event (const int event, Basic::LcObject *const obj=0) |
| virtual void | reset () |
Static Public Member Functions | |
| static void | limitVec (osg::Vec2 &vec, const osg::Vec2 &lim) |
| static void | limitVec (osg::Vec3 &vec, const osg::Vec3 &lim) |
| static void | limitVec (osg::Vec2 &vec, const osg::Vec2 &ll, const osg::Vec2 &ul) |
| static void | limitVec (osg::Vec3 &vec, const osg::Vec3 &ll, const osg::Vec3 &ul) |
Static Public Attributes | |
| static const unsigned int | MAX_TARGETS = 1000 |
Protected Member Functions | |
| virtual void | servoController (const LCreal dt=0.0) |
| virtual bool | setType (const Type rt) |
| virtual void | updateMatrix () |
| Tdb * | getCurrentTDB () |
| virtual void | dynamics (const LCreal dt) |
Private Attributes | |
| Type | type |
| ServoMode | servoMode |
| bool | fastSlew |
| osg::Matrix | mm |
| osg::Vec3 | pos |
| osg::Vec3 | rate |
| osg::Vec3 | cmdPos |
| osg::Vec3 | cmdRate |
| osg::Vec3 | location |
| bool | atLimit |
| osg::Vec3 | maxRate |
| osg::Vec3 | lowLimits |
| osg::Vec3 | highLimits |
| osg::Vec3 | initPos |
| osg::Vec3 | initCmdPos |
| osg::Vec3 | initCmdRate |
| bool | terrainOcculting |
| Tdb * | tdb [3] |
Static Private Attributes | |
| static const LCreal | defaultTolerance |
Classes | |
| class | Tdb |
| as seen by this gimbal (seeker/antenna) More... | |
Generic class for all gimbals, antennas, seekers, etc
Notes:
The matrix (see below) is a composite of this gimbal's angles and
all of parent gimbals' angles. Therefore, this matrix transforms
a vector to our player's coordinate system and not to a parent gimbal's
coordinate system.
Form name: Gimbal
Slots:
type (Basic::LcString) Physical gimbal type: "mechanical" or "electronic"
location (Basic::LcList) Relative location vector (meters) [ x y z ]
initPosition (Basic::LcList) Initial positon vector (radians) [ az el roll ]
initPosAzimuth (Basic::LcAngle) Initial azimuth positon
initPosElevation (Basic::LcAngle) Initial elevation positon
"initPosRoll (Basic::LcAngle) Initial roll positon
azimuthLimits (Basic::LcList) Lower & upper azimuth limits (radians) [ left right ][ range: -pi to pi; else unlimited ]
azimuthLimitLeft (Basic::LcAngle) Left azimuth limit[ range: -pi to pi; else unlimited ]
azimuthLimitRight (Basic::LcAngle) Right azimuth limit[ range: -pi to pi; else unlimited ]
elevationLimits (Basic::LcList) Lower & upper elevation limits (radians) [ lower upper ][ range: -pi to pi; else unlimited ]
elevationLimitLower (Basic::LcAngle) Lower elevation limit[ range: -pi to pi; else unlimited ]
elevationLimitUpper (Basic::LcAngle) Upper elevation limit[ range: -pi to pi; else unlimited ]
rollLimits (Basic::LcAngle) Roll limit vector (radians) [ lower upper ][ range: -pi to pi; else unlimited ]
rollLimitLower (Basic::LcAngle) Lower roll limit[ range: -pi to pi; else unlimited ]
rollLimitUpper (Basic::LcAngle) Upper roll limit[ range: -pi to pi; else unlimited ]
maxRates (Basic::LcList) Max mechanical rate vector (rad/sec) [ az el roll ]
maxRateAzimuth (Basic::LcAngle) Max "mechanical" azimuth rate (Basic::LcAngle/sec)
maxRateElevation (Basic::LcAngle) Max "mechanical" elevation rate (Basic::LcAngle/sec)
maxRateRoll (Basic::LcAngle) Max "mechanical" roll rate (Basic::LcAngle/sec)
commandPosition (Basic::LcList) Commanded position vector (radians) [ az el roll ] (sets POSITION_SERVO)
commandPosAzimuth (Basic::LcAngle) Commanded azimtuh position (sets POSITION_SERVO)
commandPosElevation (Basic::LcAngle) Commanded elevation position (sets POSITION_SERVO)
commandPosRoll (Basic::LcAngle) Commanded roll position (sets POSITION_SERVO)
commandRates (Basic::LcList) Commanded rate vector (rad/sec) [ az el roll ] (sets RATE_SERVO)
commandRateAzimuth (Basic::LcAngle) Commanded azimuth rate (Basic::LcAngle/sec) (sets RATE_SERVO)
commandRateElevation (Basic::LcAngle) Commanded elevation rate (Basic::LcAngle/sec) (sets RATE_SERVO)
commandRateRoll (Basic::LcAngle) Commanded roll rate (Basic::LcAngle/sec) (sets RATE_SERVO)
terrainOcculting (Basic::LcNumber) Target terrain occulting enabled flag (default: false)
Events:
RF_EMISSION (Emission) Default handler: Pass emissions to subcomponents.
/pre>
| anonymous enum |
| Eaagles::Simulation::Gimbal::Gimbal | ( | ) |
Public section.
| bool Eaagles::Simulation::Gimbal::isGimbalType | ( | const Type | tt | ) | const [inline] |
Returns 'true' if servo is of type 'tt'.
| Type Eaagles::Simulation::Gimbal::getGimbalType | ( | ) | const [inline] |
Returns the type of servo: { MECHANICAL, ELECTRONIC }.
| ServoMode Eaagles::Simulation::Gimbal::getServoMode | ( | ) | const [inline] |
Returns the servo mode: { FREEZE_SERVO, RATE_SERVO, POSITION_SERVO }.
| const osg::Vec3& Eaagles::Simulation::Gimbal::getPosition | ( | ) | const [inline] |
Returns the current position vector [ az el roll ] (radians).
| LCreal Eaagles::Simulation::Gimbal::getAzimuth | ( | ) | const [inline] |
Returns current azimuth position (rad).
| LCreal Eaagles::Simulation::Gimbal::getElevation | ( | ) | const [inline] |
Returns current elevation position (rad).
| LCreal Eaagles::Simulation::Gimbal::getRoll | ( | ) | const [inline] |
Returns current roll position (rad).
| LCreal Eaagles::Simulation::Gimbal::getAzimuthD | ( | ) | const |
Returns current azimuth position (deg).
| LCreal Eaagles::Simulation::Gimbal::getElevationD | ( | ) | const |
Returns current elevation position (deg).
| LCreal Eaagles::Simulation::Gimbal::getRollD | ( | ) | const |
Returns current roll position (deg).
| bool Eaagles::Simulation::Gimbal::isPositioned | ( | const LCreal | tol = -1 |
) | const [virtual] |
Returns true if the gimbal position is at the commanded position, with a position tolerance of 'tol' radians. The default tolerance is 1/10th of a degree.
| bool Eaagles::Simulation::Gimbal::isAtLimits | ( | ) | const [virtual] |
Returns true if the gimbal is at a 'phyisical' limit.
| const osg::Vec3& Eaagles::Simulation::Gimbal::getRates | ( | ) | const [inline] |
Returns the current rate vector (rad/sec).
| LCreal Eaagles::Simulation::Gimbal::getAzimuthRate | ( | ) | const [inline] |
Returns current azimuth rate (rad/sec).
| LCreal Eaagles::Simulation::Gimbal::getElevationRate | ( | ) | const [inline] |
Returns current elevation rate (rad/sec).
| LCreal Eaagles::Simulation::Gimbal::getRollRate | ( | ) | const [inline] |
Returns current roll rate (rad/sec).
| bool Eaagles::Simulation::Gimbal::isFastSlewMode | ( | ) | const [inline] |
Returns true if the servo is the 'fast' slewing mode.
| bool Eaagles::Simulation::Gimbal::isSlowSlewMode | ( | ) | const [inline] |
Returns true if the servo is the 'slow' slewing mode.
| const osg::Vec3& Eaagles::Simulation::Gimbal::getCmdPosition | ( | ) | const [inline] |
Returns the commanded position vector [ az el roll ] (radians).
| LCreal Eaagles::Simulation::Gimbal::getCmdAz | ( | ) | const [inline] |
Returns commanded azimuth position (rad).
| LCreal Eaagles::Simulation::Gimbal::getCmdElev | ( | ) | const [inline] |
Returns commanded elevation position (rad).
| LCreal Eaagles::Simulation::Gimbal::getCmdRoll | ( | ) | const [inline] |
Returns commanded roll position (rad).
| const osg::Vec3& Eaagles::Simulation::Gimbal::getCmdRates | ( | ) | const [inline] |
Returns the current rate vector (rad/sec).
Returns the commanded position vector (radians)
| LCreal Eaagles::Simulation::Gimbal::getCmdAzRate | ( | ) | const [inline] |
Returns commanded azimuth rate (rad/sec).
| LCreal Eaagles::Simulation::Gimbal::getCmdElevRate | ( | ) | const [inline] |
Returns commanded elevation rate (rad/sec).
| LCreal Eaagles::Simulation::Gimbal::getCmdRollRate | ( | ) | const [inline] |
Returns commanded roll rate (rad/sec).
| const osg::Vec3& Eaagles::Simulation::Gimbal::getLocation | ( | ) | const [inline] |
Returns the location vector of the gimbal on it's parent container (meters).
| const osg::Matrix& Eaagles::Simulation::Gimbal::getMatrix | ( | ) | const [inline] |
Returns the gimbal's rotational matrix. Used to transform a vector between the gimbal's and player's coordinate systems. (see note above)
| void Eaagles::Simulation::Gimbal::getAzimuthLimits | ( | LCreal *const | leftLim, | |
| LCreal *const | rightLim | |||
| ) | const |
Get the 'physical' gimbals limits (radians) Returns the physical azimuth limits (rad)
| void Eaagles::Simulation::Gimbal::getElevationLimits | ( | LCreal *const | lowerLim, | |
| LCreal *const | upperLim | |||
| ) | const |
Returns the physical elevation limits (rad).
| void Eaagles::Simulation::Gimbal::getRollLimits | ( | LCreal *const | lowerLim, | |
| LCreal *const | upperLim | |||
| ) | const |
Returns the physical roll limits (rad).
| void Eaagles::Simulation::Gimbal::getMaxRates | ( | LCreal *const | azMaxRate, | |
| LCreal *const | ezMaxRate, | |||
| LCreal *const | rollMaxRate | |||
| ) | const |
Returns the maximum mechanical rates (rad/sec).
| unsigned int Eaagles::Simulation::Gimbal::processPlayersOfInterest | ( | Basic::LcPairStream *const | poi | ) | [virtual] |
Process the Players-Of-Interest (POI) list.
| bool Eaagles::Simulation::Gimbal::isTerrainOccultingEnabled | ( | ) | const [inline] |
Target terrain occulting enabled flag.
| bool Eaagles::Simulation::Gimbal::setTerrainOccultingEnabled | ( | const bool | flg | ) | [virtual] |
Sets the target terrain occulting enabled flag.
| bool Eaagles::Simulation::Gimbal::setServoMode | ( | const ServoMode | m | ) | [virtual] |
Sets the servo mode: { FREEZE_SERVO, RATE_SERVO, POSITION_SERVO } Returns false if the mode could not be changed
These functions set the gimbal/servo position (radians) Return 'true' if successfull Sets the current az & el positions (rad)
| bool Eaagles::Simulation::Gimbal::setPosition | ( | const LCreal | azim, | |
| const LCreal | elev, | |||
| const LCreal | roll | |||
| ) | [virtual] |
Sets the current az, el and roll positions (rad).
| bool Eaagles::Simulation::Gimbal::setMaxRates | ( | const LCreal | azMaxRate, | |
| const LCreal | ezMaxRate | |||
| ) | [virtual] |
These functions set the maximum gimbal/servo rate (rad/sec) Return 'true' if successfull
| bool Eaagles::Simulation::Gimbal::setMaxRates | ( | const LCreal | azMaxRate, | |
| const LCreal | ezMaxRate, | |||
| const LCreal | rollMaxRate | |||
| ) | [virtual] |
| bool Eaagles::Simulation::Gimbal::setCmdPos | ( | const osg::Vec2 & | p | ) | [virtual] |
Sets the commanded position vector (rad).
These functions set the commanded position (rad) Return 'true' if successfull
| bool Eaagles::Simulation::Gimbal::setCmdPos | ( | const osg::Vec3 & | p | ) | [virtual] |
Sets the commanded position vector (rad).
| bool Eaagles::Simulation::Gimbal::setCmdPos | ( | const LCreal | az, | |
| const LCreal | el, | |||
| const LCreal | roll = 0 | |||
| ) | [virtual] |
Sets the commanded az, el and roll positions (rad).
| bool Eaagles::Simulation::Gimbal::setCmdRate | ( | const osg::Vec2 & | r | ) | [virtual] |
These functions set the commanded rates (rad/sec) Return 'true' if successfull Sets the commanded rate vector (rad/sec)
| bool Eaagles::Simulation::Gimbal::setCmdRate | ( | const osg::Vec3 & | r | ) | [virtual] |
Sets the commanded rate vector (rad/sec).
Sets the commanded az & el rates (rad/sec).
| bool Eaagles::Simulation::Gimbal::setCmdRate | ( | const LCreal | azRate, | |
| const LCreal | elRate, | |||
| const LCreal | rollRate | |||
| ) | [virtual] |
Sets the commanded az, el and roll rates (rad/sec).
| bool Eaagles::Simulation::Gimbal::setAzimuthLimits | ( | const LCreal | leftLim, | |
| const LCreal | rightLim | |||
| ) | [virtual] |
These functions set the azimuth, elevation and roll limits (radians) Return 'true' if successfull Sets the mechanical azimuth limits (rad)
| bool Eaagles::Simulation::Gimbal::setElevationLimits | ( | const LCreal | lowerLim, | |
| const LCreal | upperLim | |||
| ) | [virtual] |
Sets the mechanical elevation limits (rad).
| bool Eaagles::Simulation::Gimbal::setRollLimits | ( | const LCreal | lowerLim, | |
| const LCreal | upperLim | |||
| ) | [virtual] |
Sets the mechanical roll limits (rad).
| bool Eaagles::Simulation::Gimbal::setFastSlewMode | ( | const bool | flg | ) | [virtual] |
Sets the servo 'fast' or 'slow' slewing mode.
| bool Eaagles::Simulation::Gimbal::onRfEmissionEvent | ( | Emission * | const | ) | [virtual] |
Event handler(s) Handles R/F emission events
| bool Eaagles::Simulation::Gimbal::setSlotType | ( | const Basic::LcString *const | msg | ) | [virtual] |
Slot functions Physical gimbal type: "mechanical" or "electronic"
| bool Eaagles::Simulation::Gimbal::setSlotLocation | ( | const Basic::LcList *const | msg | ) | [virtual] |
Relative location vector (meters) [ x y z ].
| bool Eaagles::Simulation::Gimbal::setSlotPosition | ( | const Basic::LcList *const | msg | ) | [virtual] |
Initial positon vector (radians) [ az el roll ].
| bool Eaagles::Simulation::Gimbal::setSlotPosAzimuth | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Initial azimuth positon.
| bool Eaagles::Simulation::Gimbal::setSlotPosElevation | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Initial elevation positon.
| bool Eaagles::Simulation::Gimbal::setSlotPosRoll | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Initial roll positon.
| bool Eaagles::Simulation::Gimbal::setSlotAzimuthLimits | ( | const Basic::LcList *const | msg | ) | [virtual] |
Azimuth limit vector (radians) [ left right ].
| bool Eaagles::Simulation::Gimbal::setSlotAzimuthLimitLeft | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Left azimuth limit.
| bool Eaagles::Simulation::Gimbal::setSlotAzimuthLimitRight | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Right azimuth limit.
| bool Eaagles::Simulation::Gimbal::setSlotElevationLimits | ( | const Basic::LcList *const | msg | ) | [virtual] |
Elevation limit vector (radians) [ lower upper ].
| bool Eaagles::Simulation::Gimbal::setSlotElevationLower | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Lower elevation limit.
| bool Eaagles::Simulation::Gimbal::setSlotElevationUpper | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Upper elevation limit.
| bool Eaagles::Simulation::Gimbal::setSlotRollLimits | ( | const Basic::LcList *const | msg | ) | [virtual] |
Roll limit vector (radians) [ lower upper ].
| bool Eaagles::Simulation::Gimbal::setSlotRollLimitLower | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Lower roll limit.
| bool Eaagles::Simulation::Gimbal::setSlotRollLimitUpper | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Upper roll limit.
| bool Eaagles::Simulation::Gimbal::setSlotMaxRates | ( | const Basic::LcList *const | msg | ) | [virtual] |
Max "mechanical" rate vector (rad/sec) [ az el roll ].
| bool Eaagles::Simulation::Gimbal::setSlotMaxRateAzimuth | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Max "mechanical" azimuth rate (Basic::LcAngle/sec).
| bool Eaagles::Simulation::Gimbal::setSlotMaxRateElevation | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Max "mechanical" elevation rate (Basic::LcAngle/sec).
| bool Eaagles::Simulation::Gimbal::setSlotMaxRateRoll | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Max "mechanical" roll rate (Basic::LcAngle/sec).
| bool Eaagles::Simulation::Gimbal::setSlotCmdPos | ( | const Basic::LcList *const | msg | ) | [virtual] |
Commanded position vector [ az el roll ] (sets POSITION_SERVO).
| bool Eaagles::Simulation::Gimbal::setSlotCmdPosAzimuth | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Commanded azimtuh position (sets POSITION_SERVO).
| bool Eaagles::Simulation::Gimbal::setSlotCmdPosElevation | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Commanded elevation position (sets POSITION_SERVO).
| bool Eaagles::Simulation::Gimbal::setSlotCmdPosRoll | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Commanded roll position (sets POSITION_SERVO).
| bool Eaagles::Simulation::Gimbal::setSlotCmdRate | ( | const Basic::LcList *const | msg | ) | [virtual] |
Commanded rate vector (rad/sec) [ az el roll ] (sets RATE_SERVO).
| bool Eaagles::Simulation::Gimbal::setSlotCmdRateAzimuth | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Commanded azimuth rate (sets RATE_SERVO).
| bool Eaagles::Simulation::Gimbal::setSlotCmdRateElevation | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Commanded elevation rate (sets RATE_SERVO).
| bool Eaagles::Simulation::Gimbal::setSlotCmdRateRoll | ( | const Basic::LcAngle *const | msg | ) | [virtual] |
Commanded roll rate (sets RATE_SERVO).
| bool Eaagles::Simulation::Gimbal::setSlotTerrainOcculting | ( | const Basic::LcNumber *const | msg | ) | [virtual] |
Enable target terrain occulting (default: false).
| void Eaagles::Simulation::Gimbal::limitVec | ( | osg::Vec2 & | vec, | |
| const osg::Vec2 & | lim | |||
| ) | [static] |
Symmetrical and asymmetrical limit checks.
| void Eaagles::Simulation::Gimbal::limitVec | ( | osg::Vec3 & | vec, | |
| const osg::Vec3 & | lim | |||
| ) | [static] |
| void Eaagles::Simulation::Gimbal::limitVec | ( | osg::Vec2 & | vec, | |
| const osg::Vec2 & | ll, | |||
| const osg::Vec2 & | ul | |||
| ) | [static] |
| void Eaagles::Simulation::Gimbal::limitVec | ( | osg::Vec3 & | vec, | |
| const osg::Vec3 & | ll, | |||
| const osg::Vec3 & | ul | |||
| ) | [static] |
| virtual bool Eaagles::Simulation::Gimbal::event | ( | const int | event, | |
| Basic::LcObject *const | obj = 0 | |||
| ) | [virtual] |
| void Eaagles::Simulation::Gimbal::reset | ( | ) | [virtual] |
Reinitialize this component to its state at the beginning of the simulation.
Reimplemented from Eaagles::Simulation::System.
| void Eaagles::Simulation::Gimbal::servoController | ( | const LCreal | dt = 0.0 |
) | [protected, virtual] |
| bool Eaagles::Simulation::Gimbal::setType | ( | const Type | rt | ) | [protected, virtual] |
| void Eaagles::Simulation::Gimbal::updateMatrix | ( | ) | [protected, virtual] |
| Gimbal::Tdb * Eaagles::Simulation::Gimbal::getCurrentTDB | ( | ) | [protected] |
Get (and switches as need) the current TDB (pre-ref()).
| void Eaagles::Simulation::Gimbal::dynamics | ( | const LCreal | dt | ) | [protected, virtual] |
const unsigned int Eaagles::Simulation::Gimbal::MAX_TARGETS = 1000 [static] |
Max number of target players.
Basic::LcList Basic::LcAngle Basic::LcAngle Basic::LcAngle Basic::LcList Basic::LcAngle Basic::LcAngle Basic::LcList Basic::LcAngle Basic::LcList Basic::LcAngle Basic::LcList Basic::LcAngle Basic::LcNumber const LCreal Eaagles::Simulation::Gimbal::defaultTolerance [static, private] |
Type Eaagles::Simulation::Gimbal::type [private] |
Mechanical or Electronic gimbal (affects maxRates).
Gimbal's servo mode.
bool Eaagles::Simulation::Gimbal::fastSlew [private] |
Fast slewing mode: tell us if we are slewing fast (true) or scanning (slewing slow (false)).
osg::Matrix Eaagles::Simulation::Gimbal::mm [private] |
Transformation matrix (to/from the player's coordinate system).
osg::Vec3 Eaagles::Simulation::Gimbal::pos [private] |
Current gimbal position (rad).
osg::Vec3 Eaagles::Simulation::Gimbal::rate [private] |
Current velocity (rad/sec).
osg::Vec3 Eaagles::Simulation::Gimbal::cmdPos [private] |
Commanded position (rad).
osg::Vec3 Eaagles::Simulation::Gimbal::cmdRate [private] |
Commanded rate (rad/sec).
osg::Vec3 Eaagles::Simulation::Gimbal::location [private] |
Gimbal's location on parent (meters).
bool Eaagles::Simulation::Gimbal::atLimit [private] |
Gimbal is at a limit.
osg::Vec3 Eaagles::Simulation::Gimbal::maxRate [private] |
Max mechanical rate of gimbal (rad/sec).
osg::Vec3 Eaagles::Simulation::Gimbal::lowLimits [private] |
left/lower gimbal limits (rad)
osg::Vec3 Eaagles::Simulation::Gimbal::highLimits [private] |
right/upper gimbal limits (rad)
osg::Vec3 Eaagles::Simulation::Gimbal::initPos [private] |
Initial gimbal position (rad).
osg::Vec3 Eaagles::Simulation::Gimbal::initCmdPos [private] |
Initial commanded position (rad).
osg::Vec3 Eaagles::Simulation::Gimbal::initCmdRate [private] |
Initial commanded rate (rad/sec).
bool Eaagles::Simulation::Gimbal::terrainOcculting [private] |
Target terrain occulting enabled flag.
Tdb* Eaagles::Simulation::Gimbal::tdb[3] [private] |
Two TDB objects rotate between the following tdb[0] => Current TDB (In use by time-critical thread) tdb[1] => New TDB (just processed by processPlayersOfInterest()) tdb[2] => Free TDB (can be use by processPlayersOfInterest())
1.5.0