VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtPostProcessManagerInterface.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2016 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
15 
16 namespace makVrv
17 {
18  class DtChannel;
19  class DtChannelManager;
24  {
25  public:
27  typedef std::list<std::string> EffectNameList;
28 
31 
33  static DtPostProcessManagerInterface& instance(DtDe& de);
34 
36  static std::string theClassName();
37 
40  void setPostProcessorsEnabled(bool enable);
41 
43  bool postProcessorsEnabled() const;
44 
46  virtual void update(DtChannel *channel) = 0;
47 
49  virtual bool enableEffects(DtChannel* channel, EffectNameList& effectPostList) = 0;
50 
52  virtual bool disableEffects(DtChannel* channel, EffectNameList& effectPostList) = 0;
53 
54  protected:
57 
60 
63  virtual void slot_channelCreated(DtChannelManager* channelManager, DtChannel* channel) = 0;
64 
67  virtual void slot_channelDestroyed(DtChannelManager* channelManager, DtChannel* channel) = 0;
68 
69  protected:
70  // For listening for channel creation
72 
74 
75  // Enable or disable the post processor chain from running
76  // NOTE: This does not change whether individual post effects
77  // are enabled or whether the channel has enabled or disabled effects
79  };
80 
84  {
85  public:
87  static DtPostProcessManagerInterfaceCreator& instance(DtDe& de);
88 
90  static void registerInstance(DtDe& de, DtPostProcessManagerInterfaceCreator* instance);
91 
93  virtual DtPostProcessManagerInterface* create(DtDe& de) = 0;
94  };
95 }

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)