![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: railMoveControllerDescriptor.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ** Created: 4/16/10 MEM 00008 *******************************************************************************/ 00009 00012 00014 00015 #pragma once 00016 00017 #include "vrfobjparam/compDesc.h" 00018 #include "vrfutil/rwBoolean.h" 00019 #include "vrfutil/rwObjType.h" 00020 #include "vrfutil/rwObjectTypeList.h" 00021 00022 class DtReaderWriterRegistry; 00023 00026 #include "vrfobjparam/vrfobjparamDefines.h" 00027 class DT_DLL_vrfobjparam DtRailMovementDescriptor : public DtComponentDescriptor 00028 { 00029 public: 00031 DtRailMovementDescriptor(const DtString& name, DtReaderWriterRegistry * 00032 parentRegistry = 0); 00033 00035 DtRailMovementDescriptor(const DtRailMovementDescriptor & orig, 00036 DtReaderWriterRegistry * parentRegistry = 0); 00037 00039 DtRailMovementDescriptor & operator=(const 00040 DtRailMovementDescriptor & orig); 00041 00043 virtual ~DtRailMovementDescriptor(); 00044 00047 virtual DtString type() const; 00048 00051 virtual void setUseTurnSmoothing(bool smooth); 00052 virtual bool useTurnSmoothing() const; 00054 00057 virtual void setUseAcceleration(bool acc); 00058 virtual bool useAcceleration() const; 00060 00063 virtual void setTurnSpeed(double speed); 00064 virtual const double turnSpeed() const; 00065 00068 virtual void setAllowToPass(bool pass); 00069 virtual bool allowToPass() const; 00071 00074 virtual bool useHighFidelityGroundClamping() const; 00075 virtual void setUseHighFidelityGroundClamping(bool yesOrNo); 00077 00081 virtual bool drawDebugTurnSplinePoints() const; 00082 virtual void setDrawDebugTurnSplinePoints(bool draw); 00084 00090 virtual const double maxFollowThreshold() const; 00091 virtual void setMaxFollowThreshold(const double threshold); 00093 00097 virtual const double convoyFollowSpeedFactor() const; 00098 virtual void setConvoyFollowSpeedFactor(const double factor); 00100 00103 virtual const double lookAheadDistance() const; 00104 virtual void setLookAheadDistance(const double distance); 00106 00109 virtual const double hitTimeLaneChange() const; 00110 virtual void setHitTimeLaneChange(const double time); 00112 00115 virtual void setPassableObjectTypes(const DtRwObjectTypeList& objectTypes); 00116 virtual DtRwObjectTypeList& passableObjectTypes(); 00117 virtual const DtRwObjectTypeList& passableObjectTypes() const; 00119 00120 virtual DtComponentDescriptor * clone(DtReaderWriterRegistry * parentRegistry 00121 = 0) const; 00122 00124 static DtComponentDescriptor * creator(); 00125 00126 protected: 00128 DtRailMovementDescriptor(); 00129 00130 protected: 00131 00135 00141 DtRwBoolean myUseTurnSmoothing; 00142 00147 DtRwBoolean myUseAcceleration; 00148 00153 DtRwReal myTurnSpeed; 00154 00159 DtRwBoolean myAllowPass; 00160 00175 DtRwBoolean myUseHighFidelityGroundClamping; 00176 00180 DtRwBoolean myDrawDebugSplineRoute; 00181 00188 DtRwReal myMaxFollowThreshold; 00189 00194 DtRwReal myConvoySpeedFactor; 00195 00199 DtRwReal myLookAheadDistance; 00200 00204 DtRwReal myHitTimeLaneChange; 00205 00209 DtRwObjectTypeList myPassableObjectTypes; 00211 }; 00212 00213 00214 00215