VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEffectControllerFactory.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
15 
16 #include <unordered_map>
17 #include <string>
18 #include <vector>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtEffectControllerCreator;
24  class DtOsgEffectTextureController;
25  class DtOsgShaderManager;
26 
32  {
33  public:
34 
36  static DtEffectControllerFactory& instance(DtDe& de);
37 
38  static void registerInstance(DtDe& de, DtEffectControllerFactory* anInstance);
39 
41  virtual ~DtEffectControllerFactory();
42 
45  virtual void registerCreator(const std::string& name, DtEffectControllerCreator* creator);
46 
48  virtual DtOsgEffectTextureController* create(const std::string& name) const;
49 
50  typedef std::vector<DtOsgEffectTextureController*> ControllerVec;
51 
53  virtual ControllerVec createAll() const;
54 
55  protected:
59 
60  protected:
61  typedef std::unordered_map<std::string, DtEffectControllerCreator*> RegistrationMap;
62 
65  };
66 }
std::unordered_map< std::string, DtEffectControllerCreator * > RegistrationMap
Definition: DtEffectControllerFactory.h:61
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
RegistrationMap myCreators
Definition: DtEffectControllerFactory.h:64
DtDe & myDe
Definition: DtEffectControllerFactory.h:63
std::vector< DtOsgEffectTextureController * > ControllerVec
Definition: DtEffectControllerFactory.h:50
Contains makVrv::DtEffectControllerCreatorTemplate class.
Contains makVrv::DtVirtualBaseClass class.
Base class for controllers that install and control effect textures.
Definition: DtOsgEffectTextureController.h:44
Definition: DtEffectControllerCreator.h:14
The scene object creators are registered with the scene object factory for accessing DtSceneObjectCre...
Definition: DtEffectControllerFactory.h:31
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)