![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00011 00012 #ifndef mvObjParams_H_ 00013 #define mvObjParams_H_ 00014 00015 #include "vrfobjparam/vrfObjParams.h" 00016 #include "vrfutil/rwVector.h" 00017 #include "vrfutil/rwFile.h" 00018 #include "vrfutil/rwDIGuyCharacterInfo.h" 00019 00030 00031 #include "vrfobjparam/vrfobjparamDefines.h" 00032 class DT_DLL_vrfobjparam DtMovingObjectParameters : public DtVrfObjectParameters 00033 { 00034 public: 00036 DtMovingObjectParameters(const DtString& name = DtString::nullString(), 00037 DtReaderWriterRegistry* parentRegistry = NULL); 00038 DtMovingObjectParameters(const DtSymbolString& name, 00039 DtReaderWriterRegistry* parentRegistry = NULL); 00040 00042 virtual ~DtMovingObjectParameters(); 00043 00044 protected: 00046 DtMovingObjectParameters (const DtMovingObjectParameters& orig, 00047 const DtString& name = DtString::nullString(), 00048 DtReaderWriterRegistry* parentRegistry = NULL); 00049 DtMovingObjectParameters (const DtMovingObjectParameters& orig, 00050 const DtSymbolString& name, 00051 DtReaderWriterRegistry* parentRegistry = NULL); 00052 00053 public: 00055 const DtMovingObjectParameters& operator= 00056 (const DtMovingObjectParameters& orig); 00057 00058 virtual DtVrfObjectParameters* clone 00059 (const DtString& name = DtString::nullString(), 00060 DtReaderWriterRegistry* parentRegistry = NULL) const; 00061 virtual DtVrfObjectParameters* clone 00062 (const DtSymbolString& name, 00063 DtReaderWriterRegistry* parentRegistry = NULL) const; 00064 00067 virtual DtString type() const; 00068 00070 static DtVrfObjectParameters * creator(); 00071 00074 virtual bool inheritValues (const DtVrfObjectParameters* benefactor); 00075 virtual void inheritValuesFromThisType ( 00076 const DtMovingObjectParameters* benefactor); 00077 00078 private: 00080 using DtVrfObjectParameters::inheritValuesFromThisType; 00081 public: 00082 00085 virtual bool canPivot() const; 00086 virtual void setCanPivot (bool newValue); 00088 00091 virtual DtReal maxPivotSpeed() const; 00092 virtual void setMaxPivotSpeed (DtReal maxSpeed); 00094 00097 virtual const DtVector& leftSupport() const; 00098 virtual void setLeftSupport (const DtVector& newLeftSupport); 00100 00103 virtual const DtVector& rightSupport() const; 00104 virtual void setRightSupport (const DtVector& newRightSupport); 00106 00109 virtual const DtVector& otherSupport() const; 00110 virtual void setOtherSupport (const DtVector& newOtherSupport); 00112 00115 virtual DtReal maxSpeed() const; 00116 virtual void setMaxSpeed (DtReal speed); 00118 00121 virtual DtReal maxReverseSpeed() const; 00122 virtual void setMaxReverseSpeed (DtReal speed); 00124 00127 virtual DtReal turningRadius() const; 00128 virtual void setTurningRadius (DtReal turningRadius); 00130 00133 virtual DtReal maxSlope() const; 00134 virtual void setMaxSlope (DtReal slope); 00136 00139 virtual DtReal orderedSpeed() const; 00140 virtual void setOrderedSpeed (DtReal speed); 00142 00145 virtual DtReal maxAcceleration() const; 00146 virtual void setMaxAcceleration (const DtReal maxAcceleration); 00148 00151 virtual DtReal maxStoppingDeceleration() const; 00152 virtual void setMaxStoppingDeceleration (const DtReal maxStoppingDeceleration); 00154 00157 virtual DtReal fuelEfficiency() const; 00158 virtual void setFuelEfficiency (const DtReal efficiency); 00160 00163 virtual const DtString& objectGeometryFile() const; 00164 virtual void setObjectGeometryFile(const DtFilename&); 00166 00169 virtual void setDIGuyCharacterInfo(const DtRwDIGuyCharacterInfo & info); 00170 virtual const DtRwDIGuyCharacterInfo & diGuyCharacterInfo() const; 00172 00175 virtual void setMaxDisaggregationDistance(DtReal distance); 00176 virtual DtReal maxDisaggregationDistance() const; 00178 00181 virtual void setUsingRailMovement(bool rails); 00182 virtual bool usingRailMovement() const; 00184 00185 00186 protected: 00187 00191 00196 DtRwBoolean myCanPivot; 00197 00203 DtRwReal myMaxPivotSpeed; 00204 00213 DtRwVector myLeftSupport; 00214 00223 DtRwVector myRightSupport; 00224 00233 DtRwVector myOtherSupport; 00234 00239 DtRwReal myMaxSpeed; 00240 00246 DtRwReal myMaxReverseSpeed; 00247 00253 DtRwReal myTurningRadius; 00254 00266 DtRwReal myMaxSlope; 00267 00273 DtRwReal myOrderedSpeed; 00274 00279 DtRwReal myMaxAcceleration; 00280 00285 DtRwReal myMaxStoppingDeceleration; 00286 00293 DtRwReal myFuelEfficiency; 00294 00302 DtReaderWriterFile myObjectGeometryFile; 00303 00308 DtRwDIGuyCharacterInfo myDIGuyCharacterInfo; 00309 00315 DtRwReal myDisaggregationRange; 00317 00325 DtRwBoolean myUsingRailMovement; 00326 }; 00327 00328 #endif