24 #include <boost/shared_ptr.hpp>
66 virtual const char*
type()
const;
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 DtUUID& subordinate);
146 const DtUUID& subordinate);
181 virtual bool setupSubordinates(
const DtVrfObject* aggregate,
bool clearSubs,
bool& leaderSet);
187 virtual void setupLeadOnDistance(
int numberOfEntities,
float distanceBetween);
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,
251 virtual bool taskEntityToMoveToAssemblyPt(
const DtVrfObject* entity,
const DtVector& assemblyPoint,
255 virtual bool getEntityPathToEntry(
const DtVrfObject* entity,
const DtVector& assemblyPoint,
268 const double& radius,
280 virtual bool isPointWithinRadius(
const DtVector& center,
double radius,
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<DtUUID>& tempList,
309 bool recursive =
false);
312 virtual bool isEntityPartOfConvoy(
const DtUUID& entity)
const;
314 virtual bool isEntityIndependentlyTasked(
const DtVrfObject* entity)
const;
316 virtual void setConvoyFollowing();
318 virtual void destroyedPhaseTick();
327 virtual bool startPathPlan(
const DtVrfObject* leadEntity,
332 virtual bool pathPlanFinished();
339 virtual DtVector groundClamp(
const DtVector& point, DtGeodeticCoord& lastPoint)
const;