![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2002 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: humanMoveAlongPSR.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef humanMoveAlongPSR_H_ 00013 #define humanMoveAlongPSR_H_ 00014 00015 #include "vrfobjcore/processSR.h" 00016 #include "vrfutil/rwReal.h" 00017 #include "vrfutil/rwInt.h" 00018 #include "vrfutil/rwBoolean.h" 00019 #include "vrfutil/rwString.h" 00020 #include "vrfutil/rwVector.h" 00021 #include "vrfutil/lclVtxList.h" 00022 #include "vrfutil/lclVecIter.h" 00023 #include "vrfobjcore/vrfobjcoreDefines.h" 00024 00029 class DT_DLL_vrfobjcore DtHumanMoveAlongPSR : public DtVrfProcessStateRepository 00030 { 00031 public: 00032 00034 DtHumanMoveAlongPSR(DtVrfObject* vrfObject, 00035 const DtString& rwName = DtString::nullString(), 00036 DtReaderWriterRegistry* parentRegistry = 0); 00037 00039 DtHumanMoveAlongPSR(const DtHumanMoveAlongPSR& orig, 00040 const DtString& rwName = DtString::nullString(), 00041 DtReaderWriterRegistry* parentRegistry = 0); 00042 00044 virtual ~DtHumanMoveAlongPSR(); 00045 00047 DtHumanMoveAlongPSR& operator=(const DtHumanMoveAlongPSR& orig); 00048 00050 virtual DtVrfProcessStateRepository* clone( 00051 const DtString& rwName = DtString::nullString(), 00052 DtReaderWriterRegistry* parentRegistry = 0) const; 00053 00056 virtual DtString type() const; 00057 00063 virtual void setWorldDestination(const DtVector& destination); 00064 virtual const DtVector& worldDestination() const; 00066 00069 virtual void setRouteName(const DtString& routeObjectName); 00070 virtual const DtString& routeName() const; 00072 00076 virtual void setRouteVertices(const DtLocalVectorIterator& routeIterator); 00077 virtual void setRouteVertices(const DtLocalVertexList& routeVertices); 00078 virtual const DtLocalVertexList& routeVertices() const; 00080 00082 virtual void emptyRouteVertices(); 00083 00086 virtual DtLocalVectorIterator* routeState() const; 00087 00090 virtual void setReversePatrol(bool flag); 00091 virtual bool reversePatrol() const; 00093 00096 virtual void setRouteIsDiscovered(bool value); 00097 virtual bool routeIsDiscovered() const; 00099 00103 virtual void setCurrentVertex(int vertex); 00104 virtual int currentVertex() const; 00106 00108 virtual void putSelf(FILE *fp, int indentLevel = 0, bool writeUnspecified = false, 00109 const DtFilename& path = DtReaderWriter::appPath()); 00110 00111 public: 00112 00114 static DtVrfProcessStateRepository* creator (const DtString& rwName, 00115 DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry); 00116 00117 protected: 00118 00121 DtRwString myRouteName; 00122 00125 DtLocalVectorIterator* myRouteState; 00127 DtLocalVertexList myVertices; 00129 DtRwInt myCurrentVertex; 00130 00135 DtRwBoolean myRouteIsDiscovered; 00137 00141 DtRwBoolean myReverseFlag; 00142 00144 DtRwVector myWorldDestination; 00145 }; 00146 00147 #endif