VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtPostProcessorFactory.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2014 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 
15 #include <list>
16 #include <string>
17 
18 namespace makVrv
19 {
20  class DtPostProcessorCreator;
21  class DtPostProcessor;
22 
27  {
28  public:
29 
31  static DtPostProcessorFactory& instance(DtDe& de);
32 
34  virtual ~DtPostProcessorFactory();
35 
37  virtual void addCreator( const std::string& postProcessorType,
38  DtPostProcessorCreator* creator);
39 
42  virtual void postProcessorTypesSupported(
43  std::list<std::string>& postProcessorTypes) const;
44 
47  virtual DtPostProcessor* createPostProcessor(
48  const std::string& postProcessType) const;
49 
52  void registerEffect(std::string postProcessor,
53  std::string effectName,
55 
57  DtObserverSettingsManager::ObserverSetting observerSettingIdForEffect(
58  std::string& effectName);
59 
61  std::string effectForObserverSettingId(
63 
64  bool setOrder(std::list<std::string>& postList);
65 
67  bool hasPostProcessor(const std::string& processorType);
68 
71  bool addPostProcessorAtEnd(const std::string& processorType);
72 
75  bool addPostProcessorBefore(const std::string& processorType,
76  const std::string& beforeType);
77 
80  bool addPostProcessorAfter(const std::string& processorType,
81  const std::string& afterType);
82 
84  void moveDown(const std::string& processorType);
85 
87  void moveUp(const std::string& processorType);
88 
91  void removePostProcessor(const std::string& processorType);
92 
94  void removeAllPostProcessors();
95 
98  void printAllPostProcessors();
99 
100  typedef std::list<std::string> PostProcessorNameList;
101 
103  PostProcessorNameList& postProcessorNames();
104 
105  protected:
109 
111  bool canCreatePostProcessor(std::string& processorType);
112 
113  protected:
114  typedef boost::unordered_map<std::string, DtPostProcessorCreator*>
116  typedef boost::unordered_map<std::string, DtObserverSettingsManager::ObserverSetting>
118  typedef boost::unordered_map<DtObserverSettingsManager::ObserverSetting, std::string>
120 
122 
123  // This is the order in which the post effects are created
124  // and executed
126 
129 
131  };
132 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)