Changeset 6162 in josm
- Timestamp:
- 2013-08-20T18:29:49+02:00 (11 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
r6069 r6162 684 684 Point p4 = mv.getPoint(newN2en); 685 685 686 EastNorthnormalUnitVector = getNormalUniVector();686 Point2D normalUnitVector = getNormalUniVector(); 687 687 688 688 if (mode == Mode.extrude || mode == Mode.create_new) { … … 753 753 } 754 754 755 private EastNorthgetNormalUniVector() {756 double fac = 1.0 / activeMoveDirection.en. distance(0,0);755 private Point2D getNormalUniVector() { 756 double fac = 1.0 / activeMoveDirection.en.length(); 757 757 // mult by factor to get unit vector. 758 EastNorth normalUnitVector = new EastNorth(activeMoveDirection.en.getX() * fac, activeMoveDirection.en.getY() * fac);758 Point2D normalUnitVector = new Point2D.Double(activeMoveDirection.en.getX() * fac, activeMoveDirection.en.getY() * fac); 759 759 760 760 // Check to see if our new N1 is in a positive direction with respect to the normalUnitVector. … … 762 762 if (newN1en != null && ((newN1en.getX() > initialN1en.getX()) != (normalUnitVector.getX() > -0.0))) { 763 763 // If not, use a sign-flipped version of the normalUnitVector. 764 normalUnitVector = new EastNorth(-normalUnitVector.getX(), -normalUnitVector.getY());764 normalUnitVector = new Point2D.Double(-normalUnitVector.getX(), -normalUnitVector.getY()); 765 765 } 766 766 … … 771 771 } 772 772 773 private void drawAngleSymbol(Graphics2D g2, Point2D center, EastNorthnormal, boolean mirror) {773 private void drawAngleSymbol(Graphics2D g2, Point2D center, Point2D normal, boolean mirror) { 774 774 // EastNorth units per pixel 775 775 double factor = 1.0/g2.getTransform().getScaleX(); -
trunk/src/org/openstreetmap/josm/command/Command.java
r6084 r6162 16 16 17 17 import org.openstreetmap.josm.Main; 18 import org.openstreetmap.josm.data.coor.LatLon;19 18 import org.openstreetmap.josm.data.osm.Node; 20 19 import org.openstreetmap.josm.data.osm.OsmPrimitive; … … 222 221 private static boolean isOutlying(OsmPrimitive osm, Area area) { 223 222 if (osm instanceof Node && !osm.isNewOrUndeleted()) { 224 LatLon coor = ((Node) osm).getCoor(); 225 return coor != null && !area.contains(coor); 223 return !((Node) osm).getCoor().isIn(area); 226 224 } else if (osm instanceof Way) { 227 225 for (Node n : ((Way) osm).getNodes()) { -
trunk/src/org/openstreetmap/josm/command/SequenceCommand.java
r6142 r6162 7 7 import java.util.Collection; 8 8 import java.util.HashSet; 9 import java.util.List;10 9 11 10 import javax.swing.Icon; -
trunk/src/org/openstreetmap/josm/data/Bounds.java
r6069 r6162 206 206 LatLon result = new LatLon(minLat, minLon-360.0).getCenter(getMax()); 207 207 if (result.lon() < -180.0) { 208 result .setLocation(result.lon()+360.0, result.lat());208 result = new LatLon(result.lat(), result.lon() + 360.0); 209 209 } 210 210 return result; -
trunk/src/org/openstreetmap/josm/data/coor/CachedLatLon.java
r6069 r6162 33 33 } 34 34 35 public final void setCoor(LatLon coor) {36 setLocation(coor.lon(), coor.lat());37 proj = null;38 }39 40 public final void setEastNorth(EastNorth eastNorth) {41 proj = Main.getProjection();42 this.eastNorth = eastNorth;43 LatLon l = proj.eastNorth2latlon(eastNorth);44 setLocation(l.lon(), l.lat());45 }46 47 35 /** 48 36 * Replies the projected east/north coordinates. -
trunk/src/org/openstreetmap/josm/data/coor/Coordinate.java
r6084 r6162 2 2 package org.openstreetmap.josm.data.coor; 3 3 4 import java.awt.geom.Point2D;5 4 import java.io.Serializable; 6 5 … … 17 16 * @author imi 18 17 */ 19 abstract class Coordinate extends Point2Dimplements Serializable {18 abstract class Coordinate implements Serializable { 20 19 21 protected double x;22 protected double y;20 protected final double x; 21 protected final double y; 23 22 24 23 /** … … 32 31 } 33 32 34 @Override35 33 public double getX() { 36 34 return x; 37 35 } 38 36 39 @Override40 37 public double getY() { 41 38 return y; 42 }43 44 @Override45 public void setLocation (double x, double y) {46 this.x = x;47 this.y = y;48 39 } 49 40 -
trunk/src/org/openstreetmap/josm/data/coor/EastNorth.java
r6069 r6162 44 44 } 45 45 46 public double distance(EastNorth en2) { 47 return Math.sqrt((this.x-en2.x)*(this.x-en2.x) + (this.y-en2.y)*(this.y-en2.y)); 46 /** 47 * Counts euclidean distance between this and other EastNorth. 48 * 49 * @param en2 other EastNorth 50 * @return distance between this and other EastNorth 51 */ 52 public double distance(final EastNorth en2) { 53 final double dx = this.x-en2.x; 54 final double dy = this.y-en2.y; 55 return Math.sqrt(dx*dx + dy*dy); 48 56 } 49 57 58 /** 59 * Counts square of euclidean distance between this and other EastNorth. 60 * 61 * @param en2 other EastNorth 62 * @return square of distance between this and other EastNorth 63 */ 64 public double distanceSq(final EastNorth en2) { 65 final double dx = this.x-en2.x; 66 final double dy = this.y-en2.y; 67 return dx*dx + dy*dy; 68 } 69 70 /** 71 * Counts length (distance from [0,0]) of this. 72 * 73 * @return length of this 74 */ 75 public double length(){ 76 return Math.sqrt(x*x + y*y); 77 } 78 50 79 /** 51 80 * Returns the heading, in radians, that you have to use to get from -
trunk/src/org/openstreetmap/josm/data/coor/LatLon.java
r6069 r6162 11 11 import static org.openstreetmap.josm.tools.I18n.trc; 12 12 13 import java.awt.geom.Area; 13 14 import java.text.DecimalFormat; 14 15 import java.text.NumberFormat; … … 219 220 public boolean isWithin(Bounds b) { 220 221 return b.contains(this); 222 } 223 224 /** 225 * Check if this is contained in given area or area is null. 226 * 227 * @param a Area 228 * @return <code>true</code> if this is contained in given area or area is null. 229 */ 230 public boolean isIn(Area a) { 231 return a == null || a.contains(x, y); 221 232 } 222 233 … … 284 295 public LatLon getCenter(LatLon ll2) { 285 296 return new LatLon((this.lat() + ll2.lat())/2.0, (this.lon() + ll2.lon())/2.0); 297 } 298 299 /** 300 * Counts euclidean distance between this and other LatLon. 301 * 302 * @param ll2 other LatLon 303 * @return distance between this and other LatLon 304 */ 305 public double distance(final LatLon ll2) { 306 final double dx = this.x-ll2.x; 307 final double dy = this.y-ll2.y; 308 return Math.sqrt(dx*dx + dy*dy); 286 309 } 287 310 -
trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
r6122 r6162 1342 1342 boolean initial = true; 1343 1343 for (Node n : w.getNodes()) { 1344 Point2Dp = n.getEastNorth();1344 EastNorth p = n.getEastNorth(); 1345 1345 if (p != null) { 1346 1346 if (initial) { -
trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java
r6104 r6162 18 18 import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent; 19 19 import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener; 20 import org.openstreetmap.josm.data.coor.EastNorth; 20 21 import org.openstreetmap.josm.data.osm.DataSet; 21 22 import org.openstreetmap.josm.data.osm.Node; … … 213 214 boolean initial = true; 214 215 for (Node n : nodes) { 215 Point2Dp = n.getEastNorth();216 EastNorth p = n.getEastNorth(); 216 217 if (p != null) { 217 218 if (initial) { -
trunk/src/org/openstreetmap/josm/data/validation/tests/Coastlines.java
r6093 r6162 150 150 List<OsmPrimitive> highlight = new ArrayList<OsmPrimitive>(); 151 151 152 if (headWays == 0 && (downloadedArea == null || downloadedArea.contains(head.getCoor()))) {152 if (headWays == 0 && head.getCoor().isIn(downloadedArea)) { 153 153 highlight.add(head); 154 154 } 155 if (tailWays == 0 && (downloadedArea == null || downloadedArea.contains(tail.getCoor()))) {155 if (tailWays == 0 && tail.getCoor().isIn(downloadedArea)) { 156 156 highlight.add(tail); 157 157 } -
trunk/src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java
r6106 r6162 293 293 294 294 for (Node n : found_nodes) { 295 if (!nearby(n, dist) || 296 (ds_area != null && !ds_area.contains(n.getCoor()))) { 295 if (!nearby(n, dist) || !n.getCoor().isIn(ds_area)) { 297 296 continue; 298 297 } -
trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java
r6070 r6162 341 341 342 342 public final void setCoor(LatLon coor) { 343 if(this.coor == null) { 344 this.coor = new CachedLatLon(coor); 345 } else { 346 this.coor.setCoor(coor); 347 } 343 this.coor = new CachedLatLon(coor); 348 344 } 349 345 … … 353 349 354 350 public final void setEastNorth(EastNorth eastNorth) { 355 coor.setEastNorth(eastNorth);351 this.coor = new CachedLatLon(eastNorth); 356 352 } 357 353
Note:
See TracChangeset
for help on using the changeset viewer.