![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2002 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: surfEntPtlBtwn.h,v $ $Revision: 1.23 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef DtSurfEntPatrolBetweenController_H_ 00016 #define DtSurfEntPatrolBetweenController_H_ 00017 00018 00019 #include "vrfmodel/surfEntMvToCtl.h" 00020 00021 #include <vlutil/vlString.h> 00022 00023 class DtSimManager; 00024 class DtSimMessage; 00025 00038 00039 #include "vrfmodel/vrfmodelDefines.h" 00040 class DT_DLL_vrfmodel DtSurfaceEntityPatrolBetweenController : 00041 public DtSurfaceEntityMoveToController 00042 { 00043 public: 00044 00047 DtSurfaceEntityPatrolBetweenController(const DtString& name, 00048 DtVrfObject* owner, 00049 DtSimManager* simManager, 00050 DtComponentDescriptor* desc = 0, 00051 DtReaderWriterRegistry* parentRegistry = 0); 00052 00054 virtual ~DtSurfaceEntityPatrolBetweenController(); 00055 00059 static DtSimComponent * creator(const DtString& name, 00060 DtVrfObject* owner, 00061 DtSimManager* simManager, 00062 DtComponentDescriptor* desc = 0, 00063 DtReaderWriterRegistry* parentRegistry = 0); 00064 00067 virtual DtString type() const; 00068 00077 static void patrolBetweenCallback(DtSimMessage * msg, void * usrData); 00078 00091 virtual void processPatrolBetweenTask(DtSimMessage * msg); 00092 00096 virtual const DtString& firstWaypoint() const; 00097 virtual void setFirstWaypoint(const DtString& waypoint); 00099 00104 virtual const DtString& secondWaypoint() const; 00105 virtual void setSecondWaypoint(const DtString& waypoint); 00107 00118 virtual bool atGoal(); 00119 00129 virtual bool passedGoal(); 00130 00137 virtual void doMoving(double desiredSpeed); 00138 00139 protected: 00143 virtual void registerTaskMsgCallbacks(); 00144 00146 DtSurfaceEntityPatrolBetweenController(); 00147 00149 DtSurfaceEntityPatrolBetweenController 00150 (const DtSurfaceEntityPatrolBetweenController & orig); 00151 00153 const DtSurfaceEntityPatrolBetweenController & operator= 00154 (const DtSurfaceEntityPatrolBetweenController & orig); 00155 }; 00156 00157 #endif