Suggestion: add the following methods to Spatial:
//rotate based on 3 float values (angles) -- SeySayux
public void setLocalRotation(float x, float y, float z) {
this.getLocalRotation().fromAngles(x,y,z);
}
// rotate based on values in vector (angles) -- SeySayux
public void setLocalRotation(Vector3f v) {
this.getLocalRotation().fromAngles(v.x, v.y, v.z);
}
// adds translation to the current translation -- SeySayux
public void addLocalTranslation(Vector3f v) {
this.getLocalTranslation().add(v);
}
// adds translation to the current translation (floats) -- Seysayux
public void addLocalTranslation(float x, float y, float z) {
this.getLocalTranslaton().x += x;
this.getLocalTranslaton().y += y;
this.getLocalTranslaton().z += z;
}
// adds rotation (quaternion) to current rotation -- SeySayux
public void addLocalRotation(Quaternion q) {
this.getLocalRotation().add(q);
}
//adds rotation (float angles) to current rotation -- SeySayux
public void addLocalRotation(float x, float y, float z) {
float f[] = new float[3];
this.getLocalRotation().toAngles(f);
f[0] += x; f[1] += y; f[2] += z;
this.getLocalTranslation.fromAngles(f);
}
// adds rotation (vector angles) to current rotation -- SeySayux
public void addLocalRotation(Vector3f v) {
addLocalRotation(v.x, v.y, v.z);
}
// adds local scale (float value) -- SeySayux
public void addLocalScale(float localScale) {
this.localScale.x += localScale;
this.localScale.y += localScale;
this.localScale.z += localScale;
}
// adds local scale (Vector value) -- SeySayux
public void addLocalScale (Vector3f localScale) {
this.getLocalScale().add(localScale);
}