Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

/lib/libtvuvisu3D/tvu_humanaction.h

Go to the documentation of this file.
00001 
00011 #ifndef __TVU_HUMAN_ACTION_H__
00012 #define __TVU_HUMAN_ACTION_H__
00013 
00014 #ifndef __TVU_TYPESDEF_H__
00015 #include "tvu_typesdef.h"
00016 #endif 
00017 
00018 #ifndef __TVU_VISU3D_APPLICATION_H__
00019 #include "tvu_visu3d.application.h"
00020 #endif 
00021 
00022 //
00023 class CTScenario;
00024 /*========================================================*/
00026 #define CLASSNAME_HUMAN_ACTION          "HumanBehavior"
00027 #define CLASSNAME_HUMAN_ACTION_ID       10300
00028 
00029 #define ACTIONNAME_WALKING                      "human_walking"
00030 #define ACTIONNAME_RUNNING                      "human_running"
00031 #define ACTIONNAME_RIGHTHANDUP          "human_handup"
00032 
00033 #define ENAME_ACTION_PARTNAME           "part_name"
00034 #define ENAME_ACTION_STATICPARTNAME     "static_part_name"
00035 #define ENAME_ACTION_STARTTIME          "start_time"
00036 #define ENAME_ACTION_STOPTIME           "stop_time"
00037 #define ENAME_ACTION_ANGLES                     "angles"
00038 #define ENAME_ACTION_LOOP                       "loop"
00039 #define ENAME_ACTION_CHILDREN           "sub_behavior"
00040 #define ENAME_ACTION_FROM                       "from"
00041 #define ENAME_ACTION_TO                         "to"
00042 
00043 class CTBodyPart;
00044 /*--------------------------------------------------------*/
00046 class CTHumanAction : public CTReferableObject
00047 {
00048         public:
00050                 CTHumanAction();
00051                 virtual ~CTHumanAction() { Delete(); };
00052                 DEFINE_ID_FUNCTIONS(CTHumanAction, CTReferableObject, CLASSNAME_HUMAN_ACTION_ID, CLASSNAME_HUMAN_ACTION)
00053         public:
00055                 virtual CTList  GetSaveLoadObjects(TBOOL bOnLoad = TTRUE);
00057                 virtual TBOOL BuildObject();
00059                 virtual TBOOL IsWellConstructed();
00061                 virtual TBOOL ReferTo(CTReferableObject* lpObject);
00062         public:
00064                 virtual TBOOL Init();
00065                 virtual TBOOL Expand(double r);
00066                 virtual TINT  GetRelatedTime(TINT tTime);
00067                 virtual TBOOL IsExecuting(TINT tTime);
00068                 virtual CTHumanAction* GetStaticPartAction(TINT tTime);
00069                 virtual void SetSpeed(TINT Speed); 
00070         public:
00072                 CTHumanAction* GetSubAction(TLPCSTR lpName);
00073         public:
00075                 virtual void Delete();
00076         public:
00078                 virtual CTHumanAction& operator = (CTHumanAction& AnAction);  
00079         public:
00082                 CTList GetChildren(){ return m_Children; };     
00083                 CTString&  GetPartName() { return m_PartName; };        
00084                 CTString&  GetStaticPartName() { return m_StaticPartName; };    
00085                 CTInt&    GetStartTime() { return m_StartTime; };       
00086                 CTInt&    GetStopTime() { return m_StopTime; }; 
00087                 CTAngles& GetAngles() { return m_Angles; };     
00088                 CTInt&    GetDuration() { return m_Duration; }  
00089                 CTInt&    GetLoop() { return m_Loop; };         
00090                 CTLocation&     GetLocationFrom() { return m_From; };   
00091                 CTLocation&     GetLocationTo() { return m_To; };       
00092                 CTScenario*     SetScenario(CTScenario* pScenario) { return m_pScenario = pScenario; };
00093                 CTScenario*     GetScenario() { return m_pScenario; };
00094                 CTBodyPart** GetPart() { return &m_pPart; };
00096                 CTAngles& GetAnglesInc() { return m_AnglesInc; };
00097         protected:
00099                 CTString        m_PartName;     
00100                 CTString        m_StaticPartName;       
00101                 CTInt           m_StartTime;    
00102                 CTInt           m_StopTime;     
00103                 CTAngles        m_Angles;       
00104                 CTInt           m_Duration;     
00105                 CTInt           m_OriginalDuration;     
00106                 CTInt           m_Loop;         
00107                 CTLocation      m_From; 
00108                 CTLocation      m_To;   
00109                 CTScenario*     m_pScenario;
00111                 CTBodyPart*     m_pPart;
00114                 CTList  m_Children;
00116                 CTAngles m_AnglesInc;
00117 };
00119 typedef CTHumanAction* LPCTHumanAction;
00120 /*========================================================*/
00121 #endif 

Generated at Wed Aug 6 15:58:58 2003 for TVU's libraries for video surveillance: by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001