![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 00002 /******************************************************************************* 00003 ** Copyright (c) 2009 MAK Technologies, Inc. 00004 ** All rights reserved. 00005 *******************************************************************************/ 00006 /******************************************************************************* 00007 * Copyright 2009 Autodesk, Inc. All rights reserved. 00008 * Use of this software is subject to the terms of the Autodesk license 00009 * agreement provided at the time of installation or download, or which otherwise 00010 * accompanies this software in either electronic or hard copy form. 00011 *******************************************************************************/ 00012 00013 /******************************************************************************* 00014 ** $RCSfile: vrfMovementTask.h,v $ $Revision: 1.1 $ $State: Exp $ 00015 *******************************************************************************/ 00016 00019 00022 00023 00024 #ifndef DtVrfMovementTask_H_ 00025 #define DtVrfMovementTask_H_ 00026 00027 #include "vrftasks/moveToLocTask.h" 00028 #include "vrftasks/moveToTask.h" 00029 #include "vrftasks/followEnt.h" 00030 #include "vrftasks/mvAlongTask.h" 00031 #include "vrftasks/planAndMoveToTask.h" 00032 #include "vrftasks/planAndMoveToLocTask.h" 00033 #include "vrftasks/radioMsgTypes.h" 00034 #include "vrftasks/vrftasksDefines.h" 00035 #include "vrftasks/railMoveAlongTask.h" 00036 #include "vrftasks/turnToTask.h" 00037 #include "vrftasks/patrolRteTask.h" 00038 #include "vrftasks/patrolPtTask.h" 00039 00040 class DtReaderWriterRegistry; 00041 class DtString; 00042 class DtSimTask; 00043 00049 template <class T, int TaskType> 00050 class DT_DLL_vrftasks DtVRFMovementTask : public T 00051 { 00052 00053 public: 00054 00056 DtVRFMovementTask():T(){}; 00057 00058 00060 DtVRFMovementTask(const DtString& writeName, DtReaderWriterRegistry* parentRegistry = 0) : 00061 T(writeName, parentRegistry) {}; 00062 00063 00065 DtVRFMovementTask(const DtString& writeName, const DtVRFMovementTask& orig, 00066 DtReaderWriterRegistry * parentRegistry = 0): 00067 T(writeName, orig, parentRegistry) {}; 00068 00069 00071 const DtVRFMovementTask & operator=(const DtVRFMovementTask& orig) 00072 { 00073 if (this == & orig) 00074 { 00075 return *this; 00076 } 00077 00078 T::operator=(orig); 00079 00080 return *this; 00081 }; 00082 00083 00085 virtual ~DtVRFMovementTask() {}; 00086 00087 00089 virtual int type() const { return TaskType; }; 00090 00092 virtual DtSimTask* clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const 00093 { 00094 return new DtVRFMovementTask(name, *this, parentRegistry); 00095 }; 00096 00097 00099 static DtSimTask* creator() 00100 { 00101 return new DtVRFMovementTask(); 00102 }; 00103 00104 }; 00105 00106 typedef DtVRFMovementTask<DtFollowEntityTask, DtVrfFollowEntityTaskType> DtVrfFollowEntityTask; 00107 typedef DtVRFMovementTask<DtMoveAlongTask, DtVrfMoveAlongRouteTaskType> DtVrfMoveAlongRouteTask; 00108 typedef DtVRFMovementTask<DtMoveToTask, DtVrfMoveToWaypointTaskType> DtVrfMoveToWaypointTask; 00109 typedef DtVRFMovementTask<DtRailMoveAlongTask, DtVrfRailMoveAlongTaskType> DtVrfRailMoveAlongTask; 00110 typedef DtVRFMovementTask<DtMoveToLocationTask, DtVrfMoveToLocationTaskType> DtVrfMoveToLocationTask; 00111 typedef DtVRFMovementTask<DtPlanAndMoveToTask, DtVrfPlanAndMoveToTaskType> DtVrfPlanAndMoveToTask; 00112 typedef DtVRFMovementTask<DtPlanAndMoveToLocationTask, DtVrfPlanAndMoveToLocationTaskType> DtVrfPlanAndMoveToLocationTask; 00113 typedef DtVRFMovementTask<DtTurnToHeadingTask,DtVrfTurnToHeadingTaskType> DtVrfTurnToHeadingTask; 00114 typedef DtVRFMovementTask<DtPatrolRouteTask, DtVrfPatrolRouteType> DtVrfPatrolRouteTask; 00115 typedef DtVRFMovementTask<DtPatrolTwoPointsTask, DtVrfPatrolTwoPointsType> DtVrfPatrolTwoPointsTask; 00116 00117 #endif