VR-Forces 4.3.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrfGuiCore
sharedModelSet.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2013 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
8
10
11
#pragma once
12
13
#include <
vrfGuiCore/vrfGuiCore.h
>
14
#include <
vrvCore/DtSharedSettings.h
>
15
#include <vlutil/vlFilename.h>
16
#include <
vrfutil/rwProperties.h
>
17
#include <
vrfutil/rwDIGuyCharacterInfo.h
>
18
#include <
vrvUtil/event_signal.h
>
19
#include <
vrvCore/DtStateView.h
>
20
#include <
vrvCore/DtEntityState.h
>
21
22
#include <map>
23
24
class
DtModelSet
;
25
class
DtModelSetEntry
;
26
class
DtRwNLengthStringVector
;
27
class
DtVrfObjectParameters
;
28
29
namespace
makVrf
30
{
31
class
DtEntityMapperKey;
32
35
class
DT_DLL_VRFGUICORE
DtSharedModelSet
:
public
makVrv::DtSharedSettings
36
{
37
public
:
38
39
public
:
42
friend
class
makVrv::DtReadSettingsLock
<
DtSharedModelSet
>;
43
friend
class
makVrv::DtWriteSettingsLock
<
DtSharedModelSet
>;
44
friend
class
makVrv::DtSharedSettingsManager
;
45
49
static
std::string className();
50
52
virtual
~
DtSharedModelSet
();
53
55
virtual
void
setModelSet(
DtModelSet
*);
56
58
virtual
void
clearModelSet();
59
61
virtual
bool
load(
const
DtFilename&);
62
64
virtual
bool
loadFromDataFiles(
const
DtFilename& entities,
const
DtFilename& platforms);
65
67
virtual
void
mergeFavorites(
const
DtModelSet
* f);
68
70
virtual
DtEntityType nameToType(
const
DtString
&)
const
;
71
73
virtual
DtModelSetEntry
* modelSetEntry(
const
DtEntityMapperKey
& key)
const
;
74
76
virtual
DtModelSetEntry
* exactModelSetEntry(
const
DtEntityMapperKey
& key)
const
;
77
79
virtual
bool
canHoldSubordinates(
const
DtEntityMapperKey
& key)
const
;
80
82
virtual
DtModelSetEntry
* addModelSetEntry(
const
DtString
& label,
const
DtEntityMapperKey
&,
83
const
DtRwNLengthStringVector
& cats);
84
86
virtual
void
removeModelSetEntry(
const
DtEntityMapperKey
& e);
87
89
virtual
std::string nameFor(
const
DtEntityMapperKey
&)
const
;
90
92
virtual
std::string keywordsFor(
const
DtEntityMapperKey
&)
const
;
93
95
virtual
DtModelSet
* modelSet()
const
;
96
98
virtual
void
statePropertiesFor(
const
DtEntityType&,
DtRwProperties
&)
const
;
99
101
virtual
void
parameterPropertiesFor(
const
DtEntityType&,
DtRwProperties
&);
102
106
virtual
void
parameterPropertiesFor(
107
const
std::set<
const
makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>
*>& states,
DtRwProperties
&);
108
110
virtual
boost::shared_ptr<DtReaderWriter> rwProperty(
const
DtEntityType&,
const
std::string& prop)
const
;
111
113
virtual
void
loadPlatforms(
const
DtString
&);
114
116
virtual
void
clearPlatforms();
117
119
virtual
DtRwDIGuyCharacterInfo
getDIGuyCharacterInformation(
const
DtEntityMapperKey
&);
120
122
virtual
DtVrfObjectParameters
* lookupParametersFor(
DtModelSetEntry
* entry);
123
124
protected
:
125
DtSharedModelSet
(
makVrv::DtSharedSettingsManager
&);
126
127
protected
:
128
DtModelSet
*
myModelSet
;
129
typedef
std::map<std::string, boost::shared_ptr<DtReaderWriter> >
PropertiesMap
;
130
131
struct
PlatformStruct
132
{
133
PropertiesMap
properties
;
134
DtVrfObjectParameters
*
parameters
;
135
};
136
137
typedef
std::map<DtString, PlatformStruct>
PlatformsMap
;
138
PlatformsMap
myAvailablePlatforms
;
139
140
typedef
std::map<DtModelSetEntry*, DtVrfObjectParameters*>
ParameterData
;
143
ParameterData
myParameterData
;
144
145
DtReaderWriter::SearchPaths
mySearchPaths
;
146
};
147
149
class
DT_DLL_VRFGUICORE
DtSharedModelSetSignaler
:
public
makVrv::DtVirtualBaseClass
150
{
151
public
:
152
156
static
DtSharedModelSetSignaler
& instance(
const
makVrv::DtSharedSettingsManager
&);
157
160
static
DtSharedModelSetSignaler
& instance(
makVrv::DtEventQueueInterface
&);
161
165
static
DtSharedModelSetSignaler
* findInstance(
166
makVrv::DtEventQueueInterface
*);
167
169
virtual
~
DtSharedModelSetSignaler
();
170
172
makVrv::event_signal<void ()>
signal_modelSetLoaded
;
174
175
protected
:
176
DtSharedModelSetSignaler
(
makVrv::DtEventQueueInterface
& eqi);
177
178
private
:
179
DtSharedModelSetSignaler
(
const
DtSharedModelSetSignaler
&);
180
DtSharedModelSetSignaler
& operator=(
const
DtSharedModelSetSignaler
&);
181
};
182
}
Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)