private void updateFromCamera(){
  final ReadOnlyVector3 camLeft=camera.getLeft();
  final ReadOnlyVector3 camUp=camera.getUp();
  final ReadOnlyVector3 camDir=camera.getDirection();
  final ReadOnlyVector3 camLoc=camera.getLocation();
  final Matrix3 rotation=Matrix3.fetchTempInstance();
  rotation.fromAxes(camLeft,camUp,camDir);
  setRotation(rotation);
  setTranslation(camLoc);
  Matrix3.releaseTempInstance(rotation);
}

private void updateFromCamera ( ) { final ReadOnlyVector3 camLeft = camera . getLeft ( ) ; final ReadOnlyVector3 camUp = camera . getUp ( ) ; final ReadOnlyVector3 camDir = camera . getDirection ( ) ; final ReadOnlyVector3 camLoc = camera . getLocation ( ) ; final Matrix3 rotation = Matrix3 . fetchTempInstance ( ) ; rotation . fromAxes ( camLeft , camUp , camDir ) ; setRotation ( rotation ) ; setTranslation ( camLoc ) ; Matrix3 . releaseTempInstance ( rotation ) ; }
adapted from ardor3d cameranode .
