![]() |
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: timeKeeperPSR.h,v $ $Revision: 1.2 $ $State: Exp $ 00015 *******************************************************************************/ 00016 00017 #pragma once 00018 00019 #include <vrfobjcore/processSR.h> 00020 #include <vrfutil/rwString.h> 00021 #include <vrfutil/rwInt.h> 00022 #include <vrfutil/rwReal.h> 00023 #include <vrfutil/rwVector.h> 00024 #include <bhaveSim/bhaveSimDefines.h> 00025 00026 namespace BHAVE 00027 { 00028 00029 const char DtKynapsePSRType[] = "kynapse-psr-type"; 00030 00033 class DT_DLL_bhaveSim DtKynapsePSR : public DtVrfProcessStateRepository 00034 { 00035 public: 00036 00038 DtKynapsePSR(DtVrfObject* vrfObject, 00039 const DtString& rwName = DtString::nullString(), 00040 DtReaderWriterRegistry* parentRegistry = 0); 00041 00043 DtKynapsePSR(const DtKynapsePSR& orig, 00044 const DtString& rwName = DtString::nullString(), 00045 DtReaderWriterRegistry* parentRegistry = 0); 00046 00048 virtual ~DtKynapsePSR(); 00049 00051 DtKynapsePSR& operator=(const DtKynapsePSR& orig); 00052 00054 virtual DtVrfProcessStateRepository* clone( 00055 const DtString& rwName = DtString::nullString(), 00056 DtReaderWriterRegistry* parentRegistry = 0) const; 00057 00059 virtual DtString type() const; 00060 00063 00064 virtual DtString debugRouteName() const; 00065 virtual void setDebugRouteName(const DtString& val); 00067 00071 00072 virtual DtString movementMode() const; 00073 virtual void setMovementMode(const DtString& mode); 00074 virtual bool movementModeSpecified() const; 00076 00080 virtual int taskRouteCurrentPointIndex() const; 00081 virtual void taskSetRouteCurrentPointIndex(const int currentIndex); 00082 virtual bool taskRouteCurrentPointIndexSpecified() const; 00084 00088 virtual DtVector taskWanderCurrentDestination() const; 00089 virtual void taskWanderSetCurrentDestination(const DtVector & currentDest); 00090 virtual bool taskWanderCurrentDestinationSpecified() const; 00091 00092 virtual DtReal taskWanderRemainingTime() const; 00093 virtual void taskWanderSetRemainingTime(const DtReal & remainingTime); 00094 virtual bool taskWanderRemainingTimeSpecified() const; 00096 00097 virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath, const DtVariableBindingsList& variableBindings); 00098 00099 public: 00100 00102 static DtVrfProcessStateRepository* creator (const DtString& rwName, 00103 DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry); 00104 00105 protected: 00106 DtRwString myDebugRouteName; 00107 DtRwString myMovementModeStr; 00108 00109 00110 /* Kynapse agent checkpointing: the task and its parameters is already saved ; but 00111 for some agent, we need to record additional information */ 00113 00114 00116 DtRwVector myTaskWanderCurrentDestination; 00117 DtRwReal myTaskWanderRemainingTime; 00119 DtRwInt myTaskPathWayCurrentPointIndex; 00121 }; 00122 00123 } //namespace BHAVE