コード例 #1
0
ファイル: Transformable.java プロジェクト: ericpauley/Alice
 @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);
   }
 }
コード例 #2
0
ファイル: Transformable.java プロジェクト: ericpauley/Alice
 public void setAbsoluteTransformation(javax.vecmath.Matrix4d m) {
   ReferenceFrame vehicle = (ReferenceFrame) getParent();
   setLocalTransformation(MathUtilities.multiply(m, vehicle.getInverseAbsoluteTransformation()));
 }