1 package cz.cuni.amis.pogamut.emohawk.agent.module.sensomotoric;
2
3 import cz.cuni.amis.pogamut.base3d.worldview.object.Location;
4
5
6
7
8
9
10 public enum Place {
11 BARBARA_HOME(new Location(12809,-12262,-3424), 200),
12 NATALY_HOME(new Location(14600,3315,-3424), 200),
13 NATALY_WAIT_PLACE(new Location(13500,-950,-3424), 200),
14 SCEN_LONE_MEETING_POINT(new Location(15500,-9493,-3420), 200),
15 EMOHAWK_ROAM_LOCATION(new Location(5500,-7200,-3424), 200),
16 THOMAS_HOME(new Location(14600,3315,-3424), 200),
17 RESTAURANT(new Location(-4658,704,-3419), 200),
18 CINEMA(new Location(-327,-7364,-3420), 200),
19 PARK(new Location(2864,-2923,-3416), 200),
20 SPHERE(new Location(5518,-1923,-3416), 200);
21
22
23 Location placeLocation;
24
25 double placeRadius;
26
27 public Location getPlaceLocation() {
28 return placeLocation;
29 }
30
31 public double getPlaceRadius() {
32 return placeRadius;
33 }
34
35 public boolean placeReached(Location location) {
36 if (location == null) return false;
37
38 if (location.getDistance(placeLocation) <= placeRadius)
39 return true;
40
41 return false;
42 }
43
44 public boolean placeReached(Location location, double epsilon) {
45 if (location == null) return false;
46
47 if (location.getDistance(placeLocation) <= (placeRadius + epsilon))
48 return true;
49
50 return false;
51 }
52
53
54 Place(Location location, double radius) {
55 placeLocation = location;
56 placeRadius = radius;
57 }
58 }