VR-Vantage API Documentation
Home
Modules
Namespaces
Classes
Files
Libraries
Examples
Tutorials
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrvCore
DtScene.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2013 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
9
10
#pragma once
11
12
#include <
vrvCore/vrvCore.h
>
13
#include <
vrvUtil/DtVirtualBaseClass.h
>
14
#include <
vrvCore/DtUniqueID.h
>
15
16
#include <boost/signal.hpp>
17
18
#include <string>
19
#include <vector>
20
21
namespace
makArchives
22
{
23
class
DtSceneRecord;
24
class
DtTerrainRecord;
25
class
DtEnvironmentRecord;
26
class
DtDateTimeRecord;
27
}
28
29
namespace
makVrv
30
{
31
class
DtAgentManagerInterface;
32
class
DtDe;
33
class
DtEnvironment;
34
class
DtFeature;
35
class
DtProp;
36
class
DtSceneSignaler;
37
class
DtTerrain;
38
class
DtTerrainLayer;
39
class
DtStreamedFeatureManager;
40
43
class
DT_DLL_VRVCORE
DtScene
44
{
45
public
:
46
48
DtScene
(
DtDe
& de,
DtAgentManagerInterface
& agentManager);
49
51
virtual
~
DtScene
();
52
54
55
inline
DtTerrain
&
terrain
() {
return
*myTerrain; }
56
inline
const
DtTerrain
&
terrain
()
const
{
return
*myTerrain; }
58
60
void
getRecord(
makArchives::DtSceneRecord
& record)
const
;
61
63
void
setFromRecord(
const
makArchives::DtSceneRecord
& record);
64
70
bool
saveTerrain(
const
std::string
& filePath,
bool
saveAs =
true
);
71
73
bool
loadTerrain(
const
std::string
& filePath );
74
76
bool
loadTerrain(
const
makArchives::DtTerrainRecord
& terrainRecord );
77
79
80
inline
DtEnvironment
&
environment
() {
return
*myEnvironment; }
81
inline
const
DtEnvironment
&
environment
()
const
{
return
*myEnvironment; }
83
89
bool
saveEnvironment(
const
std::string
& filePath,
bool
saveAs =
true
);
90
92
bool
loadEnvironment(
const
std::string
& filePath );
93
95
bool
loadEnvironment(
const
makArchives::DtEnvironmentRecord
& envRecord );
96
98
bool
loadDateAndTime(
const
makArchives::DtDateTimeRecord
& dateTimeRecord );
99
101
virtual
void
resetScene();
102
104
virtual
void
resetTerrain();
105
107
108
110
typedef
std::vector<DtProp*>
ScenePropReferences
;
111
113
virtual
void
getScenePropReferences(
ScenePropReferences
&
props
);
114
117
virtual
DtProp
* findProp(
DtElementID
id
);
118
121
virtual
bool
destroyProp(
DtElementID
id
);
122
124
126
virtual
DtFeature
* findFeature(
DtElementID
id
);
127
130
virtual
bool
destroyFeature(
DtElementID
id
);
131
133
const
std::string
& terrainFileName()
const
;
134
136
const
std::string
& enviromentFileName()
const
;
137
138
DtStreamedFeatureManager
*
const
streamedFeatureManager()
const
;
139
DtStreamedFeatureManager
* streamedFeatureManager();
140
141
protected
:
142
143
void
copyPropReferences(
DtTerrainLayer
* patch,
DtScene::ScenePropReferences
&spRefs );
144
145
protected
:
146
DtDe
&
myDe
;
147
148
DtTerrain
*
myTerrain
;
149
DtEnvironment
*
myEnvironment
;
150
DtSceneSignaler
&
mySignaler
;
151
DtStreamedFeatureManager
*
myStreamedFeatureManager
;
152
153
std::string
myTerrainFileName
;
154
std::string
myEnviromentFileName
;
155
};
156
159
class
DT_DLL_VRVCORE
DtSceneSignaler
:
public
DtVirtualBaseClass
160
{
161
public
:
162
164
static
DtSceneSignaler
& instance(
DtDe
& de);
165
167
virtual
~
DtSceneSignaler
();
168
170
boost::signal<void ()>
signal_sceneCreated
;
171
173
boost::signal<void (DtScene&)>
signal_sceneToBeCleared
;
174
176
boost::signal<void (DtScene&)>
signal_sceneCleared
;
177
179
boost::signal<void ()>
signal_sceneToBeDeleted
;
180
181
protected
:
182
183
DtSceneSignaler
();
184
185
};
186
}
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)