![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: gndVehSR.h,v $ $Revision: 1.25 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef gndVehSR_H_ 00009 #define gndVehSR_H_ 00010 00014 00016 00017 #include <vlutil/vlMachineTypes.h> 00018 00019 #include "vrfobjcore/groundInter.h" 00020 #include "vrfutil/soilList.h" 00021 #include "vrfobjcore/vrfMvObjSR.h" 00022 00023 class DtGroundVehicleParameters; 00024 class DtVector; 00025 class DtSoilFactors; 00026 00031 #include "vrfobjcore/vrfobjcoreDefines.h" 00032 class DT_DLL_vrfobjcore DtGroundVehicleStateRepository : public DtVrfMovingObjectStateRepository 00033 { 00034 protected: 00036 DtGroundVehicleStateRepository(); 00037 00038 public: 00039 00041 DtGroundVehicleStateRepository (DtVrfObject* vrfObject, 00042 const DtObjectType& objectType, DtVrfObjectParameters* parameters, 00043 const DtString& rwName = DtString::nullString(), 00044 DtReaderWriterRegistry* parentRegistry = 0); 00045 00047 DtGroundVehicleStateRepository (const DtGroundVehicleStateRepository& orig, 00048 const DtString& rwName = DtString::nullString(), 00049 DtReaderWriterRegistry* parentRegistry = 0); 00050 00052 const DtGroundVehicleStateRepository& operator= ( 00053 const DtGroundVehicleStateRepository& orig); 00054 00056 virtual ~DtGroundVehicleStateRepository(); 00057 00058 virtual DtSimObjectStateRepository* clone( 00059 const DtString& rwName = DtString::nullString(), 00060 DtReaderWriterRegistry* parentRegistry = 0) const; 00061 00062 virtual bool init(); 00063 00065 virtual DtString type() const; 00066 00068 virtual const int vrfMovingObjectStateRepositorySubType() const; 00069 00071 virtual const int groundEntityStateRepositorySubType() const; 00072 00073 virtual bool createParameters(); 00074 virtual void initializeFromParameters(); 00075 virtual const DtGroundVehicleParameters* groundVehicleParameters() const; 00076 00077 virtual DtSoilFactors* lookupSoilFactors (const DtString& soilType); 00078 virtual void addSoilFactors (DtSoilFactors* soilFactors); 00079 virtual void removeSoilFactors (DtSoilFactors* soilFactors); 00080 00084 virtual const DtGroundInteractionPt* rearSupport() const; 00085 virtual DtGroundInteractionPt* rearSupport(); 00086 virtual void setRearSupport(const DtVector& rearSupport); 00087 00088 00089 static DtVrfObjectStateRepository* creator (const DtString& name, 00090 DtVrfObject* vrfObject,const DtObjectType& objectType, 00091 DtVrfObjectParameters* parameters, 00092 DtReaderWriterRegistry* parentRegistry); 00093 00096 static DtGroundVehicleStateRepository* isGroundVehicleStateRepository( 00097 DtSimObjectStateRepository* repository); 00098 00099 static const DtGroundVehicleStateRepository* isGroundVehicleStateRepository( 00100 const DtSimObjectStateRepository* repository); 00101 00102 protected: 00103 DtSoilList mySoilList; 00104 }; 00105 #endif