> This is more of a code architecture issue.  Once something has left
> the aircraft, it ought be be handed to a simple "ballistics FDM" or
> somesuch.  Making it "disappear" from the aircraft model is as simple
> as adding a select animation and can be done right now.  And you can
> set the weight tag to zero to get the FDM behavior correct.
>
> Running it under a separate "FDM" handler is something that the C++
> code just doesn't support yet, though.  It's probably not hugely
> difficult to make work, though.

A simple ballistics FDM already exists, located at 
src/AIModel/AIBallistic.cxx, and it works nicely on its own.  What is needed 
is for every FDM to have the ability to be a master or slave of any other 
FDM.  When in slave mode the slave FDM will get its [x,y,z,pitch,roll,bank] 
info from the master.  When released the slave will begin using its internal 
calculations.  It wouldn't be hard to add this to AIBase (the base class for 
AIBallistic, AIAircraft and AIShip).  Yasim and JSBSim could then have the 
master/slave ability added (JSBSim already has something like this, but it 
wasn't designed to work with all the other FDMs).

I think we just need to define the interface for every FDM, and the struct for 
passing the [x,y,z,pitch,roll,yaw] data.  If you want the slave FDM to effect 
the master, then it gets more complicated.  A simple FDM, like AIAircraft, 
can ignore the effects of the slave, but a complex FDM, like Yasim or JSBSim, 
would probably want to be effected by the slave.  For instance, if you make 
the JSBSim X-15 a slave to an AIAircraft B-52, then the B-52 can ignore the 
effects of the X-15.  If the X-15 is a slave to the Yasim B-52, then the B-52 
will probably want to figure in the effects of the X-15.

One thing that needs more work is in ensuring that the master and slave models 
get drawn at the same time.  I'm no graphics guy, so that's out of my league.  
I've noticed this is a problem when pulling up behind the AI KC-135 (or any 
AIAircraft object).  The AI object appears to leap forward in about 20-foot 
bursts.  It would look funny if the AIBallistic-based external fuel tank 
didn't follow the aircraft smoothly.  Curt had the idea of using a central 
graphics manager to manage the drawing of all objects, and that might do the 
trick.


Dave
-- 
****************************
David Culp
davidculp2[at]comcast.net
****************************

_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to