public Vector3f transformVector(final Vector3f in, Vector3f store) {
        if (store == null) {
            store = new Vector3f();
        }

        // multiply with scale first, then rotate, finally translate (cf.
        // Eberly)
        return rot.mult(store.set(in).multLocal(scale), store).addLocal(translation);
    }
Transforms the specified coordinates and returns the result in
<code>store</code>. If the <code>store</code> is null, a new Vector3f is
created to hold the value. Either way, the current instance is
unaffected, unless <code>store</code> is its translation or scaling.
<p>
The transform's quaternion is assumed to be normalized. No error checking
is performed; the caller should ensure that {@code rot.norm()} is
approximately equal to 1.

@param in the coordinates to transform (not null, unaffected)
@param store storage for the result (modified if not null)
@return the transformed coordinates (either <code>store</code> or a new
    Vector3f)
jme3-core/src/main/java/com/jme3/math/Transform.java