From: Stefan F. <ste...@us...> - 2010-04-20 19:45:49
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv8480/rails/ui/swing Modified Files: ORPanel.java Log Message: First implementation to visualize revenue runs on the map Index: ORPanel.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORPanel.java,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** ORPanel.java 19 Apr 2010 19:35:38 -0000 1.57 --- ORPanel.java 20 Apr 2010 19:45:40 -0000 1.58 *************** *** 4,7 **** --- 4,8 ---- import java.awt.*; import java.awt.event.*; + import java.awt.geom.GeneralPath; import java.util.List; *************** *** 17,20 **** --- 18,22 ---- import rails.game.action.*; import rails.ui.swing.elements.*; + import rails.ui.swing.hexmap.HexMap; import rails.util.LocalText; import rails.util.Util; *************** *** 603,609 **** Graph<NetworkVertex, NetworkEdge> graph = nwGraph.getRailRoadGraph(company); ! NetworkGraphBuilder.visualize(graph, "Network of " + companyName); graph = NetworkGraphBuilder.optimizeGraph(graph); ! NetworkGraphBuilder.visualize(graph, "Optimized Network of " + companyName); // revenue calculation example on mapGraph --- 605,611 ---- Graph<NetworkVertex, NetworkEdge> graph = nwGraph.getRailRoadGraph(company); ! // NetworkGraphBuilder.visualize(graph, "Network of " + companyName); graph = NetworkGraphBuilder.optimizeGraph(graph); ! // NetworkGraphBuilder.visualize(graph, "Optimized Network of " + companyName); // revenue calculation example on mapGraph *************** *** 626,646 **** boolean anotherTrain = true; while (anotherTrain) { // create results // ra.populateRevenueCalculator(company, gm.getPhaseManager().getPhaseByName("8"), false); ! ra.populateRevenueCalculator(company, gm.getCurrentPhase(), false); ! log.info("Revenue Adapter:" + ra); ! int revenueValue = ra.calculateRevenue(); ! log.info("Revenue Value:" + revenueValue); ! log.info("Revenue run:" + ra.getOptimalRunPrettyPrint()); ! JOptionPane.showMessageDialog(orWindow, "Without Prediction: RevenueValue = " + revenueValue + ! "\n RevenueRun = " + ra.getOptimalRunPrettyPrint()); ! ra.refreshRevenueCalculator(); ! // ra.populateRevenueCalculator(company, gm.getPhaseManager().getPhaseByName("8"), true); ! ra.populateRevenueCalculator(company, gm.getCurrentPhase(), true); log.info("Revenue Adapter:" + ra); revenueValue = ra.calculateRevenue(); log.info("Revenue Value:" + revenueValue); log.info("Revenue run:" + ra.getOptimalRunPrettyPrint()); JOptionPane.showMessageDialog(orWindow, "With Prediction: RevenueValue = " + revenueValue + "\n RevenueRun = " + ra.getOptimalRunPrettyPrint()); --- 628,652 ---- boolean anotherTrain = true; while (anotherTrain) { + int revenueValue; // create results // ra.populateRevenueCalculator(company, gm.getPhaseManager().getPhaseByName("8"), false); ! // ra.populateRevenueCalculator(company, gm.getCurrentPhase(), false); ! // log.info("Revenue Adapter:" + ra); ! // revenueValue = ra.calculateRevenue(); ! // log.info("Revenue Value:" + revenueValue); ! // log.info("Revenue run:" + ra.getOptimalRunPrettyPrint()); ! // JOptionPane.showMessageDialog(orWindow, "Without Prediction: RevenueValue = " + revenueValue + ! // "\n RevenueRun = " + ra.getOptimalRunPrettyPrint()); ! // ! // ra.refreshRevenueCalculator(); ! ra.populateRevenueCalculator(company, gm.getPhaseManager().getPhaseByName("8"), true); ! // ra.populateRevenueCalculator(company, gm.getCurrentPhase(), true); log.info("Revenue Adapter:" + ra); revenueValue = ra.calculateRevenue(); log.info("Revenue Value:" + revenueValue); log.info("Revenue run:" + ra.getOptimalRunPrettyPrint()); + ra.drawOptimalRunAsPath(orUIManager.getMap()); + orUIManager.getMap().repaint(); JOptionPane.showMessageDialog(orWindow, "With Prediction: RevenueValue = " + revenueValue + "\n RevenueRun = " + ra.getOptimalRunPrettyPrint()); *************** *** 840,843 **** --- 846,851 ---- revenueSelect[orCompIndex].setValue(bestRevenue); if (finalResult) { + revenueAdapter.drawOptimalRunAsPath(orUIManager.getMap()); + orUIManager.getMap().repaint(); JOptionPane.showMessageDialog(orWindow, "Best Run Value = " + bestRevenue + "\n" + revenueAdapter.getOptimalRunPrettyPrint()); *************** *** 846,849 **** --- 854,858 ---- public void stopRevenueUpdate() { + orUIManager.getMap().setTrainPaths(null); revenueAdapter.removeRevenueListener(); revenueAdapter = null; |