![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtDiGuyCharacterModel.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtDiGuyCharacterModel_H_ 00014 #define DtDiGuyCharacterModel_H_ 00015 00016 #include <vrvDiGuy/vrvDiGuy.h> 00017 #include <vrvCore/DtCharacterModel.h> 00018 00019 class diguyCharacter; 00020 00021 namespace osg 00022 { 00023 class Group; 00024 } 00025 00026 namespace makVrv 00027 { 00028 class DtOsgSceneConnector; 00029 class DtSceneObject; 00030 00033 class DT_DLL_VRVDIGUY DtDiGuyCharacterModel : public DtCharacterModel 00034 { 00035 public: 00037 DtDiGuyCharacterModel(DtDe& de, DtUniqueID id); 00038 00040 virtual ~DtDiGuyCharacterModel(); 00041 00043 virtual void addToScene( const DtUniqueID& sceneObjectId, int modelSet, 00044 int visualizerType ); 00045 00047 virtual void removeFromScene(); 00048 00049 00050 virtual void setPosition( int vtx, const DtVector& position ); 00051 virtual void setOrientation( int vtx, const DtTaitBryan& orientation ); 00052 00055 virtual std::string className() const; 00056 00060 virtual void setCharacterModel(const std::string& appearanceName); 00061 00062 virtual void setDefaultAppearance(const std::string& appearanceName); 00063 virtual void setAppearance(const std::string& appearanceName); 00064 virtual void setHeadAppearance(const std::string& appearanceName); 00065 00067 virtual void setDesiredAction(const std::string& action,float speed); 00068 00070 virtual void forceAction(const std::string& action, float speed); 00071 00073 virtual void forceTemporaryAction(const std::string& action, double duration); 00074 00076 virtual void setSpeed(float speed); 00077 00079 virtual bool weaponDeployed() const; 00080 00082 virtual void setWeaponDeployed(bool deployed); 00083 00086 void setFullUpdateNeeded(bool updated); 00087 00089 bool fullUpdateNeeded() const; 00090 00093 virtual void die(const std::string& deathAction); 00094 00096 virtual void revive(const std::string& aliveAction); 00097 00099 virtual void setPaused(bool paused); 00100 00102 bool paused() const; 00103 00105 diguyCharacter* character(); 00106 00108 virtual void setPosture(int posture); 00109 00113 bool autoGenerateActions() const; 00114 00116 void setObjectToMove(DtSceneObject* sceneObject); 00117 00118 virtual void setSolid(bool isSolid); 00119 00122 virtual void setModelScalingEnabled( bool b ); 00123 00124 protected: 00125 00127 void slot_modelInstanceToBeDestroyed(DtModelInstance*, DtModel*); 00128 00130 void slot_modelInstanceCreated(DtModelInstance*, DtModel*); 00131 00132 protected: 00133 00134 diguyCharacter* myCharacter; 00135 DtOsgSceneConnector* mySceneConnector; 00136 DtSceneObject* myObjectToMove; 00137 bool myGenerateAutomaticActionFlag; 00138 bool myWeaponDeployedFlag; 00139 bool myFullUpdateFlag; 00140 }; 00141 } 00142 00143 #endif 00144