VR-Vantage 3.1 API Documentation
Home
Modules
Namespaces
Classes
Files
Libraries
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrvCore
DtDriver.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2010 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
9
10
#pragma once
11
#include <
vrvUtil/DtConfiguration.h
>
12
#include <
vrvCore/DtElementChanges.h
>
13
#include <
vrvCore/DtElementEntry.h
>
14
15
namespace
makVrv
16
{
17
class
DtAgentManager;
18
class
DtAgentManagerInterface;
19
class
DtDeRecord;
20
21
31
class
DT_DLL_VRVCORE
DtDriver
32
{
33
34
public
:
35
36
friend
class
DtDriverManager
;
37
39
DtDriver
(
DtAgentManager
& agentManager,
const
std::string
& instanceName);
40
42
virtual
~
DtDriver
();
43
45
virtual
void
realizeConfiguration(
const
DtConfiguration
& configuration);
46
48
virtual
DtConfiguration
createConfiguration()
const
;
49
53
DtAgentManager
& agentManager();
54
56
virtual
DtAgentManagerInterface
& sceneInterface();
57
59
inline
bool
started()
const
60
{
61
return
myStartedFlag;
62
}
63
65
virtual
const
std::string
& className()
const
= 0;
66
68
virtual
const
std::string
& instanceName()
const
;
69
72
virtual
bool
autoStart()
const
;
73
76
virtual
void
setAutoStart(
bool
autoStart);
77
81
virtual
bool
isWindowDependent()
const
;
82
86
virtual
void
setIsWindowDependent(
bool
dep);
87
90
virtual
void
setIsUserControllable(
bool
);
91
94
virtual
bool
isUserControllable()
const
;
95
98
virtual
void
setIsPersistent(
bool
per);
99
102
virtual
bool
isPersistent()
const
;
103
106
virtual
bool
isOnDriverSelectionList()
const
;
107
110
virtual
void
setOnDriverSelectionList(
bool
);
111
114
bool
objectFromAgentManager(
const
DtUniqueID
&
id
)
const
;
115
116
protected
:
117
121
void
applyChangesAndDelete(
DtElementChanges
* changes);
122
124
void
reportElementCreated(
DtElementID
id
,
DtElementID
parentId,
125
DtElementEntry::ElementType
type
);
126
129
void
reportElementAttribute(
DtElementID
id
,
DtElementAttribute
* attribute);
130
132
void
reportElementDestroyed(
DtElementID
id
);
133
136
void
start
();
137
140
void
stop();
141
145
bool
tick();
146
151
virtual
bool
onStart() = 0;
152
157
virtual
bool
onStop() = 0;
158
162
virtual
bool
onTick() = 0;
163
166
virtual
void
slot_displayEngineAdded(
const
DtDeRecord
& igRecord);
167
172
virtual
void
setInstanceName(
const
std::string
&
name
);
173
177
virtual
void
installAccessories();
178
182
virtual
void
uninstallAccessories();
183
184
protected
:
185
186
DtAgentManager
&
myAgentManager
;
187
bool
myStartedFlag
;
188
std::string
myName
;
189
DtConfiguration
myConfiguration
;
190
191
bool
myPersistentFlag
;
192
bool
myUserControllableFlag
;
193
bool
myRequestStateDiffPendingFlag
;
194
DtElementChanges
myChanges
;
195
196
};
197
198
201
class
DT_DLL_VRVCORE
DtDriverCreator
202
{
203
public
:
204
206
DtDriverCreator
();
207
209
virtual
~
DtDriverCreator
();
210
214
virtual
const
std::string
& extension()
const
= 0;
215
217
virtual
DtDriver
* create(
DtAgentManager
& agentManager,
218
const
std::string
& instanceName)
const
= 0;
219
};
220
221
}
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (
www.mak.com
)