22 #include "terrainCS/coordSystem.h"
24 #include <boost/shared_ptr.hpp>
72 virtual void resetTask();
81 static void convoyTaskCallback(
DtSimMessage * msg,
void * usr);
89 static void destinationChangedCallback(
DtVrfObject* obj,
void* usr);
92 static void objectAboutToBeRemovedCallback(
DtVrfObject* obj,
void* usr);
108 virtual bool createPSR();
139 const DtString& subordinateObjectName);
146 const DtString& subordinateObjectName);
164 bool haveRails,
const Coordinate_System* coordSys);
173 const DtVector& assemblyPoint,
const Coordinate_System* coordSys)
const;
181 virtual bool setupSubordinates(
const DtVrfObject* aggregate,
bool clearSubs,
bool& leaderSet);
187 virtual void setupLeadOnDistance(
int numberOfEntities,
float distanceBetween);
204 const float distance,
const float tolerance,
const Coordinate_System* coordSys);
209 virtual void setLeaderSpeed(
const float speed);
214 virtual void resettingPhaseTick(
bool retask =
true);
218 virtual void startingPhaseTick();
223 virtual void assemblingPhaseTick();
227 virtual void convoyingPhaseTick();
232 virtual void finishingPhaseTick();
240 virtual DtVector findIntersectionOfLineAndCircle(
const DtVector& centerPoint,
241 const DtVector& endPoint,
double radius,
const Coordinate_System* coordSys)
const;
251 virtual bool taskEntityToMoveToAssemblyPt(
const DtVrfObject* entity,
const DtVector& assemblyPoint,
252 const Coordinate_System* coordSys);
255 virtual bool getEntityPathToEntry(
const DtVrfObject* entity,
const DtVector& assemblyPoint,
256 const Coordinate_System* coordSys);
268 const double& radius,
271 const Coordinate_System* coordSys)
const;
280 virtual bool isPointWithinRadius(
const DtVector& center,
double radius,
281 const DtVector& point,
const Coordinate_System* coordSys)
const;
290 virtual bool findPointOnRailOutsideSphere(
const DtVector& center,
const double& radius,
294 virtual void registerDestinationChangedCallback();
297 virtual void unregisterDestinationChangedCallback();
307 virtual bool updateConvoySubordinates(
DtVrfObject* aggregate,
308 std::vector<DtString>& tempList,
309 bool recursive =
false);
312 virtual bool isEntityPartOfConvoy(
const DtString& name)
const;
314 virtual bool isEntityIndependentlyTasked(
const DtVrfObject* entity)
const;
316 virtual void setConvoyFollowing();
318 virtual void destroyedPhaseTick();
320 double maxSearchRadius(
const DtPoint& start,
const DtPoint& end);
327 virtual bool startPathPlan(
const DtVrfObject* leadEntity,
332 virtual bool pathPlanFinished();
339 virtual DtVector groundClamp(
const DtVector& point, DtGeodeticCoord& lastPoint)
const;
342 virtual void processSetting(
const DtBoolSetting* setting);