VR-Forces 4.5 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
vrvOsg
DtEffectControllerFactory.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2015 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
9
10
#pragma once
11
12
#include <
vrvOsg/vrvOsg.h
>
13
#include <
vrvUtil/DtVirtualBaseClass.h
>
14
15
#include <boost/unordered_map.hpp>
16
#include <string>
17
#include <vector>
18
19
namespace
makVrv
20
{
21
22
class
DtDe;
23
class
DtEffectControllerCreator;
24
class
DtOsgEffectTextureController;
25
class
DtOsgFileCache;
26
class
DtOsgShaderManager;
27
28
class
DT_DLL_VRVOSG
DtEffectControllerCreator
29
{
30
public
:
31
DtEffectControllerCreator
();
32
virtual
~
DtEffectControllerCreator
();
33
virtual
DtOsgEffectTextureController
* create(
const
DtOsgFileCache
& fileCache) = 0;
34
};
35
40
class
DT_DLL_VRVOSG
DtEffectControllerFactory
:
public
DtVirtualBaseClass
41
{
42
public
:
43
45
static
DtEffectControllerFactory
& instance(
DtDe
& de);
46
47
static
void
registerInstance(
DtDe
& de,
DtEffectControllerFactory
* anInstance);
48
50
virtual
~
DtEffectControllerFactory
();
51
54
virtual
void
registerCreator(
const
std::string& name,
DtEffectControllerCreator
* creator);
55
57
virtual
DtOsgEffectTextureController
* create(
const
std::string& name,
const
DtOsgFileCache
& fileCache)
const
;
58
59
typedef
std::vector<DtOsgEffectTextureController*>
ControllerVec
;
60
62
virtual
ControllerVec
createAll(
const
DtOsgFileCache
& fileCache)
const
;
63
64
protected
:
67
DtEffectControllerFactory
(
DtDe
& de);
68
69
protected
:
70
typedef
boost::unordered_map<std::string, DtEffectControllerCreator*>
RegistrationMap
;
71
72
DtDe
&
myDe
;
73
RegistrationMap
myCreators
;
74
};
75
}
Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (
www.mak.com
)