> >> Only JSBSim doesn't.  :-(

While we're finding out the cause and fixing the ground cache thing, how about 
making a small modification to JSBSim.cxx that will spit out useful data and 
*not* freeze the FDM? (about line 409)

    // Compute the potential movement of this aircraft and query for the
    // ground in this area.
    double groundCacheRadius = acrad + 2*dt*Propagate->GetUVW().Magnitude();
    double alt, slr, lat, lon;
    FGColumnVector3 cart = Auxiliary->GetLocationVRP();
    if ( needTrim && startup_trim->getBoolValue() ) {
      alt = fgic->GetAltitudeFtIC();
      slr = fgic->GetSeaLevelRadiusFtIC();
      lat = fgic->GetLatitudeDegIC() * SGD_DEGREES_TO_RADIANS;
      lon = fgic->GetLongitudeDegIC() * SGD_DEGREES_TO_RADIANS;
      cart = FGLocation(lon, lat, alt+slr);
    }
    double cart_pos[3] = { cart(1), cart(2), cart(3) };
    bool cache_ok = prepare_ground_cache_ft( State->Getsim_time(), cart_pos,
                                             groundCacheRadius );
    if (!cache_ok) {
      SG_LOG(SG_FLIGHT, SG_WARN,
             "FGInterface is being called without scenery below the aircraft!
\n");
      cout << "altitude         = " << alt << endl;
      cout << "sea level radius = " << slr << endl;
      cout << "latitude         = " << lat << endl;
      cout << "longitude        = " << lon << endl;
      //return;
    }


I know it works fine in the air (I've been using it for a couple days while 
trying to recreate the error conditions), but what happens if you get a bad 
cache on the ground?  Don't know.

Dave

_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d

Reply via email to