![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 #pragma once 00007 00011 00014 00015 #include "vrfobjcore/gndVehSR.h" 00016 #include "vrfobjparam/indLifeFormParams.h" 00017 #include "vrfutil/rwIndLifeFormStateType.h" 00018 #include "vrfutil/rwIndLifeFormWeaponStateType.h" 00019 00024 #include "vrfobjcore/vrfobjcoreDefines.h" 00025 class DT_DLL_vrfobjcore DtIndividualLifeFormStateRepository : public DtGroundVehicleStateRepository 00026 { 00027 public: 00028 00030 DtIndividualLifeFormStateRepository(); 00031 00033 DtIndividualLifeFormStateRepository (DtVrfObject* vrfObject, 00034 const DtObjectType& objectType, DtVrfObjectParameters* parameters, 00035 const DtString& rwName = DtString::nullString(), 00036 DtReaderWriterRegistry* parentRegistry = 0); 00037 00039 DtIndividualLifeFormStateRepository (const DtIndividualLifeFormStateRepository& orig, 00040 const DtString& rwName = DtString::nullString(), 00041 DtReaderWriterRegistry* parentRegistry = 0); 00042 00044 const DtIndividualLifeFormStateRepository& operator= ( 00045 const DtIndividualLifeFormStateRepository& orig); 00046 00048 virtual ~DtIndividualLifeFormStateRepository(); 00049 00050 virtual DtSimObjectStateRepository* clone( 00051 const DtString& rwName = DtString::nullString(), 00052 DtReaderWriterRegistry* parentRegistry = 0) const; 00053 00054 virtual bool init(); 00055 00057 virtual DtString type() const; 00058 00059 virtual bool createParameters(); 00060 virtual void initializeFromParameters(); 00061 virtual const DtIndividualLifeFormParameters* individualLifeFormParameters() const; 00062 00064 virtual void setAssignedPosture(DtLifeformState newPosture); 00065 virtual DtLifeformState assignedPosture() const; 00066 00068 virtual DtLifeformState currentPosture() const; 00069 virtual void setCurrentPosture (DtLifeformState newPosture); 00070 00072 virtual void setAssignedWeaponState(DtWeaponState newWeaponState); 00073 virtual DtWeaponState assignedWeaponState() const; 00074 00076 virtual DtWeaponState currentWeaponState() const; 00077 virtual void setCurrentWeaponState (DtWeaponState newWeaponState); 00078 00079 static DtVrfObjectStateRepository* creator (const DtString& name, 00080 DtVrfObject* vrfObject,const DtObjectType& objectType, 00081 DtVrfObjectParameters* parameters, 00082 DtReaderWriterRegistry* parentRegistry); 00083 00086 static DtIndividualLifeFormStateRepository* 00087 isIndividualLifeFormStateRepository( 00088 DtSimObjectStateRepository* repository); 00089 00090 static const DtIndividualLifeFormStateRepository* 00091 isIndividualLifeFormStateRepository( 00092 const DtSimObjectStateRepository* repository); 00093 00101 virtual void clampToGround (const DtVector& location, const DtReal heading, 00102 bool* dataAvailable = 0); 00103 00105 virtual void setDestroyed(bool isDestroyed); 00106 00108 virtual void calculateBodyEyepointOffset(DtLifeformState posture, 00109 DtVector& bodyEyepointOffset) const; 00110 00113 virtual bool uprightPosture(DtLifeformState posture) const; 00114 00117 virtual bool staticPosture(DtLifeformState posture) const; 00118 00121 virtual bool movingPosture(DtLifeformState posture) const; 00122 00123 protected: 00124 DtRwIndividualLifeFormStateType myAssignedPosture; 00125 DtRwIndividualLifeFormStateType myCurrentPosture; 00126 00127 DtRwIndividualLifeFormWeaponStateType myAssignedWeaponState; 00128 DtRwIndividualLifeFormWeaponStateType myCurrentWeaponState; 00129 }; 00130