![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: surfaceMovementPSR.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DtSurfaceMovementPSR_H_ 00013 #define DtSurfaceMovementPSR_H_ 00014 00015 #include "vrfobjcore/processSR.h" 00016 #include "vrfutil/rwString.h" 00017 #include "vrfutil/rwBoolean.h" 00018 #include "vrfutil/rwVector.h" 00019 #include "vrfutil/lclVtxList.h" 00020 #include "vrfutil/rwInt.h" 00021 #include "vrfutil/rwReal.h" 00022 00027 00028 class DtLocalVectorIterator; 00029 00030 #include "vrfobjcore/vrfobjcoreDefines.h" 00031 class DT_DLL_vrfobjcore DtSurfaceMovementPSR : public DtVrfProcessStateRepository 00032 { 00033 public: 00034 00036 DtSurfaceMovementPSR(DtVrfObject* vrfObject, 00037 const DtString& rwName = DtString::nullString(), 00038 DtReaderWriterRegistry* parentRegistry = 0); 00039 00041 DtSurfaceMovementPSR(const DtSurfaceMovementPSR& orig, 00042 const DtString& rwName = DtString::nullString(), 00043 DtReaderWriterRegistry* parentRegistry = 0); 00044 00046 virtual ~DtSurfaceMovementPSR(); 00047 00049 DtSurfaceMovementPSR& operator=(const DtSurfaceMovementPSR& orig); 00050 00052 virtual DtVrfProcessStateRepository* clone( 00053 const DtString& rwName = DtString::nullString(), 00054 DtReaderWriterRegistry* parentRegistry = 0) const; 00055 00058 virtual DtString type() const; 00059 00061 virtual void setControlObjectName(const DtString& objectName); 00062 virtual const DtString& controlObjectName() const; 00063 00065 virtual void setRouteName(const DtString& objectName); 00066 virtual const DtString& routeName() const; 00067 00070 virtual void setRouteVertices(const DtLocalVectorIterator& routeIterator); 00071 virtual const DtLocalVertexList& routeVertices() const; 00072 00074 virtual void emptyRouteVertices(); 00075 00078 virtual DtLocalVectorIterator* routeState() const; 00079 00082 virtual void setReverseFlag(bool flag); 00083 virtual bool reverseFlag() const; 00084 00086 virtual void setFirstWaypoint(const DtString& objectName); 00087 virtual const DtString& firstWaypoint() const; 00088 00090 virtual void setSecondWaypoint(const DtString& objectName); 00091 virtual const DtString& secondWaypoint() const; 00092 00094 virtual void setEntityToFollow(const DtString& objectName); 00095 virtual const DtString& entityToFollow() const; 00096 00099 virtual void setFollowOffsetVector(const DtVector& offset); 00100 virtual const DtVector& followOffsetVector() const; 00101 00103 virtual void putSelf(FILE *fp, int indentLevel = 0, 00104 bool writeUnspecified = false, const DtFilename& path = DtReaderWriter::appPath()); 00105 00109 virtual void setWorldAimingPoint(const DtVector& pnt); 00110 virtual const DtVector& worldAimingPoint() const; 00111 00113 virtual DtReal maxYawRate() const; 00114 virtual void setMaxYawRate (DtReal maxYawRate); 00115 00117 virtual DtReal maxYawAcceleration() const; 00118 virtual void setMaxYawAcceleration(DtReal maxYawAcceleration); 00119 00121 virtual double stoppingSpeed() const; 00122 virtual void setStoppingSpeed(DtReal stoppingSpeed); 00123 00124 00125 public: 00126 00128 static DtVrfProcessStateRepository* creator (const DtString& rwName, 00129 DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry); 00130 00131 protected: 00132 00137 DtRwString myControlObjectName; 00138 00143 DtRwString myRouteName; 00146 DtLocalVectorIterator* myRouteState; 00148 DtLocalVertexList myVertices; 00150 DtRwInt myCurrentVertex; 00151 00156 DtRwBoolean myReverseFlag; 00157 00161 DtRwString myFirstWaypoint; 00162 DtRwString mySecondWaypoint; 00163 00168 DtRwString myEntityToFollow; 00171 DtRwVector myFollowOffsetVector; 00172 00174 DtRwVector myWorldAimingPoint; 00175 00177 DtRwReal myStoppingSpeed; 00178 00180 DtRwReal myMaxYawRate; 00181 00183 DtRwReal myMaxYawAcceleration; 00184 }; 00185 00186 #endif