We need two relatively complicated pieces of self-contained code written to move much further with FlightGear:
1. a function that, given an ssgBranch and the current viewer transformation, can return the descendant of the branch (if any) under a specific screen coordinate; and 2. a new intersect routine that starts by looking downwards, so that a plane (for example) can taxi into a hangar or under a bridge without suddenly jumping on top. For #1, I suspect the function would look something like this: ssgEntity * fgScreenSelect (ssgBranch * branch, sgMat4 &transform, int screen_x, int screen_y); I have read several Web pages describing this problem and have looked at the relevant code in PPE as well, but I have to admit that I find it a little too complicated for my limited math skills. Would anyone be willing to write something like this? It might actually belong in Plib rather than FlightGear or SimGear. Once we have this, we will be able to manipulate 3D objects (like a throttle) using the mouse, and perhaps even adjust the position of 3D static models interactively. For #2, we need to test for an intersection *below* the plane first, and only then to test above in case we're underground. Thanks, and all the best, David -- David Megginson [EMAIL PROTECTED] _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel