Overte C++ Documentation
workload/src/workload/Engine.h
1 //
2 // Engine.h
3 // libraries/workload/src/workload
4 //
5 // Created by Andrew Meadows 2018.02.08
6 // Copyright 2018 High Fidelity, Inc.
7 //
8 // Originally from lighthouse3d. Modified to utilize glm::vec3 and clean up to our coding standards
9 // Simple plane class.
10 //
11 // Distributed under the Apache License, Version 2.0.
12 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
13 //
14 
15 #ifndef hifi_workload_Engine_h
16 #define hifi_workload_Engine_h
17 
18 #include <QtCore/QObject>
19 #include <QLoggingCategory>
20 
21 #include <task/Task.h>
22 
23 #include "Space.h"
24 
25 namespace workload {
26  class WorkloadContext : public task::JobContext {
27  public:
28  WorkloadContext(const SpacePointer& space);
29  virtual ~WorkloadContext() {}
30 
31  SpacePointer _space;
32  };
33 
34  using WorkloadContextPointer = std::shared_ptr<WorkloadContext>;
35 
36  Task_DeclareCategoryTimeProfilerClass(WorkloadTimeProfiler, trace_workload);
37 
38  // Instanciate the specialized types of Job Engine and Task for the Workload context
39  Task_DeclareTypeAliases(WorkloadContext, WorkloadTimeProfiler)
40  using EnginePointer = std::shared_ptr<Engine>;
41 } // namespace workload
42 
43 #endif // hifi_workload_Space_h