![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00005 /******************************************************************************* 00010 00011 00012 00013 #ifndef diGuyIntrinsicAnimationMap_H_ 00014 #define diGuyIntrinsicAnimationMap_H_ 00015 00016 #include <vlutil/vlString.h> 00017 #include <vlutil/vlFilename.h> 00018 #include <map> 00019 #include <list> 00020 00021 #include "vrfutil/lifeformStaticPostures.h" 00022 #include "vrfutil/diGuyAnimation.h" 00023 #include "vrfutil/vrfutilDefines.h" 00024 00029 class DT_DLL_vrfutil DtDIGuyIntrinsicAnimationMap 00030 { 00031 public: 00032 00033 typedef std::list<DtDIGuyAnimationSharedPtr> AnimationList; 00034 typedef AnimationList::iterator AnimationListIterator; 00035 typedef AnimationList::const_iterator const_AnimationListIterator; 00036 typedef DtBoost::shared_ptr<AnimationList> AnimationListSharedPtr; 00037 00038 typedef std::map<DtLifeformStaticPosture, AnimationListSharedPtr> IntrinsicAnimationMap; 00039 typedef IntrinsicAnimationMap::iterator IntrinsicAnimationMapIterator; 00040 typedef IntrinsicAnimationMap::const_iterator const_IntrinsicAnimationMapIterator; 00041 00042 DtDIGuyIntrinsicAnimationMap(); 00043 00044 DtDIGuyIntrinsicAnimationMap(const DtFilename& name); 00045 00046 DtDIGuyIntrinsicAnimationMap(const DtDIGuyIntrinsicAnimationMap& orig); 00047 00048 DtDIGuyIntrinsicAnimationMap& operator=(const DtDIGuyIntrinsicAnimationMap& orig); 00049 00050 virtual ~DtDIGuyIntrinsicAnimationMap(); 00051 00052 virtual void init(); 00053 00054 virtual DtDIGuyAnimation * findClosestAnimation(DtLifeformStaticPosture,double speed, 00055 const DtString & demeanor,bool randomize=true); 00056 00057 virtual DtDIGuyAnimation * lookupAnimationByName(const DtString & name); 00058 virtual DtDIGuyAnimation * lookupAnimationByName(AnimationListSharedPtr list,const DtString & name); 00059 00060 virtual AnimationListSharedPtr lookupAnimationList(DtLifeformStaticPosture post); 00061 00062 virtual void addAnimationToList(AnimationListSharedPtr list,DtDIGuyAnimationSharedPtr animation); 00063 00064 virtual void addAnimationToMap( DtDIGuyAnimationSharedPtr animation); 00065 00066 protected: 00067 00068 DtFilename myIntrinsicAnimationMapFile; 00069 IntrinsicAnimationMap myIntrinsicAnimationMap; 00070 }; 00071 00072 #endif