-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathvtkRenciRenderWindowManager.h
81 lines (60 loc) · 2.73 KB
/
vtkRenciRenderWindowManager.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*=========================================================================
Name: vtkRenciRenderWindowManager.h
Author: David Borland, The Renaissance Computing Institute (RENCI)
Copyright: The Renaissance Computing Institute (RENCI)
License: Licensed under the RENCI Open Source Software License v. 1.0.
See included License.txt or
http://www.renci.org/resources/open-source-software-license
for details.
=========================================================================*/
// .NAME vtkRenciRenderWindowManager
// .SECTION Description
// vtkRenciRenderWindowManager is a subclass of
// vtkMultiChannelRenderWindowManager that handles setting up rendering
// for the Dome and TeleImmersion visualization spaces at the RENCI
// Engagement Center at UNC-Chapel Hill, and the head-mounted display
// unit at the UNC-Chapel Hill Computer Science department.
// .SECTION see also
// vtkRenderWindow vtkMultiChannelRenderWindowHelper
// vtkRenderWindowChannel
#ifndef __vtkRenciRenderWindowManager_h
#define __vtkRenciRenderWindowManager_h
#include "vtkMultiChannelConfigure.h"
#include "vtkMultiChannelRenderWindowManager.h"
class VTK_MULTICHANNEL_EXPORT vtkRenciRenderWindowManager : public vtkMultiChannelRenderWindowManager
{
public:
static vtkRenciRenderWindowManager *New();
vtkTypeRevisionMacro(vtkRenciRenderWindowManager,vtkMultiChannelRenderWindowManager);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Parses argc and argv from a command line to setup render modes
// Usage: -Dome
// -DomePitch pitch
// -TeleImmersionHD
// -TeleImmersion4K
// -UncHmd
vtkRenderWindow *GetRenciRenderWindow(int argc, char* argv[]);
// Description:
// Window for the 4-channel immersive dome
vtkRenderWindow *GetDomeRenderWindow(double domePitch = 90.0);
// Description:
// Window for 2-channel HD stereo mode in the TeleImmersion room
vtkRenderWindow *GetTeleImmersionHDRenderWindow();
// Description:
// Window for 2-channel 4K stereo mode in the TeleImmersion room
vtkRenderWindow *GetTeleImmersion4KRenderWindow();
// Description:
// Window for 2-channel head-mounted display at UNC Computer Science
vtkRenderWindow *GetUncHmdRenderWindow();
protected:
vtkRenciRenderWindowManager();
~vtkRenciRenderWindowManager();
void AddDomeChannel(double x1, double y1, double x2, double y2,
double domePitch, double yaw);
void PositionWindow(vtkRenderWindow*, int width, int height);
private:
vtkRenciRenderWindowManager(const vtkRenciRenderWindowManager&); // Not implemented.
void operator=(const vtkRenciRenderWindowManager&); // Not implemented.
};
#endif