VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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>
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 
29  {
30  public:
32  virtual ~DtEffectControllerCreator();
33  virtual DtOsgEffectTextureController* create(
34  DtOsgFileCache& fileCache,
35  DtOsgShaderManager& shaderMgr,
36  DtDe& de) = 0;
37  };
38 
44  {
45  public:
46 
48  static DtEffectControllerFactory& instance(DtDe& de);
49 
50  static void registerInstance(DtDe& de, DtEffectControllerFactory* anInstance);
51 
53  virtual ~DtEffectControllerFactory();
54 
57  virtual void registerCreator(const std::string& name, DtEffectControllerCreator* creator);
58 
60  virtual DtOsgEffectTextureController* create(
61  const std::string& name,
62  DtOsgFileCache& fileCache,
63  DtOsgShaderManager& shaderMgr) const;
64 
65  typedef std::vector<DtOsgEffectTextureController*> ControllerVec;
66 
68  virtual ControllerVec createAll(
69  DtOsgFileCache& fileCache,
70  DtOsgShaderManager& shaderMgr) const;
71 
72  protected:
76 
77  protected:
78  typedef boost::unordered_map<std::string, DtEffectControllerCreator*> RegistrationMap;
79 
82  };
83 }

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)