VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/humanSR.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2004 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00006 #pragma once
00007 
00011 
00013 
00014 #include <vlutil/vlMachineTypes.h>
00015 
00016 #include "vrfobjcore/vrfMvObjSR.h"
00017 #include "vrfutil/rwIndLifeFormStateType.h"
00018 #include "vrfutil/rwIndLifeFormWeaponStateType.h"
00019 
00020 class DtHumanParameters;
00021 
00026 #include "vrfobjcore/vrfobjcoreDefines.h"
00027 class DT_DLL_vrfobjcore DtHumanStateRepository : public DtVrfMovingObjectStateRepository
00028 {
00029 protected:
00031    DtHumanStateRepository();
00032 
00033 public:
00034 
00036    DtHumanStateRepository (DtVrfObject* vrfObject, 
00037       const DtObjectType& objectType, DtVrfObjectParameters* parameters,
00038       const DtString& rwName = DtString::nullString(),
00039       DtReaderWriterRegistry* parentRegistry = 0);
00040 
00042    DtHumanStateRepository (const DtHumanStateRepository& orig, 
00043       const DtString& rwName = DtString::nullString(),
00044       DtReaderWriterRegistry* parentRegistry = 0);
00045 
00047    const DtHumanStateRepository& operator= (
00048       const DtHumanStateRepository& orig);
00049 
00051    virtual ~DtHumanStateRepository();
00052 
00053    virtual DtSimObjectStateRepository* clone(
00054       const DtString& rwName = DtString::nullString(),
00055       DtReaderWriterRegistry*  parentRegistry = 0) const;
00056 
00057    virtual bool init();
00058 
00060    virtual DtString type() const;
00061 
00063    virtual const int vrfMovingObjectStateRepositorySubType() const;
00064 
00066    virtual const int humanStateRepositorySubType() const;
00067 
00068    virtual bool createParameters();
00069    virtual void initializeFromParameters();
00070    virtual const DtHumanParameters* humanParameters() const;
00071 
00073     virtual void setAssignedPosture(DtLifeformState newPosture);
00074     virtual DtLifeformState assignedPosture() const;
00075 
00077     virtual DtLifeformState currentPosture() const;
00078     virtual void setCurrentPosture (DtLifeformState newPosture);
00079 
00081     virtual void setAssignedWeaponState(DtWeaponState newWeaponState);
00082     virtual DtWeaponState assignedWeaponState() const;
00083 
00085     virtual DtWeaponState currentWeaponState() const;
00086     virtual void setCurrentWeaponState (DtWeaponState newWeaponState);
00087 
00095    virtual void clampToGround (const DtVector& location, const DtReal heading,
00096       bool* dataAvailable = 0, bool requireAllData = false);
00097 
00099     virtual void setDestroyed(bool isDestroyed);
00100 
00102     virtual void calculateBodyEyepointOffset(DtLifeformState posture, 
00103        DtVector& bodyEyepointOffset) const;
00104 
00107     virtual bool uprightPosture(DtLifeformState posture) const;
00108 
00111     virtual bool staticPosture(DtLifeformState posture) const;
00112 
00115     virtual bool movingPosture(DtLifeformState posture) const;
00116 
00117    static DtVrfObjectStateRepository* creator (const DtString& name,
00118       DtVrfObject* vrfObject,const DtObjectType& objectType,
00119       DtVrfObjectParameters* parameters, 
00120       DtReaderWriterRegistry* parentRegistry);
00121 
00124    static DtHumanStateRepository* isHumanStateRepository(
00125       DtSimObjectStateRepository* repository);
00126 
00127    static const DtHumanStateRepository* isHumanStateRepository(
00128       const DtSimObjectStateRepository* repository);
00129 
00130 protected:
00131 
00136    virtual void preGetSelf();
00137 
00143    virtual void postGetSelf();
00144 
00145   protected:
00146     DtRwIndividualLifeFormStateType                myAssignedPosture;
00147     DtRwIndividualLifeFormStateType                myCurrentPosture;
00148 
00149     DtRwIndividualLifeFormWeaponStateType          myAssignedWeaponState;
00150     DtRwIndividualLifeFormWeaponStateType          myCurrentWeaponState;
00151 };

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)