75 static void convoyTaskCallback(
DtSimMessage * msg,
void * usr);
83 static void destinationChangedCallback(
DtVrfObject* obj,
void* usr);
86 static void objectAboutToBeRemovedCallback(
DtVrfObject* obj,
void* usr);
99 virtual bool createPSR();
127 const DtString& subordinateObjectName);
134 const DtString& subordinateObjectName);
169 virtual bool setupSubordinates(
const DtVrfObject* aggregate,
bool clearSubs,
bool leaderSet =
false);
175 virtual void setupLeadOnDistance(
int numberOfEntities,
float distanceBetween);
197 virtual void setLeaderSpeed(
const float speed);
202 virtual void resettingPhaseTick(
bool retask =
true);
206 virtual void startingPhaseTick();
211 virtual void assemblingPhaseTick();
215 virtual void convoyingPhaseTick();
220 virtual void finishingPhaseTick();
228 virtual DtVector findIntersectionOfLineAndCircle(
const DtVector& centerPoint,
238 virtual bool getEntityToPathEntry(
const DtVrfObject* entity,
const DtVector& assemblyPoint,
251 const double& radius,
263 virtual bool isPointWithinRadius(
const DtVector& center,
double radius,
273 virtual bool findPointOnRailOutsideSphere(
const DtVector& center,
const double& radius,
277 virtual void registerDestinationChangedCallback();
280 virtual void unregisterDestinationChangedCallback();
290 virtual bool updateConvoySubordinates(
DtVrfObject* aggregate,
291 std::vector<DtString>& tempList,
292 bool recursive =
false);
295 virtual bool isEntityPartOfConvoy(
const DtString& name)
const;
297 virtual bool isEntityIndependentlyTasked(
const DtVrfObject* entity)
const;
299 virtual void setConvoyFollowing();
301 virtual void destroyedPhaseTick();
310 virtual bool startPathPlan(
const DtVrfObject* leadEntity,
315 virtual bool pathPlanFinished();
322 virtual DtVector groundClamp(
const DtVector& point, DtGeodeticCoord& lastPoint)
const;