![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 #pragma once 00007 00011 00013 00014 #include <vlutil/vlMachineTypes.h> 00015 #include "vrfobjcore/vrfMvObjSR.h" 00016 00017 class DtCulturalFeatureParameters; 00018 00023 #include "vrfobjcore/vrfobjcoreDefines.h" 00024 class DT_DLL_vrfobjcore DtCulturalFeatureStateRepository : 00025 public DtVrfMovingObjectStateRepository 00026 { 00027 protected: 00029 DtCulturalFeatureStateRepository(); 00030 00031 public: 00032 00034 DtCulturalFeatureStateRepository (DtVrfObject* vrfObject, 00035 const DtObjectType& objectType, DtVrfObjectParameters* parameters, 00036 const DtString& rwName = DtString::nullString(), 00037 DtReaderWriterRegistry* parentRegistry = 0); 00038 00040 DtCulturalFeatureStateRepository (const DtCulturalFeatureStateRepository& orig, 00041 const DtString& rwName = DtString::nullString(), 00042 DtReaderWriterRegistry* parentRegistry = 0); 00043 00045 const DtCulturalFeatureStateRepository& operator= ( 00046 const DtCulturalFeatureStateRepository& orig); 00047 00049 virtual ~DtCulturalFeatureStateRepository(); 00050 00051 virtual DtSimObjectStateRepository* clone( 00052 const DtString& rwName = DtString::nullString(), 00053 DtReaderWriterRegistry* parentRegistry = 0) const; 00054 00055 virtual bool init(); 00056 00058 virtual DtString type() const; 00059 00061 virtual const int vrfMovingObjectStateRepositorySubType() const; 00062 00064 virtual const int culturalFeatureStateRepositorySubType() const; 00065 00066 virtual bool createParameters(); 00067 virtual void initializeFromParameters(); 00068 virtual const DtCulturalFeatureParameters* culturalFeatureParameters() const; 00069 00070 static DtVrfObjectStateRepository* creator (const DtString& name, 00071 DtVrfObject* vrfObject,const DtObjectType& objectType, 00072 DtVrfObjectParameters* parameters, 00073 DtReaderWriterRegistry* parentRegistry); 00074 00077 static DtCulturalFeatureStateRepository* isCulturalFeatureStateRepository( 00078 DtSimObjectStateRepository* repository); 00079 00080 static const DtCulturalFeatureStateRepository* isCulturalFeatureStateRepository( 00081 const DtSimObjectStateRepository* repository); 00082 00085 virtual bool gravityAligned() const; 00086 virtual void setGravityAligned(bool); 00087 00095 virtual void clampToGround(const DtVector& location, const DtReal heading, 00096 bool* dataAvailable = 0); 00097 00098 protected: 00099 DtRwBoolean myGravityAligned; 00100 };