VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtBaseConnection.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCore/vrvCore.h>
12 #include <vrvCore/DtUniqueID.h>
15 #include <vrvUtil/templateUtil.h>
16 #include <vrvUtil/DtUnicode.h>
17 
18 #include <boost/unordered_map.hpp>
19 
20 #include <string>
21 #include <map>
22 
23 namespace makVrv
24 {
25  class DtSharedSettingsManager;
26  class DtAgentManagerInterface;
27  class DtElementChanges;
28  class DtElementAttribute;
29  class DtBlinkingObjectManager;
30  class DtTemporaryAgentManager;
31 
35  {
36 
37  public:
40 
43  virtual ~DtBaseConnection();
44 
47  virtual void clearInstances();
48 
50  DtSharedSettingsManager& settingsManager();
51 
53  virtual DtAgentManagerInterface& sceneInterface();
54 
56  const DtSharedSettingsManager& settingsManager() const;
57 
59  void reportElementCreated(DtElementID id, DtElementID parentId, unsigned int type);
60 
61  //The attribute passed in should not be used again.
62  void reportElementAttribute(DtElementID id, DtElementAttribute* attribute);
63 
65  void reportElementDestroyed(DtElementID id);
66 
68  const DtElementChanges& currentElementChanges() const;
69 
71  DtElementChanges* takeElementChanges();
72 
74  DtTemporaryAgentManager& temporaryEffects();
75 
77  DtBlinkingObjectManager& blinkManager();
78 
80  DtRandomNumberGenerator& randomNumberGenerator();
81 
83  virtual const std::string& tag()
84  {
85  const static std::string tagStr = "";
86  return tagStr;
87  }
88 
90  const DtUnicode& emptyString() const;
91 
97  virtual DtVirtualBaseClass* findInstance(const std::string& instanceName);
98 
112  inline bool destroyingInstances() const
113  {
114  return myDestroyingInstanceFlag;
115  }
116 
119  virtual void registerInstance(const std::string& instanceName,
120  DtVirtualBaseClass* instance);
121 
122 
123  protected:
124 
125  //Hold on to the shared simulation manager.
127 
128  //The random number generator for the local simulation.
130 
131  //Thread specific Variables. This variables are used by the second thread.
132  //They should not be used in any functions in the main thread while the
133  //secondary thread is running.
135 
136  //Internal working element changes
138 
139  //Manager for temporary global effects.
141 
144 
146 
147  typedef boost::unordered_map<std::string,DtVirtualBaseClass*> InstanceMap;
148 
149  //Stores a pointer to simulation specific instances.
151 
152  //Flag to store if the connection is destroying the instances in it's
153  //DTOR
155  };
156 }
Virtual base class.
Definition: DtVirtualBaseClass.h:19
A unicode string.
Definition: DtUnicode.h:33
Implementation independent random number generator.
Definition: DtRandomNumberGenerator.h:20
virtual const std::string & tag()
Get the tag identifying which type of connection this is.
Definition: DtBaseConnection.h:83
Contains utility macros and methods for templates.
DtRandomNumberGenerator myRandomNumberGenerator
Definition: DtBaseConnection.h:129
DtAgentManagerInterface & mySceneInterface
Definition: DtBaseConnection.h:134
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
boost::unordered_map< std::string, DtVirtualBaseClass * > InstanceMap
Definition: DtBaseConnection.h:147
DtElementChanges is used to communicate changes in element data between drivers and the main applicat...
Definition: DtElementChanges.h:25
The blinking object manager.
Definition: DtBlinkingObjectManager.h:25
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:34
The temporary agent manager.
Definition: DtTemporaryAgentManager.h:32
Contains makVrv::DtVirtualBaseClass class.
Contains makVrv::DtRandomNumberGenerator class.
DtElementChanges * myWorkingElementChanges
Definition: DtBaseConnection.h:137
bool myDestroyingInstanceFlag
Definition: DtBaseConnection.h:154
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool destroyingInstances() const
Check to see if the simulation is destroying instances.
Definition: DtBaseConnection.h:112
InstanceMap myInstances
Definition: DtBaseConnection.h:150
DtUnicode myEmptyString
Definition: DtBaseConnection.h:145
DtBlinkingObjectManager * myBlinkManager
Manager for blinking objects.
Definition: DtBaseConnection.h:143
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
DtSharedSettingsManager & mySettingsManagerCache
Definition: DtBaseConnection.h:126
DtElementAttribute is a common base class used for all element attributes, such as those found in a D...
Definition: DtElementAttribute.h:20
DtTemporaryAgentManager * myTemporaryEffects
Definition: DtBaseConnection.h:140
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)