That would be the way to do, is what twistedtwigleg said. But something I used was placing an empty node on the forward placement, and then used it for telling me the forward vector.
So with a node placed on local vector (0,0,1) , then getting a reference to the node, using get_node("forwardNode")
Then using the algo,
gives me the forward direction to use.