![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2002 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: surfEntSR.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef surfEntSR_H_ 00009 #define surfEntSR_H_ 00010 00014 00017 00018 #include "vrfobjcore/vrfMvObjSR.h" 00019 00020 class DtSurfaceEntityParameters; 00021 class DtVector; 00022 00027 #include "vrfobjcore/vrfobjcoreDefines.h" 00028 class DT_DLL_vrfobjcore DtSurfaceEntityStateRepository : public DtVrfMovingObjectStateRepository 00029 { 00030 public: 00031 static DtVrfObjectStateRepository * creator( 00032 const DtString& name, 00033 DtVrfObject* vrfObject, 00034 const DtObjectType& objectType, 00035 DtVrfObjectParameters* parameters, 00036 DtReaderWriterRegistry* parentRegistry); 00037 00038 protected: 00040 DtSurfaceEntityStateRepository (); 00041 00042 public: 00044 DtSurfaceEntityStateRepository( 00045 DtVrfObject* vrfObject, 00046 const DtObjectType& objectType, 00047 DtVrfObjectParameters* parameters, 00048 const DtString& name, 00049 DtReaderWriterRegistry* parentRegistry = 0); 00050 00052 DtSurfaceEntityStateRepository( 00053 const DtSurfaceEntityStateRepository & orig, 00054 const DtString& rwName = DtString::nullString(), 00055 DtReaderWriterRegistry* parentRegistry = 0); 00056 00058 const DtSurfaceEntityStateRepository & operator=( 00059 const DtSurfaceEntityStateRepository & orig); 00060 00062 virtual ~DtSurfaceEntityStateRepository(); 00063 00065 virtual DtString type() const; 00066 00067 virtual bool init(); 00068 00071 static DtSurfaceEntityStateRepository* isSurfaceEntityStateRepository( 00072 DtVrfObjectStateRepository* repository); 00073 00074 static const DtSurfaceEntityStateRepository* isSurfaceEntityStateRepository( 00075 const DtVrfObjectStateRepository* repository); 00076 00077 00079 virtual const int vrfMovingObjectStateRepositorySubType() const; 00080 00082 virtual const int surfaceEntityStateRepositorySubType() const; 00083 00084 virtual bool createParameters(); 00085 virtual void initializeFromParameters(); 00086 virtual const DtSurfaceEntityParameters * surfaceEntityParameters() const; 00087 00090 virtual const DtVector& throttleAcceleration(); 00091 virtual void setThrottleAcceleration(const DtVector& throttle); 00092 00095 virtual const DtVector& dragAcceleration(); 00096 virtual void setDragAcceleration(const DtVector& drag); 00097 00100 virtual double rudderYawAcceleration(); 00101 virtual void setRudderYawAcceleration(double rudder); 00102 00105 virtual double resistanceYawAcceleration(); 00106 virtual void setResistanceYawAcceleration(double resistance); 00107 00108 protected: 00110 DtVector myThrottleAcceleration; 00111 00113 DtVector myDragAcceleration; 00114 00116 double myRudderYawAcceleration; 00117 00119 double myResistanceYawAcceleration; 00120 00121 }; 00122 #endif 00123