VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAgentDefinition.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtAgentDefinition.h,v $ $Revision: 1.15 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtSceneObjectDefinition_H_
14 #define DtSceneObjectDefinition_H_
15 
16 #include <vrvCore/vrvCore.h>
18 
19 #include <map>
20 #include <string>
21 
22 namespace makVrv
23 {
24 
25  class DtDe;
26 
34  template <typename ObjectClass>
36  {
37  public:
38 
39  typedef std::map<unsigned int,DtMessageMemberCall<ObjectClass>*> CallMap;
40 
42  DtAgentDefinition(const std::string& className)
43  : myClassName(className)
44  {
45  }
46 
48  {
50  }
51 
53  virtual bool doCall(DtDe& de,unsigned int function,ObjectClass* o, DtMessage& message);
54 
56  virtual void handle(DtDe& de, ObjectClass* o,DtMessage& msg);
57 
59  virtual void bindFunction(unsigned int function,DtMessageMemberCall<ObjectClass>* member);
60 
61  virtual const std::string& className() const
62  {
63  return myClassName;
64  }
65 
66  virtual bool containsClassName(const std::string& className)
67  {
68  return myClassName == className;
69  }
70 
71  protected:
72  std::string myClassName;
74  };
75 
85  template <typename BaseClassDefinition, typename ObjectClass>
87  : public DtAgentDefinition<ObjectClass>
88  , public BaseClassDefinition
89  {
90  public:
91 
93  : DtAgentDefinition<ObjectClass>(className)
94  , BaseClassDefinition(className)
95  , myClassName(className)
96  {
97  }
98 
100  {
102  }
103 
104  typedef std::map<unsigned int,DtMessageMemberCall<ObjectClass>*> CallMap;
105 
108  virtual bool doCall(DtDe& de,unsigned int function,ObjectClass* o, DtMessage& message);
109 
113  virtual void handle(DtDe& de,ObjectClass* o,DtMessage& msg);
114 
116  virtual void bindFunction(unsigned int function,DtMessageMemberCall<ObjectClass>* member);
117 
119  virtual const std::string& className() const
120  {
121  return myClassName;
122  }
123 
124  virtual bool containsClassName(const std::string& className)
125  {
126  return myClassName == className ||
128  BaseClassDefinition::containsClassName(className);
129  }
130 
131  protected:
132  std::string myClassName;
134  };
135 }
136 
137 #define DtAgentDefinition_INL_
138 #include "DtAgentDefinition.inl"
139 #undef DtAgentDefinition_INL_
140 
141 #endif
142 
CallMap myCallMap
Definition: DtAgentDefinition.h:133
virtual ~DtAgentDefinition()
Definition: DtAgentDefinition.h:47
virtual void handle(DtDe &de, ObjectClass *o, DtMessage &msg)
Handle an update message.
The IGI Message.
Definition: DtMessage.h:33
Use this class as the base class for definition where ObjectClass is the class whose definition defin...
Definition: DtAgentDefinition.h:35
virtual void handle(DtDe &de, ObjectClass *o, DtMessage &msg)
Handle updates for the particular object class.
virtual bool doCall(DtDe &de, unsigned int function, ObjectClass *o, DtMessage &message)
Execute a call.
std::map< unsigned int, DtMessageMemberCall< ObjectClass > * > CallMap
Definition: DtAgentDefinition.h:104
DtInheritedAgentDefinition(const std::string &className)
Definition: DtAgentDefinition.h:92
virtual bool containsClassName(const std::string &className)
Definition: DtAgentDefinition.h:124
void DtClearAndDeletePointersInMap(M &map)
Deletes all pointers in a map then clears it.
Definition: templateUtil.h:192
std::map< unsigned int, DtMessageMemberCall< ObjectClass > * > CallMap
Definition: DtAgentDefinition.h:39
std::string myClassName
Definition: DtAgentDefinition.h:132
virtual const std::string & className() const
Definition: DtAgentDefinition.h:61
DtAgentDefinition(const std::string &className)
CTOR.
Definition: DtAgentDefinition.h:42
Contains makVrv::DtMessageMemberCall class.
virtual void bindFunction(unsigned int function, DtMessageMemberCall< ObjectClass > *member)
Bind a function.
virtual bool containsClassName(const std::string &className)
Definition: DtAgentDefinition.h:66
virtual const std::string & className() const
Override base function.
Definition: DtAgentDefinition.h:119
std::string myClassName
Definition: DtAgentDefinition.h:72
CallMap myCallMap
Definition: DtAgentDefinition.h:73
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
virtual void bindFunction(unsigned int function, DtMessageMemberCall< ObjectClass > *member)
Bind a ObjectClass Member.
virtual ~DtInheritedAgentDefinition()
Definition: DtAgentDefinition.h:99
virtual bool doCall(DtDe &de, unsigned int function, ObjectClass *o, DtMessage &message)
Execute a call.
Definition: DtAgentDefinition.h:86
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)