001: //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/trunk/src/org/deegree/processing/raster/interpolation/DataTuple.java $
002: /*---------------- FILE HEADER ------------------------------------------
003:
004: This file is part of deegree.
005: Copyright (C) 2001-2008 by:
006: EXSE, Department of Geography, University of Bonn
007: http://www.giub.uni-bonn.de/deegree/
008: lat/lon GmbH
009: http://www.lat-lon.de
010:
011: This library is free software; you can redistribute it and/or
012: modify it under the terms of the GNU Lesser General Public
013: License as published by the Free Software Foundation; either
014: version 2.1 of the License, or (at your option) any later version.
015:
016: This library is distributed in the hope that it will be useful,
017: but WITHOUT ANY WARRANTY; without even the implied warranty of
018: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
019: Lesser General Public License for more details.
020:
021: You should have received a copy of the GNU Lesser General Public
022: License along with this library; if not, write to the Free Software
023: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
024:
025: Contact:
026:
027: Andreas Poth
028: lat/lon GmbH
029: Aennchenstr. 19
030: 53177 Bonn
031: Germany
032: E-Mail: poth@lat-lon.de
033:
034: Prof. Dr. Klaus Greve
035: Department of Geography
036: University of Bonn
037: Meckenheimer Allee 166
038: 53115 Bonn
039: Germany
040: E-Mail: greve@giub.uni-bonn.de
041:
042: ---------------------------------------------------------------------------*/
043: package org.deegree.processing.raster.interpolation;
044:
045: /**
046: *
047: *
048: *
049: * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
050: * @author last edited by: $Author: rbezema $
051: *
052: * @version 1.0. $Revision: 10609 $, $Date: 2008-03-18 01:46:37 -0700 (Tue, 18 Mar 2008) $
053: *
054: */
055: public class DataTuple implements Comparable<DataTuple> {
056:
057: /**
058: * X-Coordinate of the data tuple
059: */
060: public double x = 0;
061:
062: /**
063: * Y-Coordinate of the data tuple
064: */
065: public double y = 0;
066:
067: /**
068: * Value at location x,y
069: */
070: public double value = 0;
071:
072: /**
073: * This may not be the best choice for epsilon.
074: */
075: // public static final double EPSILON = 0.00000000001;
076: /**
077: * Convenience constructor.
078: *
079: * @param x
080: * @param y
081: * @param value
082: */
083: public DataTuple(double x, double y, double value) {
084: this .x = x;
085: this .y = y;
086: this .value = value;
087: }
088:
089: /**
090: * Empty constructor. Data is pre-set to zero.
091: */
092: public DataTuple() {
093: //
094: }
095:
096: /* (non-Javadoc)
097: * @see java.lang.Comparable#compareTo(T)
098: */
099: public int compareTo(DataTuple o) {
100:
101: // boolean xequal = ( ( ( x - EPSILON ) < o.x ) && ( ( x + EPSILON ) > o.x ) );
102: // boolean yequal = ( ( ( y - EPSILON ) < o.y ) && ( ( y + EPSILON ) > o.y ) );
103:
104: boolean xequal = (x == o.x);
105: boolean yequal = (y == o.y);
106:
107: if (xequal && yequal) {
108: return 0;
109: }
110:
111: if (x < o.x) {
112: return -1;
113: }
114:
115: if (xequal && (y < o.y)) {
116: return -1;
117: }
118:
119: return 1;
120: }
121:
122: }
|