root / trunk / code / projects / colonet / client / RobotList.java @ 1890
History | View | Annotate | Download (892 Bytes)
1 | 671 | gtress | import java.util.Map; |
---|---|---|---|
2 | import java.util.HashMap; |
||
3 | import java.awt.Point; |
||
4 | |||
5 | public class RobotList extends HashMap <Integer, RobotIcon> { |
||
6 | |||
7 | /**
|
||
8 | * Creates a new RobotList
|
||
9 | */
|
||
10 | public RobotList () {
|
||
11 | super();
|
||
12 | } |
||
13 | |||
14 | /**
|
||
15 | * For a given Point, finds the robot that conatins this Point
|
||
16 | * graphically. The coordinate system is based on the dimensions
|
||
17 | * of the image returned by the webcam loader, not the coordinates
|
||
18 | 776 | gtress | * of the panel containing the image in the applet. Returns null
|
19 | 671 | gtress | * if no robot contains the Point, or if the Point is null. If
|
20 | * multiple robots overlap the point, one will be chosen arbitrarily.
|
||
21 | */
|
||
22 | public RobotIcon getBoundingIcon (Point p) { |
||
23 | if (p == null) |
||
24 | return null; |
||
25 | for (Map.Entry <Integer,RobotIcon> entry : this.entrySet()) { |
||
26 | RobotIcon r = entry.getValue(); |
||
27 | if (r.contains(p.x, p.y)) {
|
||
28 | return r;
|
||
29 | } |
||
30 | } |
||
31 | return null; |
||
32 | } |
||
33 | |||
34 | } |