VR-Forces 4.10 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) 2020 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;
20 
25  {
26  public:
28  typedef std::list<std::string> EffectNameList;
29 
32 
34  static DtPostProcessManagerInterface& instance(DtDe& de);
35 
37  static std::string theClassName();
38 
41  void setPostProcessorsEnabled(bool enable);
42 
44  bool postProcessorsEnabled() const;
45 
47  virtual void update(DtChannel *channel) = 0;
48 
50  virtual bool enableEffects(DtChannel* channel, EffectNameList& effectPostList) = 0;
51 
53  virtual bool disableEffects(DtChannel* channel, EffectNameList& effectPostList) = 0;
54 
55  protected:
58 
61 
64  virtual void slot_channelCreated(DtChannelManager* channelManager, DtChannel* channel) = 0;
65 
68  virtual void slot_channelDestroyed(DtChannelManager* channelManager, DtChannel* channel) = 0;
69 
70  protected:
71  // For listening for channel creation
73 
75 
76  // Enable or disable the post processor chain from running
77  // NOTE: This does not change whether individual post effects
78  // are enabled or whether the channel has enabled or disabled effects
80  };
81 
85  {
86  public:
88  static DtPostProcessManagerInterfaceCreator& instance(DtDe& de);
89 
91  static void registerInstance(DtDe& de, DtPostProcessManagerInterfaceCreator* instance);
92 
94  virtual DtPostProcessManagerInterface* create(DtDe& de) = 0;
95  };
96 }
Virtual base class.
Definition: DtVirtualBaseClass.h:19
This class provides the management of post processors and their post processing effects.
Definition: DtPostProcessManagerInterface.h:24
Creator for a DtPostProcessManagerInterface.
Definition: DtPostProcessManagerInterface.h:84
DtDe & myDe
Definition: DtPostProcessManagerInterface.h:74
DtSignalConnectionManager myConnections
Definition: DtPostProcessManagerInterface.h:72
The abstract Channel Class.
Definition: DtChannel.h:30
Contains makVrv::DtVirtualBaseClass class.
bool myEnablePostProcessors
Definition: DtPostProcessManagerInterface.h:79
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Base class for handling DtChannels.
Definition: DtChannelManager.h:32
Base class to provide boost signal/slot management.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
std::list< std::string > EffectNameList
List of effect names.
Definition: DtPostProcessManagerInterface.h:28
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)