@Override public void mousePressed( final MouseEvent e ) { oX = e.getX(); oY = e.getY(); mouseRotation.set( rotation ); } }
@Override public void mousePressed( final MouseEvent e ) { oX = e.getX(); oY = e.getY(); mouseRotation.set( rotation ); } }
@Override public void set( final InterpolatedAffineModel3D< A, B > m ) { super.set( m ); affine.set( m.affine ); }
@Override public void set( final InterpolatedAffineModel3D< A, B > m ) { super.set( m ); affine.set( m.affine ); }
protected void interpolate() { a.toArray( afs ); b.toArray( bfs ); for ( int i = 0; i < afs.length; ++i ) afs[ i ] = afs[ i ] * l1 + bfs[ i ] * lambda; affine.set( afs[ 0 ], afs[ 3 ], afs[ 6 ], afs[ 9 ], afs[ 1 ], afs[ 4 ], afs[ 7 ], afs[ 10 ], afs[ 2 ], afs[ 5 ], afs[ 8 ], afs[ 11 ] ); }
public static AffineModel3D getAffineModel3D( Transform3D transform ) { final double[] m = new double[16]; transform.get( m ); AffineModel3D model = new AffineModel3D(); model.set( m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9], m[10], m[11] ); return model; }
public static AffineModel3D getModel( final AffineGet affine ) { final double[] m = affine.getRowPackedCopy(); final AffineModel3D model = new AffineModel3D(); model.set( m[ 0 ], m[ 1 ], m[ 2 ], m[ 3 ], m[ 4 ], m[ 5 ], m[ 6 ], m[ 7 ], m[ 8 ], m[ 9 ], m[ 10 ], m[ 11 ] ); return model; }
public void interpolate() { a.toArray( afs ); b.toArray( bfs ); for ( int i = 0; i < afs.length; ++i ) afs[ i ] = afs[ i ] * l1 + bfs[ i ] * lambda; affine.set( afs[ 0 ], afs[ 3 ], afs[ 6 ], afs[ 9 ], afs[ 1 ], afs[ 4 ], afs[ 7 ], afs[ 10 ], afs[ 2 ], afs[ 5 ], afs[ 8 ], afs[ 11 ] ); }
IOFunctions.println( "Warning: Loading a '" + savedModel + "' as AffineModel3D!" ); model.set( m[ 0 ], m[ 1 ], m[ 2 ], m[ 3 ], m[ 4 ], m[ 5 ], m[ 6 ], m[ 7 ], m[ 8 ], m[ 9 ], m[ 10 ], m[ 11 ] );
/** * Fragile typeless reduction of ictls of which is assumed that they contain only affine transformations * * @param ictl * @param affine */ final private static void reduceAffineTransformList( final InvertibleCoordinateTransformList< ? > ictl, final AffineModel3D affine ) { final AffineModel3D a = new AffineModel3D(); for ( final InvertibleCoordinateTransform t : ictl.getList( null ) ) { if ( AffineModel3D.class.isInstance( t ) ) a.preConcatenate( ( AffineModel3D )t ); else if ( TranslationModel3D.class.isInstance( t ) ) a.preConcatenate( ( TranslationModel3D )t ); } affine.set( a ); }
/** * Fragile typeless reduction of ictls of which is assumed that they contain only affine transformations * * @param ictl * @param affine */ final private static void reduceAffineTransformList( final InvertibleCoordinateTransformList< ? > ictl, final AffineModel3D affine ) { final AffineModel3D a = new AffineModel3D(); for ( final InvertibleCoordinateTransform t : ictl.getList( null ) ) { if ( AffineModel3D.class.isInstance( t ) ) a.preConcatenate( ( AffineModel3D )t ); else if ( TranslationModel3D.class.isInstance( t ) ) a.preConcatenate( ( TranslationModel3D )t ); } affine.set( a ); }
@Override public void mouseDragged( final MouseEvent e ) { final double v = 10 * step * keyModfiedSpeed( e.getModifiersEx() ); dX = oX - e.getX(); dY = oY - e.getY(); rotation.set( mouseRotation ); rotate( 0, dY * v ); rotate( 1, dX * v ); updateScrollBar(); update(); }
@Override public void mouseDragged( final MouseEvent e ) { final double v = 10 * step * keyModfiedSpeed( e.getModifiersEx() ); dX = oX - e.getX(); dY = oY - e.getY(); rotation.set( mouseRotation ); rotate( 0, dY * v ); rotate( 1, dX * v ); updateScrollBar(); update(); }
public static AffineModel3D axisRotation( final Interval in, final int axis, final int degrees ) { // translate so that the center of the image is 0,0,0 final AffineModel3D translate1 = new AffineModel3D(); translate1.set( 1, 0, 0, -( in.max( 0 ) - in.min( 0 ) )/2, 0, 1, 0, -( in.max( 1 ) - in.min( 1 ) )/2, 0, 0, 1, -( in.max( 2 ) - in.min( 2 ) )/2 ); // rotate around an axis final AffineModel3D rot = new AffineModel3D(); rot.rotate( axis, (float)Math.toRadians( degrees ) ); // translate back to the center final AffineModel3D translate2 = new AffineModel3D(); translate2.set( 1, 0, 0, ( in.max( 0 ) - in.min( 0 ) )/2, 0, 1, 0, ( in.max( 1 ) - in.min( 1 ) )/2, 0, 0, 1, ( in.max( 2 ) - in.min( 2 ) )/2 ); translate1.preConcatenate( rot ); translate1.preConcatenate( translate2 ); return translate1; }
aff.set(m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9], m[10], m[11]);