Bullet Physics in local NodePath coordinate system

I have a BulletRigidBodyNode that i can apply a force to by using e.g. apply_central_force. The input parameter to apply_central_force is a LVector3 in the global coordinate system as I understand it. What is the preferred way to apply a fore using Bullet in the local coordinate system of a NodePath? I can find very little documentation/examples on this topic.

As an example the BulletRigidBodyNode could be a airplane and the force an engine on the plane. The force of the engine will be in the same location no matter how the airplane is oriented if applied in the NodePath of the object. This is what I want. But if the force is applied in a global coordinate system the plane will fly in the same direction no matter how it is oriented.

Thanks for any hints!

When browsing through the docs again I guess I could do something like:

my_trans = my_node_path_connected_to_rigid_bullet_obj.[b]get_net_transform/b;
my_quat = my_trans.[b]get_quat/b;
new_impulse_vector = my_quat.[b]xform/b;

and it seems to work… but it feels like I need to poke in stuff that is unnecessary complex and might be slow. If this is the way to go then the above might help others otherwise suggestions are still appreciated :wink: