Free Electron
ThreadedViewerI.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #pragma once
8 
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**
15  * Viewer that runs on it's own thread.
16  */
17 class FE_DL_EXPORT ThreadedViewerI :
18  virtual public ViewerI,
19  public CastableAs<ThreadedViewerI>
20 {
21 public:
22  /**
23  * Open the viewer window.
24  *
25  * The viewer will start in a separate thread.
26  *
27  * @param orchestrator The orchestrator determines the systems that get
28  * signalled by the render thread. It also provides
29  * a scope and dataset that we attach ourselves to.
30  */
31  virtual void open(sp<OrchestratorI> orchestrator) = 0;
32 
33  /**
34  * Close the viewer window.
35  *
36  * Kills the viewer thread.
37  */
38  virtual void close() = 0;
39 };
40 
41 } /* namespace ext */
42 } /* namespace fe */
Viewer that runs on it&#39;s own thread.
Definition: ThreadedViewerI.h:17
kernel
Definition: namespace.dox:3
Simple viewer interface.
Definition: ViewerI.h:22
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192