VR-Forces 4.5 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) 2016 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
6 #pragma once
7 
11 
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 
85  bool addPostProcessorAtBeginning(const std::string& processorType);
86 
88  void moveDown(const std::string& processorType);
89 
91  void moveUp(const std::string& processorType);
92 
95  void removePostProcessor(const std::string& processorType);
96 
98  void removeAllPostProcessors();
99 
102  void printAllPostProcessors();
103 
104  typedef std::list<std::string> PostProcessorNameList;
105 
107  PostProcessorNameList& postProcessorNames();
108 
109  protected:
113 
115  bool canCreatePostProcessor(std::string& processorType);
116 
117  protected:
118  typedef boost::unordered_map<std::string, DtPostProcessorCreator*>
120  typedef boost::unordered_map<std::string, DtObserverSettingsManager::ObserverSetting>
122  typedef boost::unordered_map<DtObserverSettingsManager::ObserverSetting, std::string>
124 
126 
127  // This is the order in which the post effects are created
128  // and executed
130 
133 
135  };
136 }

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)