Code Search for Developers
 
 
  

AwtMetricsFC2.java from gzz at Krugle


Show AwtMetricsFC2.java syntax highlighted

/*   
AwtMetricsFC2.java
 *    
 *    Copyright (c) 2000, Ted Nelson and Tuomas Lukka
 *
 *    This file is part of Gzz.
 *    
 *    Gzz is free software; you can redistribute it and/or modify it under
 *    the terms of the GNU Lesser General Public License as published by
 *    the Free Software Foundation; either version 2 of the License, or
 *    (at your option) any later version.
 *    
 *    Gzz is distributed in the hope that it will be useful, but WITHOUT
 *    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 *    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
 *    Public License for more details.
 *    
 *    You should have received a copy of the GNU Lesser General
 *    Public License along with Gzz; if not, write to the Free
 *    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *    
 *
 */
/*
 * Written by Kimmo Wideroos
 */
 
package org.gzigzag.module;
import org.gzigzag.*;
import java.util.*;
import java.awt.*;

/** Focus+context metrics2
 */


public class AwtMetricsFC2 extends AwtMetrics {
    public String getZObName() { 
        return "Focus+Context (2)";
    }

    public double[] transformAtFocusNbhood(double x, double y, double focusCoeff) {
        double dx, dy, x2, y2;

        x2 = x*focusCoeff; 
        y2 = y*focusCoeff;

        if(x2<1 && x2>-1) {
            dx = x2; 
        } else {
            dx = (x2>0) ? Math.sqrt(x2) : -Math.sqrt(-x2);
        }

        if(y2<1 && y2>-1) { 
            dy = y2;
        } else {
            dy = (y2>0) ? Math.sqrt(y2) : -Math.sqrt(-y2);
        }

        return new double[] { dx/focusCoeff, dy/focusCoeff };
    }

    public double[] inverseTransformAtFocusNbhood(double x, double y, double focusCoeff) {
        double dx, dy, x2, y2;

        x2 = x*focusCoeff;
        y2 = y*focusCoeff;

        if(x2<1 && x2>-1) {
            dx = x2; 
        } else {
            dx = x2*x2; 
            dx = x2>0 ? dx : -dx;
        }

        if(y2<1 && y2>-1) { 
            dy = y2;
        } else {
            dy = y2*y2; 
            dy = y2>0 ? dy : -dy;
        }

        return new double[] { dx/focusCoeff, dy/focusCoeff };
    } 

    public double transformScalingValue(double s) { return s; }

    public double focusCoefficientMinimum() { return 4.0; }
    public double focusCoefficientMaximum() { return 8.0; }

    public AwtMetricsFC2() { super(); }

    public AwtMetricsFC2(ZZCell start, Dimension rv, Dimension vv, 
                            double ox, double oy) { 
        super(start, rv, vv, ox, oy);
    }
}
 




See more files for this project here

gzz

An implementation of Ted Nelson's ZZstructure. ZZstructure is a new type of programming platform for structured data.

Project homepage: http://savannah.nongnu.org/projects/gzz
Programming language(s): C++,Java,Python
License: lgpl21

  AwtCursor.java
  AwtLink.java
  AwtLink.zob
  AwtMetrics.java
  AwtMetrics.zob
  AwtMetricsFC.java
  AwtMetricsFC2.java
  AwtMetricsNormal.java
  AwtNileView.java
  AwtNote.java
  AwtNote.zob
  AwtUtil.java
  AwtView1.java
  Awtool.java
  Awtool.zob
  BooleanMesh.java
  README
  TODO
  ZObCellRepr.java