Emergency 20 Dokumentation  4.2.0
SupervisorCompositorWorkspaceConfigurator.h
Go to the documentation of this file.
1 // Copyright (C) 2012-2018 Promotion Software GmbH
2 
3 
4 //[-------------------------------------------------------]
5 //[ Header guard ]
6 //[-------------------------------------------------------]
7 #pragma once
8 
9 
10 //[-------------------------------------------------------]
11 //[ Includes ]
12 //[-------------------------------------------------------]
13 #include <qsf/job/JobProxy.h>
15 
16 
17 //[-------------------------------------------------------]
18 //[ Forward declarations ]
19 //[-------------------------------------------------------]
20 namespace Ogre
21 {
22  class Camera;
23  class CompositorManager2;
24 }
25 namespace qsf
26 {
27  class Map;
28  class JobArguments;
29  class RendererSettingsGroup;
30  class ParameterGroup;
31  namespace compositing
32  {
34  }
35 }
36 
37 
38 //[-------------------------------------------------------]
39 //[ Namespace ]
40 //[-------------------------------------------------------]
41 namespace em5
42 {
43 
44 
45  //[-------------------------------------------------------]
46  //[ Classes ]
47  //[-------------------------------------------------------]
59  {
60 
61 
62  //[-------------------------------------------------------]
63  //[ Public methods ]
64  //[-------------------------------------------------------]
65  public:
70  explicit SupervisorCompositorWorkspaceConfigurator(qsf::CompositorWorkspaceConfiguratorManager* compositorWorkspaceConfiguratorManager);
71 
77 
78 
79  //[-------------------------------------------------------]
80  //[ Public virtual qsf::CompositorWorkspaceConfigurator methods ]
81  //[-------------------------------------------------------]
82  public:
83  virtual std::string getCompositorWorkspaceDefinitionName() const override;
84  virtual void configureCompositorWorkspace() override;
85  virtual void workspacePreUpdate(Ogre::CompositorWorkspace& ogreCompositorWorkspace) override;
86  virtual void passPreExecute(Ogre::CompositorPass& ogreCompositorPass) override;
87 
88 
89  //[-------------------------------------------------------]
90  //[ Private methods ]
91  //[-------------------------------------------------------]
92  private:
102  void onSettingsGroupPropertyChanged(const qsf::ParameterGroup& parameterGroup, uint32 propertyId);
103 
104  void updateAnimationJob(const qsf::JobArguments& jobArguments);
105 
106 
107  //[-------------------------------------------------------]
108  //[ Private data ]
109  //[-------------------------------------------------------]
110  private:
111  const qsf::compositing::CompositingSettingsGroup& mCompositingSettingsGroup;
112  Ogre::CompositorManager2* mOgreCompositorManager2;
113  qsf::RendererSettingsGroup& mRendererSettingsGroup;
114 
115  // Heat compositor
116  qsf::JobProxy mAnimationUpdateJobProxy;
117  float mAnimationTimer;
118 
119 
120  //[-------------------------------------------------------]
121  //[ CAMP reflection system ]
122  //[-------------------------------------------------------]
123  QSF_CAMP_RTTI() // Only adds the virtual method "campClassId()", nothing more
124 
125 
126  };
127 
128 
129 //[-------------------------------------------------------]
130 //[ Namespace ]
131 //[-------------------------------------------------------]
132 } // em5
133 
134 
135 //[-------------------------------------------------------]
136 //[ CAMP reflection system ]
137 //[-------------------------------------------------------]
Definition: ActionPriority.h:13
SupervisorCompositorWorkspaceConfigurator(qsf::CompositorWorkspaceConfiguratorManager *compositorWorkspaceConfiguratorManager)
Constructor.
Job proxy class.
Definition: JobProxy.h:51
Abstract parameter group class.
Definition: ParameterGroup.h:31
EMERGENCY 5 supervisor compositor workspace configurator pluginable.
Definition: SupervisorCompositorWorkspaceConfigurator.h:58
unsigned int uint32
Definition: PlatformTypes.h:181
Compositor workspace configurator pluginable manager.
Definition: CompositorWorkspaceConfiguratorManager.h:60
Abstract compositor workspace configurator pluginable.
Definition: CompositorWorkspaceConfigurator.h:40
virtual void workspacePreUpdate(Ogre::CompositorWorkspace &ogreCompositorWorkspace) override
Job arguments class: holds data to be passed to the called job method by the job manager.
Definition: JobArguments.h:40
Definition: PickupPersonByParamedicAction.h:21
virtual void passPreExecute(Ogre::CompositorPass &ogreCompositorPass) override
#define QSF_CAMP_RTTI()
Only adds the virtual method "campClassId()", nothing more.
Definition: CampClass.h:75
virtual void configureCompositorWorkspace() override
#define QSF_CAMP_TYPE_NONCOPYABLE(type)
See "CAMP_TYPE_NONCOPYABLE" for details.
Definition: CampClass.h:112
QSF compositing settings group implementation.
Definition: CompositingSettingsGroup.h:42
virtual std::string getCompositorWorkspaceDefinitionName() const override
Return the name of the compositor workspace definition to use.
Renderer settings group implementation.
Definition: RendererSettingsGroup.h:42
Definition: BuildingClippingManager.h:23
virtual ~SupervisorCompositorWorkspaceConfigurator()
Destructor.