VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtOsgPostProcessManager.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 
13 
14 namespace makVrv
15 {
16  class DtPostProcessor;
17  class DtOsgChannel;
18 
23  {
24  public:
25 
27 
28  virtual ~DtOsgPostProcessManager();
29 
32  virtual void update(DtChannel *inChannel);
33 
35  bool hasPostProcessor(DtChannel* channel, const std::string& processorType);
36 
38 
39  bool enablePostProcessor(DtChannel* channel, const std::string& processorType);
40  bool disablePostProcessor(DtChannel* channel, const std::string& processorType);
42 
44  bool hasEffect(DtChannel* channel, const std::string& effect);
45 
47 
48  bool enableEffect(DtChannel* channel, const std::string& effect);
49  bool disableEffect(DtChannel* channel, const std::string& effect);
51 
53 
54  bool enableEffects(DtChannel* channel, EffectNameList& effectPostList);
55  bool disableEffects(DtChannel* channel, EffectNameList& effectPostList);
57 
58  protected:
60  virtual void slot_channelCreated(DtChannelManager* channelManager,
61  DtChannel* channel);
62 
65  virtual void slot_channelDestroyed(DtChannelManager* channelManager,
66  DtChannel* channel);
67 
70  bool setPostProcessorEnable(DtChannel* channel,
71  const std::string& processorType, bool enabled);
72 
74  bool setEffectEnable(DtChannel* channel,
75  const std::string& effect, bool enabled);
76 
78  DtPostProcessor* postProcessorFromType(DtChannel* channel, const std::string& type);
79 
82  DtPostProcessor* postProcessorFromEffect(DtChannel* channel, const std::string& effect);
83 
86  void deletePostProcessorMaps(DtChannel *channel);
87 
88  protected:
90 
91  // Per channel { "myeffect", DtPostProcessor* }
92  typedef std::map<std::string, DtPostProcessor*> EffectToPostProcessorMap;
93  typedef boost::unordered_map<DtChannel*, EffectToPostProcessorMap> ChannelEffectToPostMap;
94 
95  // Per channel { "myPostProcessorType", DtPostProcessor* } in order
96  typedef std::map<std::string, DtPostProcessor*> ProcessorTypeToPostProcessorMap;
97  typedef boost::unordered_map<DtChannel*, ProcessorTypeToPostProcessorMap> ChannelTypeToPostMap;
98 
99  // per channel map of post processor effect names and the
100  // corresponding DtPostProcessor*
102 
103  // per channel map of post processor type names and the
104  // corresponding DtPostProcessor*
106 
107  //typedef std::vector<std::string>
108  };
109 
111  {
112  public:
113 
116  virtual DtPostProcessManager* create(DtDe& de);
117  };
118 }

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)