VR-Vantage API Documentation
DtDriver.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtDriver.h,v $ $Revision: 1.43 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #include <vrvCore/vrvCore.h>
18 #include <vrvCore/DtElementEntry.h>
19 
20 #include <string>
21 #include <list>
22 
23 namespace makVrv
24 {
25  class DtAgentManager;
26  class DtAgentManagerInterface;
27  class DtDeRecord;
28 
29 
40  {
41 
42  public:
43 
44  friend class DtDriverManager;
45 
47  DtDriver(DtAgentManager& agentManager, const std::string& instanceName);
48 
50  virtual ~DtDriver();
51 
53  virtual void realizeConfiguration(const DtConfiguration& configuration);
54 
56  virtual DtConfiguration createConfiguration() const;
57 
61  DtAgentManager& agentManager();
62 
64  virtual DtAgentManagerInterface& sceneInterface();
65 
67  inline bool started() const
68  {
69  return myStartedFlag;
70  }
71 
73  virtual const std::string& className() const = 0;
74 
76  virtual const std::string& instanceName() const;
77 
80  virtual bool autoStart() const;
81 
84  virtual void setAutoStart(bool autoStart);
85 
89  virtual bool isWindowDependent() const;
90 
94  virtual void setIsWindowDependent(bool dep);
95 
98  virtual void setIsUserControllable(bool);
99 
102  virtual bool isUserControllable() const;
103 
106  virtual void setIsPersistent(bool per);
107 
110  virtual bool isPersistent() const;
111 
114  virtual bool isOnDriverSelectionList() const;
115 
118  virtual void setOnDriverSelectionList(bool);
119 
122  bool objectFromAgentManager(const DtUniqueID& id) const;
123 
124  protected:
125 
129  void applyChangesAndDelete(DtElementChanges* changes);
130 
132  void reportElementCreated(DtElementID id, DtElementID parentId,
134 
137  void reportElementAttribute(DtElementID id, DtElementAttribute* attribute);
138 
140  void reportElementDestroyed(DtElementID id);
141 
144  void start();
145 
148  void stop();
149 
153  bool tick();
154 
159  virtual bool onStart() = 0;
160 
165  virtual bool onStop() = 0;
166 
170  virtual bool onTick() = 0;
171 
174  virtual void slot_displayEngineAdded(const DtDeRecord& igRecord);
175 
180  virtual void setInstanceName(const std::string& name);
181 
185  virtual void installAccessories();
186 
190  virtual void uninstallAccessories();
191 
192  protected:
193 
196  std::string myName;
198 
203 
204  };
205 
206 
210  {
211  public:
212 
214  DtDriverCreator();
215 
217  virtual ~DtDriverCreator();
218 
222  virtual const std::string& extension() const = 0;
223 
225  virtual DtDriver* create(DtAgentManager& agentManager,
226  const std::string& instanceName) const = 0;
227  };
228 
229 }


Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)