View Javadoc

1   /*
2    * Trip Tracker, a real-time position tracking system for the Internet.
3    * Copyright (C) 2006  Team Trip Tracker
4    *
5    * This program is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU General Public License as published by the
7    * Free Software Foundation; either version 2 of the License, or (at your
8    * option) any later version.
9    *
10   * This program is distributed in the hope that it will be useful, but
11   * WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13   * General Public License for more details.
14   *
15   * You should have received a copy of the GNU General Public License along
16   * with this program; if not, write to the Free Software Foundation, Inc.,
17   * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
18   */
19  
20  package triptracker.testing;
21  
22  import java.awt.Color;
23  import java.awt.Graphics;
24  import java.awt.Point;
25  
26  import javax.swing.JApplet;
27  
28  /***
29   * Test class for plotting coordinates.
30   */
31  public class CoordinateTest extends JApplet {
32  	int OVAL_SIZE = 2;	
33  	int xMaxCoord,yMaxCoord,xMinCoord, yMinCoord;
34  	Point point = new Point();
35  	Point prevPoint = new Point();
36  	
37  	public CoordinateTest() {
38  		System.out.println("A test for plotting coordinates");
39  		
40  	//	Coordinate coord1 = new Coordinate(5858.3766,536.6659);
41  	//	Coordinate coord2 = new Coordinate(5858.3766,536.6659);
42  		
43  		
44  		//double t1 =  coord1.sexToDec(5858.3767);
45  		//double t2 = coord1.decToSex(t1);
46  		
47  		//System.out.println("dec: "+ coord1.sexToDec(5858.3767));
48  		//System.out.println("sex: " + t2);
49  		
50  //		System.out.println("--\ndist (haversine): "
51  //				+ Coordinate.haversineDist(coord1, coord2)*100000);
52  //		System.out.println("--\ndist (cosine): "
53  //				+ Coordinate.cosineDist(coord1, coord2));
54  
55  //		System.out.println("distance :" + coord1.cosineLawDist(coord1, coord2));
56  	}
57  	
58  	/***
59  	 * TEMP, just for testing, draws some random 
60  	 * points and draws a line between them.
61  	 */
62  	@Override
63  	public void paint(Graphics g) {
64  
65  		// Generates 10 random points
66  		for (int i = 0; i < 20; i++) {
67  
68  			if (i > 0) {
69  				prevPoint.setLocation(point.getLocation());
70  			}
71  
72  			// Generates a random x and y
73  			point.setLocation(((int) (i * (Math.random()) * 20)),
74  					((10 * ((i / 10) + Math.random() * 10))));
75  
76  			// Do this if you have a previous point to work with 
77  			if (i > 0) {
78  
79  				// TODO just for testing purposes
80  				//System.out.println(point.toString());
81  				//System.out.println(prevPoint.toString());
82  
83  				g.setColor(Color.RED);
84  
85  				// Draws a line from the previous point to the active point
86  				if (point.equals(prevPoint)) {
87  					System.out.println("prevPoint and current point is"
88  							+ "identical, no need for drawing that one");
89  				} else {
90  					g.drawLine(point.x, point.y, prevPoint.x, prevPoint.y);
91  				}
92  			}
93  
94  			// Determening min/max values for x & y,
95  			// used for scaling.
96  			if (xMaxCoord < point.getX()) {
97  				xMaxCoord = (int) point.getX();
98  			}
99  			if (xMinCoord > point.getX()) {
100 				xMinCoord = (int) point.getX();
101 			}
102 			if (yMaxCoord < point.getY()) {
103 				yMaxCoord = (int) point.getY();
104 			}
105 			if (yMinCoord > point.getY()) {
106 				yMinCoord = (int) point.getY();
107 			}
108 
109 			g.setColor(Color.BLUE);
110 			// Draws the coordinate as a oval with a given size
111 			// if the point isnt already drawn
112 			if (point.equals(prevPoint)) {
113 				System.out.println("prevPoint and current point is identical");
114 			} else {
115 				g.fillOval(point.x, point.y, OVAL_SIZE, OVAL_SIZE);
116 			}
117 		}
118 	}
119 }