Basic movement and rotations

Hi. I developed for many years (in spare time though) with Basic 3d enhanced languages. I thought that the simplest movements and rotation that  a developer wish to have are these :



node.move(x,y,z,refNode)

node.ARMrotate(x,y,z,refNode)



.move will move the node for an x,y,z amount along its axis orientation,  or along the axis of a refNode if refNode is not null.

ARMrotate will rotate the Node in this order yaw axis, pitch axis, and roll axis (axis of the node modified after every single axis rotation). The refNode is the reference system if it's not null.



More thoroughly i want to specify that if i set two instructions like :

        node.move(1,0,0,null);

        node.move(2,0,0,null);

the effective movement at the update display will be of 3 units along x axis of the node itself.



And again if i set :

        node.ARMrotate(alfa,beta,gamma,null)

the effective rotation at the update display will be (be careful) :

        rotation of beta radiants along its y axis (this rotation will affect the following x and z rotations)

        rotation of alfa radiants along its NEW x axis (this rotation will affect the following z rotation).

        rotation of gamma radiants along its NEW z axis.

(You can think this as your head movements, to look some writings into a position, you move left-right the head, so up-down, and so,eventually, rotate the

look around your nose-axis). I called it ARMrotate because sometime ago i read these movements around an ARM robot guide(or something like).



I think that most of the the time spent by jme developers is about complex rotation systems, and i know that rotations are a very pain.



The thing i wish to know if there's already something similar or there's snippets that can do that, so i could code these basic functions and pack

as a new Node extended functions.