sascha@361: package de.intevation.gnv.math;
sascha@361: 
sascha@361: import java.util.Comparator;
sascha@361: 
sascha@361: import com.vividsolutions.jts.geom.Coordinate;
sascha@361: 
sascha@361: /**
sascha@361:  *  @author Sascha L. Teichmann
sascha@361:  */
sascha@361: public  class L1Comparator
sascha@361: implements    Comparator
sascha@361: {
sascha@361:     private Coordinate ref;
sascha@361: 
sascha@474:     public L1Comparator() {
sascha@474:     }
sascha@474: 
sascha@361:     public L1Comparator(Coordinate ref) {
sascha@361:         this.ref = ref;
sascha@361:     }
sascha@361: 
sascha@474:     public void setReference(Coordinate ref) {
sascha@474:         this.ref = ref;
sascha@474:     }
sascha@474: 
sascha@361:     public int compare(Object a, Object b) {
sascha@361:         Coordinate pa = (Coordinate)a;
sascha@361:         Coordinate pb = (Coordinate)b;
sascha@361:         double da = Point2d.L1(ref, pa);
sascha@361:         double db = Point2d.L1(ref, pb);
sascha@361:         if (da < db) return -1;
sascha@361:         if (da > db) return +1;
sascha@361:         return 0;
sascha@361:     }
sascha@361: }
sascha@361: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:
sascha@361: