VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtPostProcessManager.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 
13 
15 
16 namespace makVrv
17 {
18  class DtPostProcessor;
19  class DtOsgChannel;
20  class DtObserverObject;
21 
26  {
27  public:
28 
30 
31  virtual ~DtPostProcessManager();
32 
35  virtual void update(DtChannel *inChannel);
36 
38  bool hasPostProcessor(DtChannel* channel, const std::string& processorType);
39 
41 
42  bool enablePostProcessor(DtChannel* channel, const std::string& processorType);
43  bool disablePostProcessor(DtChannel* channel, const std::string& processorType);
45 
47  bool hasEffect(DtChannel* channel, const std::string& effect);
48 
50 
51  bool enableEffect(DtChannel* channel, const std::string& effect);
52  bool disableEffect(DtChannel* channel, const std::string& effect);
54 
56 
57  bool enableEffects(DtChannel* channel, EffectNameList& effectPostList);
58  bool disableEffects(DtChannel* channel, EffectNameList& effectPostList);
60 
61  protected:
63  virtual void slot_channelCreated(DtChannelManager* channelManager,
64  DtChannel* channel);
65 
68  virtual void slot_channelDestroyed(DtChannelManager* channelManager,
69  DtChannel* channel);
70 
72  virtual void slot_observerSettingChanged( DtObserverObject* observer,
73  int setting, bool value );
74 
77  bool setPostProcessorEnable(DtChannel* channel,
78  const std::string& processorType, bool enabled);
79 
81  bool setEffectEnable(DtChannel* channel,
82  const std::string& effect, bool enabled);
83 
85  DtPostProcessor* postProcessorFromType(DtChannel* channel, const std::string& type);
86 
89  DtPostProcessor* postProcessorFromEffect(DtChannel* channel, const std::string& effect);
90 
93  void deletePostProcessorMaps(DtChannel *channel);
94 
95 
96  protected:
98 
99  // Per channel { "myeffect", DtPostProcessor* }
100  typedef std::map<std::string, DtPostProcessor*> EffectToPostProcessorMap;
101  typedef boost::unordered_map<DtChannel*, EffectToPostProcessorMap> ChannelEffectToPostMap;
102 
103  // Per channel { "myPostProcessorType", DtPostProcessor* } in order
104  typedef std::map<std::string, DtPostProcessor*> ProcessorTypeToPostProcessorMap;
105  typedef boost::unordered_map<DtChannel*, ProcessorTypeToPostProcessorMap> ChannelTypeToPostMap;
106 
107  // per channel map of post processor effect names and the
108  // corresponding DtPostProcessor*
110 
111  // per channel map of post processor type names and the
112  // corresponding DtPostProcessor*
114 
115  //typedef std::vector<std::string>
116  };
117 
119  {
120  public:
121 
124  virtual DtPostProcessManagerInterface* create(DtDe& de);
125  };
126 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)