From: Stefan F. <ste...@us...> - 2010-06-24 21:48:17
|
Update of /cvsroot/rails/18xx/rails/algorithms In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv25799/rails/algorithms Modified Files: NetworkVertex.java Log Message: Refactoring of HexMap classes to remove zoom problems Added autoscrolling support Added gamespecific config settings Index: NetworkVertex.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/algorithms/NetworkVertex.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** NetworkVertex.java 17 Jun 2010 22:10:53 -0000 1.18 --- NetworkVertex.java 24 Jun 2010 21:48:08 -0000 1.19 *************** *** 1,5 **** --- 1,7 ---- package rails.algorithms; + import java.awt.Rectangle; import java.awt.geom.Point2D; + import java.awt.geom.Rectangle2D; import java.util.ArrayList; import java.util.Collection; *************** *** 439,443 **** return guiHex.getCityPoint2D(vertex.getCity()); } else if (vertex.isMinor()) { ! return guiHex.getCenterPoint2D(); } else if (vertex.isSide()) { if (map instanceof EWHexMap) --- 441,446 ---- return guiHex.getCityPoint2D(vertex.getCity()); } else if (vertex.isMinor()) { ! return guiHex.getCityPoint2D(vertex.getCity()); ! // return guiHex.getCenterPoint2D(); } else if (vertex.isSide()) { if (map instanceof EWHexMap) *************** *** 449,453 **** } } ! ! } --- 452,483 ---- } } ! ! public static Rectangle getVertexMapCoverage(HexMap map, Collection<NetworkVertex> vertices) { ! ! Rectangle rectangle = null; ! ! // find coverage are of the vertices ! double minX=0,minY=0,maxX=0,maxY=0; ! for (NetworkVertex vertex:vertices) { ! Point2D point = getVertexPoint2D(map, vertex); ! if (point != null) { ! if (minX == 0) { // init ! rectangle = new Rectangle((int)point.getX(), (int)point.getY(), 0, 0); ! minX = point.getX(); ! minY = point.getY(); ! maxX = minX; maxY = minY; ! } else { ! rectangle.add(point); ! minX = Math.min(minX, point.getX()); ! minY = Math.min(minY, point.getY()); ! maxX = Math.max(maxX, point.getX()); ! maxY = Math.max(maxY, point.getY()); ! } ! } ! } ! log.info("Vertex Map Coverage minX=" + minX + ", minY=" + minY + ", maxX=" + maxX + ", maxY=" + maxY ); ! // Rectangle rectangle = new Rectangle((int)minX, (int)minY, (int)maxX, (int)maxY); ! log.info("Created rectangle=" + rectangle); ! return (rectangle); ! } } |