According to your doc, Object3D has two scaling methods, namely: scale and setScale which both takes a float argument. setScale(f) clearly points that its applies it changes in the world, while scale(f) seems only to apply on the object. Is this correct?
Why isn't a matrix needed to scale (transform) the object?
- Neither have I a transformation nor a rotation matrix assigned to the object, which scales anyway. Have I got something wrong; dont an object3d need a matrix to make any transformation/rotation calculations?
Absolute scaling with setScale(f) is sufficiently since I just could move the object back to gets original origin (and get the desired relative scaled object):
SimpleVector origin = o3d.getOrigin();
o3d.setScale(0.95f);
o3d.setTranslationMatrix(new Matrix());
o3d.setOrigin(origin);