Revision 42327 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/util/ArrayListCoordinateSequence.java

View differences:

ArrayListCoordinateSequence.java
26 26
import java.util.Collection;
27 27

  
28 28
import com.vividsolutions.jts.geom.Coordinate;
29
import com.vividsolutions.jts.geom.CoordinateSequence;
29 30
import com.vividsolutions.jts.geom.Envelope;
30 31

  
31 32
import org.gvsig.fmap.geom.jts.MCoordinate;
......
98 99
     */
99 100
    public void getCoordinate(int index, com.vividsolutions.jts.geom.Coordinate coord) {
100 101
        com.vividsolutions.jts.geom.Coordinate c = ((com.vividsolutions.jts.geom.Coordinate) get(index));
101
        coord = new com.vividsolutions.jts.geom.Coordinate(c.x, c.y);
102
        coord.x = c.x;
103
        coord.y = c.y;
104
        coord.z = c.z;
105
        if(coord instanceof MCoordinate)  {
106
            if (c instanceof MCoordinate){
107
                ((MCoordinate)coord).m = ((MCoordinate)c).m;
108
            } else {
109
                ((MCoordinate)coord).m = Double.NaN;
110
            }
111
        }
102 112
    }
103 113

  
104 114
    /* (non-Javadoc)
......
119 129
     * @see com.vividsolutions.jts.geom.CoordinateSequence#getOrdinate(int, int)
120 130
     */
121 131
    public double getOrdinate(int index, int ordinateIndex) {
122
        return ((com.vividsolutions.jts.geom.Coordinate) get(index)).getOrdinate(ordinateIndex);
132
       com.vividsolutions.jts.geom.Coordinate c = ((com.vividsolutions.jts.geom.Coordinate) get(index));
133
       switch (ordinateIndex) {
134
          case CoordinateSequence.X:  return c.x;
135
          case CoordinateSequence.Y:  return c.y;
136
          case CoordinateSequence.Z:  return c.z;
137
          case CoordinateSequence.M:
138
              if(c instanceof MCoordinate)  {
139
                  return ((MCoordinate)c).m;
140
              }
141
        }
142
        return Double.NaN;
123 143
    }
124 144

  
125 145
    /* (non-Javadoc)

Also available in: Unified diff