@Override final public void set( final RigidModel3D m ) { m00 = m.m00; m10 = m.m10; m20 = m.m20; m01 = m.m01; m11 = m.m11; m21 = m.m21; m02 = m.m02; m12 = m.m12; m22 = m.m22; m03 = m.m03; m13 = m.m13; m23 = m.m23; cost = m.cost; invert(); }
@Override final public void set( final RigidModel3D m ) { m00 = m.m00; m10 = m.m10; m20 = m.m20; m01 = m.m01; m11 = m.m11; m21 = m.m21; m02 = m.m02; m12 = m.m12; m22 = m.m22; m03 = m.m03; m13 = m.m13; m23 = m.m23; cost = m.cost; invert(); }
@Override final public void preConcatenate( final RigidModel3D model ) { final double a00 = model.m00 * m00 + model.m01 * m10 + model.m02 * m20; final double a01 = model.m00 * m01 + model.m01 * m11 + model.m02 * m21; final double a02 = model.m00 * m02 + model.m01 * m12 + model.m02 * m22; final double a03 = model.m00 * m03 + model.m01 * m13 + model.m02 * m23 + model.m03; final double a10 = model.m10 * m00 + model.m11 * m10 + model.m12 * m20; final double a11 = model.m10 * m01 + model.m11 * m11 + model.m12 * m21; final double a12 = model.m10 * m02 + model.m11 * m12 + model.m12 * m22; final double a13 = model.m10 * m03 + model.m11 * m13 + model.m12 * m23 + model.m13; final double a20 = model.m20 * m00 + model.m21 * m10 + model.m22 * m20; final double a21 = model.m20 * m01 + model.m21 * m11 + model.m22 * m21; final double a22 = model.m20 * m02 + model.m21 * m12 + model.m22 * m22; final double a23 = model.m20 * m03 + model.m21 * m13 + model.m22 * m23 + model.m23; m00 = a00; m01 = a01; m02 = a02; m03 = a03; m10 = a10; m11 = a11; m12 = a12; m13 = a13; m20 = a20; m21 = a21; m22 = a22; m23 = a23; invert(); }
@Override final public void concatenate( final RigidModel3D model ) { final double a00 = m00 * model.m00 + m01 * model.m10 + m02 * model.m20; final double a01 = m00 * model.m01 + m01 * model.m11 + m02 * model.m21; final double a02 = m00 * model.m02 + m01 * model.m12 + m02 * model.m22; final double a03 = m00 * model.m03 + m01 * model.m13 + m02 * model.m23 + m03; final double a10 = m10 * model.m00 + m11 * model.m10 + m12 * model.m20; final double a11 = m10 * model.m01 + m11 * model.m11 + m12 * model.m21; final double a12 = m10 * model.m02 + m11 * model.m12 + m12 * model.m22; final double a13 = m10 * model.m03 + m11 * model.m13 + m12 * model.m23 + m13; final double a20 = m20 * model.m00 + m21 * model.m10 + m22 * model.m20; final double a21 = m20 * model.m01 + m21 * model.m11 + m22 * model.m21; final double a22 = m20 * model.m02 + m21 * model.m12 + m22 * model.m22; final double a23 = m20 * model.m03 + m21 * model.m13 + m22 * model.m23 + m23; m00 = a00; m01 = a01; m02 = a02; m03 = a03; m10 = a10; m11 = a11; m12 = a12; m13 = a13; m20 = a20; m21 = a21; m22 = a22; m23 = a23; invert(); }
@Override final public void concatenate( final RigidModel3D model ) { final double a00 = m00 * model.m00 + m01 * model.m10 + m02 * model.m20; final double a01 = m00 * model.m01 + m01 * model.m11 + m02 * model.m21; final double a02 = m00 * model.m02 + m01 * model.m12 + m02 * model.m22; final double a03 = m00 * model.m03 + m01 * model.m13 + m02 * model.m23 + m03; final double a10 = m10 * model.m00 + m11 * model.m10 + m12 * model.m20; final double a11 = m10 * model.m01 + m11 * model.m11 + m12 * model.m21; final double a12 = m10 * model.m02 + m11 * model.m12 + m12 * model.m22; final double a13 = m10 * model.m03 + m11 * model.m13 + m12 * model.m23 + m13; final double a20 = m20 * model.m00 + m21 * model.m10 + m22 * model.m20; final double a21 = m20 * model.m01 + m21 * model.m11 + m22 * model.m21; final double a22 = m20 * model.m02 + m21 * model.m12 + m22 * model.m22; final double a23 = m20 * model.m03 + m21 * model.m13 + m22 * model.m23 + m23; m00 = a00; m01 = a01; m02 = a02; m03 = a03; m10 = a10; m11 = a11; m12 = a12; m13 = a13; m20 = a20; m21 = a21; m22 = a22; m23 = a23; invert(); }
@Override final public void preConcatenate( final RigidModel3D model ) { final double a00 = model.m00 * m00 + model.m01 * m10 + model.m02 * m20; final double a01 = model.m00 * m01 + model.m01 * m11 + model.m02 * m21; final double a02 = model.m00 * m02 + model.m01 * m12 + model.m02 * m22; final double a03 = model.m00 * m03 + model.m01 * m13 + model.m02 * m23 + model.m03; final double a10 = model.m10 * m00 + model.m11 * m10 + model.m12 * m20; final double a11 = model.m10 * m01 + model.m11 * m11 + model.m12 * m21; final double a12 = model.m10 * m02 + model.m11 * m12 + model.m12 * m22; final double a13 = model.m10 * m03 + model.m11 * m13 + model.m12 * m23 + model.m13; final double a20 = model.m20 * m00 + model.m21 * m10 + model.m22 * m20; final double a21 = model.m20 * m01 + model.m21 * m11 + model.m22 * m21; final double a22 = model.m20 * m02 + model.m21 * m12 + model.m22 * m22; final double a23 = model.m20 * m03 + model.m21 * m13 + model.m22 * m23 + model.m23; m00 = a00; m01 = a01; m02 = a02; m03 = a03; m10 = a10; m11 = a11; m12 = a12; m13 = a13; m20 = a20; m21 = a21; m22 = a22; m23 = a23; invert(); }
this.m23 = m23; invert();
final public void concatenate( final TranslationModel3D model ) { final double[] t = model.getTranslation(); m03 = m00 * t[ 0 ] + m01 * t[ 1 ] + m02 * t[ 2 ] + m03; m13 = m10 * t[ 0 ] + m11 * t[ 1 ] + m12 * t[ 2 ] + m13; m23 = m20 * t[ 0 ] + m21 * t[ 1 ] + m22 * t[ 2 ] + m23; invert(); }
final public void preConcatenate( final TranslationModel3D model ) { final double[] t = model.getTranslation(); m03 += t[ 0 ]; m13 += t[ 1 ]; m23 += t[ 2 ]; invert(); }
final public void preConcatenate( final TranslationModel3D model ) { final double[] t = model.getTranslation(); m03 += t[ 0 ]; m13 += t[ 1 ]; m23 += t[ 2 ]; invert(); }
final public void concatenate( final TranslationModel3D model ) { final double[] t = model.getTranslation(); m03 = m00 * t[ 0 ] + m01 * t[ 1 ] + m02 * t[ 2 ] + m03; m13 = m10 * t[ 0 ] + m11 * t[ 1 ] + m12 * t[ 2 ] + m13; m23 = m20 * t[ 0 ] + m21 * t[ 1 ] + m22 * t[ 2 ] + m23; invert(); }
this.m23 = m23; invert();
@Override public RigidModel3D copy() { final RigidModel3D m = new RigidModel3D(); m.m00 = m00; m.m10 = m10; m.m20 = m20; m.m01 = m01; m.m11 = m11; m.m21 = m21; m.m02 = m02; m.m12 = m12; m.m22 = m22; m.m03 = m03; m.m13 = m13; m.m23 = m23; m.cost = cost; m.invert(); return m; }
@Override public RigidModel3D copy() { final RigidModel3D m = new RigidModel3D(); m.m00 = m00; m.m10 = m10; m.m20 = m20; m.m01 = m01; m.m11 = m11; m.m21 = m21; m.m02 = m02; m.m12 = m12; m.m22 = m22; m.m03 = m03; m.m13 = m13; m.m23 = m23; m.cost = cost; m.invert(); return m; }
final public void set( final TranslationModel3D m ) { reset(); m03 = m.translation[ 0 ]; m13 = m.translation[ 1 ]; m23 = m.translation[ 2 ]; cost = m.getCost(); invert(); }
final public void set( final TranslationModel3D m ) { reset(); m03 = m.translation[ 0 ]; m13 = m.translation[ 1 ]; m23 = m.translation[ 2 ]; cost = m.getCost(); invert(); }
m23 = qcz - m20 * pcx - m21 * pcy - m22 * pcz; invert();
m23 = qcz - m20 * pcx - m21 * pcy - m22 * pcz; invert();