When you want to have an airplane/spaceship which is physically interactive you should have look at
CalcBodyVelocity() and SetBodyVelocity(). Same for CalcBodyOmega() and SetBodyOmega().
What i tried was:
Load a ship/airplane. (Ship)
Create a pivot. (Piv)
Every loop:
// Reset the pivot position
SetEntityMatrix(Piv, GetEntityMatrix(Ship));
//Move the pivot around (user input / AI)
MoveEntity(Piv, SomeUserInputVector);
// Calculate the ships velocity
TVec3 Vec3Velocity = CalcBodyVelocity (Ship, EntityPosition (Piv, 0), 1.0f);
SetBodyVelocity (Ship, Vec3Velocity, 0);
// Calculate the ships angular velocity
TVec3 Vec3Omega = CalcBodyOmega (Ship, EntityRotation (Piv, 0), 1.0f);
SetBodyOmega (Ship, Vec3Omega, 0);
That way any projectile hitting your ship will automatically affect it via physics (with zero programming)