VR-Forces 4.0.4 Class Documentation
include/vrftasks/vrfMovementTask.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)