1 package cz.cuni.amis.pogamut.emohawk.agent.module.sensomotoric;
2
3 import SteeringProperties.LeaderFollowingProperties;
4 import SteeringProperties.ObstacleAvoidanceProperties;
5 import SteeringProperties.PathFollowingProperties;
6 import SteeringProperties.PeopleAvoidanceProperties;
7 import SteeringProperties.StickToPathProperties;
8 import SteeringProperties.TargetApproachingProperties;
9 import SteeringProperties.WalkAlongProperties;
10 import SteeringProperties.WallFollowingProperties;
11 import SteeringStuff.SteeringManager;
12 import SteeringStuff.SteeringType;
13 import cz.cuni.amis.pogamut.base.agent.module.SensomotoricModule;
14 import cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Raycasting;
15 import cz.cuni.amis.pogamut.ut2004.bot.command.AdvancedLocomotion;
16 import cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004Bot;
17 import java.util.logging.Logger;
18
19
20
21
22
23
24
25 public class Steering extends SensomotoricModule<UT2004Bot> {
26
27
28 SteeringManager steeringManager;
29
30 public LeaderFollowingProperties getLeaderFollowingProperties() {
31 return steeringManager.getLeaderFollowingProperties();
32 }
33
34 public ObstacleAvoidanceProperties getObstacleAvoidanceProperties() {
35 return steeringManager.getObstacleAvoidanceProperties();
36 }
37
38 public PathFollowingProperties getPathFollowingProperties() {
39 return steeringManager.getPathFollowingProperties();
40 }
41
42 public PeopleAvoidanceProperties getPeopleAvoidanceProperties() {
43 return steeringManager.getPeopleAvoidanceProperties();
44 }
45
46 public TargetApproachingProperties getTargetApproachingProperties() {
47 return steeringManager.getTargetApproachingProperties();
48 }
49
50 public WalkAlongProperties getWalkAlongProperties() {
51 return steeringManager.getWalkAlongProperties();
52 }
53
54 public WallFollowingProperties getWallFollowingProperties() {
55 return steeringManager.getWallFollowingProperties();
56 }
57
58 public SteeringManager getSteeringManager() {
59 return steeringManager;
60 }
61
62 public void addLeaderFollowingSteering(LeaderFollowingProperties properties) {
63 steeringManager.addLeaderFollowingSteering(properties);
64 }
65
66 public void removeLeaderFollowingSteering() {
67 steeringManager.removeLeaderFollowingSteering();
68 }
69
70 public void setLeaderFollowingSteering(LeaderFollowingProperties properties) {
71 steeringManager.setLeaderFollowingSteering(properties);
72 }
73
74 public boolean isLeaderFollowingActive() {
75 return steeringManager.hasSteering(SteeringType.LEADER_FOLLOWING);
76 }
77
78 public void addObstacleAvoidanceSteering(ObstacleAvoidanceProperties properties) {
79 steeringManager.addObstacleAvoidanceSteering( properties);
80 }
81
82 public void removeObstacleAvoidanceSteering() {
83 steeringManager.removeObstacleAvoidanceSteering();
84 }
85
86 public void setObstacleAvoidanceSteering(ObstacleAvoidanceProperties properties) {
87 steeringManager.setObstacleAvoidanceSteering(properties);
88 }
89
90 public boolean isObstacleAvoidanceActive() {
91 return steeringManager.hasSteering(SteeringType.OBSTACLE_AVOIDANCE);
92 }
93
94 public void addPathFollowingSteering(PathFollowingProperties properties) {
95 steeringManager.addPathFollowingSteering(properties);
96 }
97
98 public void removePathFollowingSteering() {
99 steeringManager.removePathFollowingSteering();
100 }
101
102 public void setPathFollowingSteering(PathFollowingProperties properties) {
103 steeringManager.setPathFollowingSteering(properties);
104 }
105
106 public boolean isPathFollowingActive() {
107 return steeringManager.hasSteering(SteeringType.PATH_FOLLOWING);
108 }
109
110 public void addPeopleAvoidanceSteering(PeopleAvoidanceProperties properties) {
111 steeringManager.addPeopleAvoidanceSteering( properties);
112 }
113
114 public void removePeopleAvoidanceSteering() {
115 steeringManager.removePeopleAvoidanceSteering();
116 }
117
118 public void setPeopleAvoidanceSteering(PeopleAvoidanceProperties properties) {
119 steeringManager.setPeopleAvoidanceSteering(properties);
120 }
121
122 public boolean isPeopleAvoidanceActive() {
123 return steeringManager.hasSteering(SteeringType.PEOPLE_AVOIDANCE);
124 }
125
126 public void addTargetApproachingSteering(TargetApproachingProperties properties) {
127 steeringManager.addTargetApproachingSteering(properties);
128 }
129
130 public void removeTargetApproachingSteering() {
131 steeringManager.removeTargetApproachingSteering();
132 }
133
134 public void setTargetApproachingSteering(TargetApproachingProperties properties) {
135 steeringManager.setTargetApproachingSteering(properties);
136 }
137
138 public boolean isTargetApproachingActive() {
139 return steeringManager.hasSteering(SteeringType.TARGET_APPROACHING);
140 }
141
142 public void addWalkAlongSteering(WalkAlongProperties properties) {
143 steeringManager.addWalkAlongSteering(properties);
144 }
145
146 public void removeWalkAlongSteering() {
147 steeringManager.removeWalkAlongSteering();
148 }
149
150 public void setWalkAlongSteering(WalkAlongProperties properties) {
151 steeringManager.setWalkAlongSteering(properties);
152 }
153
154 public boolean isWalkAlongActive() {
155 return steeringManager.hasSteering(SteeringType.WALK_ALONG);
156 }
157
158 public void addWallFollowingSteering(WallFollowingProperties properties) {
159 steeringManager.addWallFollowingSteering(properties);
160 }
161
162 public void removeWallFollowingSteering() {
163 steeringManager.removeWallFollowingSteering();
164 }
165
166 public void setWallFollowingSteering(WallFollowingProperties properties) {
167 steeringManager.setWallFollowingSteering(properties);
168 }
169
170 public boolean isWallFollowingActive() {
171 return steeringManager.hasSteering(SteeringType.WALL_FOLLOWING);
172 }
173
174 public void addStickToPathSteering(StickToPathProperties stickToPathProperties) {
175 steeringManager.addStickToPathSteering(stickToPathProperties);
176 }
177
178 public void removeStickToPathSteering() {
179 steeringManager.removeStickToPathSteering();
180 }
181
182 public void setStickToPathSteering(StickToPathProperties properties) {
183 steeringManager.setStickToPathSteering(properties);
184 }
185
186 public boolean isStickToPathSteering() {
187 return steeringManager.hasSteering(SteeringType.STICK_TO_PATH);
188 }
189
190
191
192
193
194 public void startNavigation() {
195 steeringManager.start();
196 }
197
198
199
200
201 public void stopNavigation() {
202 steeringManager.stop();
203 }
204
205
206
207
208
209 public boolean isNavigating() {
210 return steeringManager.isNavigating();
211 }
212
213
214
215
216 public void clearAllSteerings() {
217 steeringManager.clearSteerings();
218 }
219
220 public Steering(UT2004Bot agent, Logger log) {
221 super(agent, log);
222 steeringManager = new SteeringManager(agent, new Raycasting(agent),new AdvancedLocomotion(agent, log));
223 }
224
225 public Steering(UT2004Bot agent) {
226 super(agent);
227 steeringManager = new SteeringManager(agent,new Raycasting(agent), new AdvancedLocomotion(agent, log));
228 }
229
230 }