//------------------------------------------------------------------------------ // getCalculatedAirframeHeatSignature() //------------------------------------------------------------------------------ double AircraftIrSignature::getCalculatedAirframeHeatSignature(const IrQueryMsg* const msg) { double irPower = 0; const auto targetAircraft = dynamic_cast<const AirVehicle*>(static_cast<const Player*>(msg->getTarget())); if(targetAircraft != nullptr) { // this will need checks to ensure targetAircraft is , in fact, // an airvehicle and not something else. const double targetAlt = static_cast<double>(targetAircraft->getAltitudeM()); const double targetVel = targetAircraft->getMach(); double targetAzimuth = msg->getAzimuthAoi(); const double targetElevation = msg->getElevationAoi(); if (targetAzimuth < 0) { targetAzimuth = -targetAzimuth; } irPower = getAirframeSignature(targetVel, targetAlt, targetAzimuth, targetElevation); } return irPower; }
// Returns system altitude (ft) double Navigation::getAltitudeFt() const { return getAltitudeM() * Basic::Distance::M2FT; }