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
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