@Override public javax.vecmath.Matrix4d getAbsoluteTransformation() { synchronized (m_absoluteTransformationLock) { if (m_absoluteTransformation == null) { Container parent = getParent(); if (parent != null) { m_absoluteTransformation = MathUtilities.multiply(m_localTransformation, parent.getAbsoluteTransformation()); } else { m_absoluteTransformation = new javax.vecmath.Matrix4d(m_localTransformation); } if (Math.abs(m_absoluteTransformation.m33 - 1.0) > 0.01) { System.err.println( "JAVA SCENEGRAH LOCAL: holy corrupt matrix batman " + m_absoluteTransformation); } } return new javax.vecmath.Matrix4d(m_absoluteTransformation); } }
public void setAbsoluteTransformation(javax.vecmath.Matrix4d m) { ReferenceFrame vehicle = (ReferenceFrame) getParent(); setLocalTransformation(MathUtilities.multiply(m, vehicle.getInverseAbsoluteTransformation())); }