VTK  9.3.0
vtkRenderWindow.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
47 #ifndef vtkRenderWindow_h
48 #define vtkRenderWindow_h
49 
50 #include "vtkEventData.h" // for enums
51 #include "vtkNew.h" // For vtkNew
52 #include "vtkRenderingCoreModule.h" // For export macro
53 #include "vtkSmartPointer.h" // For vtkSmartPointer
54 #include "vtkWindow.h"
55 
56 VTK_ABI_NAMESPACE_BEGIN
57 class vtkFloatArray;
58 class vtkProp;
59 class vtkCollection;
60 class vtkMatrix4x4;
61 class vtkRenderTimerLog;
63 class vtkRenderer;
67 
68 // lets define the different types of stereo
69 #define VTK_STEREO_CRYSTAL_EYES 1
70 #define VTK_STEREO_RED_BLUE 2
71 #define VTK_STEREO_INTERLACED 3
72 #define VTK_STEREO_LEFT 4
73 #define VTK_STEREO_RIGHT 5
74 #define VTK_STEREO_DRESDEN 6
75 #define VTK_STEREO_ANAGLYPH 7
76 #define VTK_STEREO_CHECKERBOARD 8
77 #define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL 9
78 #define VTK_STEREO_FAKE 10
79 #define VTK_STEREO_EMULATE 11
80 
81 #define VTK_CURSOR_DEFAULT 0
82 #define VTK_CURSOR_ARROW 1
83 #define VTK_CURSOR_SIZENE 2
84 #define VTK_CURSOR_SIZENW 3
85 #define VTK_CURSOR_SIZESW 4
86 #define VTK_CURSOR_SIZESE 5
87 #define VTK_CURSOR_SIZENS 6
88 #define VTK_CURSOR_SIZEWE 7
89 #define VTK_CURSOR_SIZEALL 8
90 #define VTK_CURSOR_HAND 9
91 #define VTK_CURSOR_CROSSHAIR 10
92 #define VTK_CURSOR_CUSTOM 11
93 
94 class VTKRENDERINGCORE_EXPORT vtkRenderWindow : public vtkWindow
95 {
96 public:
97  vtkTypeMacro(vtkRenderWindow, vtkWindow);
98  void PrintSelf(ostream& os, vtkIndent indent) override;
99 
105  static vtkRenderWindow* New();
106 
110  virtual void AddRenderer(vtkRenderer*);
111 
116 
121 
125  static const char* GetRenderLibrary();
126 
130  virtual const char* GetRenderingBackend();
131 
136 
140  vtkRendererCollection* GetRenderers() { return this->Renderers; }
141 
150 
152 
155  vtkGetMacro(CapturingGL2PSSpecialProps, int);
157 
162  void Render() override;
163 
167  virtual void Start() {}
168 
172  virtual void End(){};
173 
177  virtual void Finalize() {}
178 
183  virtual void Frame() {}
184 
189  virtual void WaitForCompletion() {}
190 
195  virtual void CopyResultFrame();
196 
203 
205 
211  virtual void HideCursor() {}
212  virtual void ShowCursor() {}
213  virtual void SetCursorPosition(int, int) {}
215 
217 
220  vtkSetMacro(CurrentCursor, int);
221  vtkGetMacro(CurrentCursor, int);
223 
225 
229  vtkSetFilePathMacro(CursorFileName);
230  vtkGetFilePathMacro(CursorFileName);
232 
234 
237  virtual void SetFullScreen(vtkTypeBool) {}
238  vtkGetMacro(FullScreen, vtkTypeBool);
239  vtkBooleanMacro(FullScreen, vtkTypeBool);
241 
243 
248  vtkSetMacro(Borders, vtkTypeBool);
249  vtkGetMacro(Borders, vtkTypeBool);
250  vtkBooleanMacro(Borders, vtkTypeBool);
252 
254 
258  vtkGetMacro(StereoCapableWindow, vtkTypeBool);
259  vtkBooleanMacro(StereoCapableWindow, vtkTypeBool);
260  virtual void SetStereoCapableWindow(vtkTypeBool capable);
262 
264 
267  vtkGetMacro(StereoRender, vtkTypeBool);
269  vtkBooleanMacro(StereoRender, vtkTypeBool);
271 
273 
276  vtkSetMacro(AlphaBitPlanes, vtkTypeBool);
277  vtkGetMacro(AlphaBitPlanes, vtkTypeBool);
278  vtkBooleanMacro(AlphaBitPlanes, vtkTypeBool);
280 
282 
286  vtkSetMacro(PointSmoothing, vtkTypeBool);
287  vtkGetMacro(PointSmoothing, vtkTypeBool);
288  vtkBooleanMacro(PointSmoothing, vtkTypeBool);
290 
292 
296  vtkSetMacro(LineSmoothing, vtkTypeBool);
297  vtkGetMacro(LineSmoothing, vtkTypeBool);
298  vtkBooleanMacro(LineSmoothing, vtkTypeBool);
300 
302 
306  vtkSetMacro(PolygonSmoothing, vtkTypeBool);
307  vtkGetMacro(PolygonSmoothing, vtkTypeBool);
308  vtkBooleanMacro(PolygonSmoothing, vtkTypeBool);
310 
312 
333  vtkGetMacro(StereoType, int);
334  void SetStereoType(int);
335  void SetStereoTypeToCrystalEyes() { this->SetStereoType(VTK_STEREO_CRYSTAL_EYES); }
336  void SetStereoTypeToRedBlue() { this->SetStereoType(VTK_STEREO_RED_BLUE); }
337  void SetStereoTypeToInterlaced() { this->SetStereoType(VTK_STEREO_INTERLACED); }
338  void SetStereoTypeToLeft() { this->SetStereoType(VTK_STEREO_LEFT); }
339  void SetStereoTypeToRight() { this->SetStereoType(VTK_STEREO_RIGHT); }
340  void SetStereoTypeToDresden() { this->SetStereoType(VTK_STEREO_DRESDEN); }
341  void SetStereoTypeToAnaglyph() { this->SetStereoType(VTK_STEREO_ANAGLYPH); }
342  void SetStereoTypeToCheckerboard() { this->SetStereoType(VTK_STEREO_CHECKERBOARD); }
344  {
345  this->SetStereoType(VTK_STEREO_SPLITVIEWPORT_HORIZONTAL);
346  }
347  void SetStereoTypeToFake() { this->SetStereoType(VTK_STEREO_FAKE); }
348  void SetStereoTypeToEmulate() { this->SetStereoType(VTK_STEREO_EMULATE); }
350 
352 
355  const char* GetStereoTypeAsString();
356  static const char* GetStereoTypeAsString(int type);
358 
363  virtual void StereoUpdate();
364 
369  virtual void StereoMidpoint();
370 
375  virtual void StereoRenderComplete();
376 
378 
385  vtkSetClampMacro(AnaglyphColorSaturation, float, 0.0f, 1.0f);
386  vtkGetMacro(AnaglyphColorSaturation, float);
388 
390 
404  vtkSetVector2Macro(AnaglyphColorMask, int);
405  vtkGetVectorMacro(AnaglyphColorMask, int, 2);
407 
413  virtual void WindowRemap() {}
414 
416 
419  vtkSetMacro(SwapBuffers, vtkTypeBool);
420  vtkGetMacro(SwapBuffers, vtkTypeBool);
421  vtkBooleanMacro(SwapBuffers, vtkTypeBool);
423 
425 
437  virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, unsigned char* /*data*/,
438  int /*front*/, int /*right*/ = 0)
439  {
440  return 0;
441  }
442  virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
443  vtkUnsignedCharArray* /*data*/, int /*front*/, int /*right*/ = 0)
444  {
445  return 0;
446  }
448 
450 
457  virtual float* GetRGBAPixelData(
458  int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
459  {
460  return nullptr;
461  }
462  virtual int GetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
463  vtkFloatArray* /*data*/, int /*right*/ = 0)
464  {
465  return 0;
466  }
467  virtual int SetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float*, int /*front*/,
468  int /*blend*/ = 0, int /*right*/ = 0)
469  {
470  return 0;
471  }
472  virtual int SetRGBAPixelData(
473  int, int, int, int, vtkFloatArray*, int, int /*blend*/ = 0, int /*right*/ = 0)
474  {
475  return 0;
476  }
477  virtual void ReleaseRGBAPixelData(float* /*data*/) {}
478  virtual unsigned char* GetRGBACharPixelData(
479  int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
480  {
481  return nullptr;
482  }
483  virtual int GetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
484  vtkUnsignedCharArray* /*data*/, int /*right*/ = 0)
485  {
486  return 0;
487  }
488  virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
489  unsigned char* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
490  {
491  return 0;
492  }
493  virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
494  vtkUnsignedCharArray* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
495  {
496  return 0;
497  }
499 
501 
506  virtual float* GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/) { return nullptr; }
507  virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
508  {
509  return 0;
510  }
511  virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
512  {
513  return 0;
514  }
515  virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
516  {
517  return 0;
518  }
519  virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
520  {
521  return 0;
522  }
523  float GetZbufferDataAtPoint(int x, int y)
524  {
525  float value;
526  this->GetZbufferData(x, y, x, y, &value);
527  return value;
528  }
530 
532 
535  vtkGetMacro(NeverRendered, int);
537 
539 
543  vtkGetMacro(AbortRender, int);
544  vtkSetMacro(AbortRender, int);
545  vtkGetMacro(InAbortCheck, int);
546  vtkSetMacro(InAbortCheck, int);
547  virtual int CheckAbortStatus();
549 
556  virtual vtkTypeBool GetEventPending() { return 0; }
557 
561  virtual int CheckInRenderStatus() { return this->InRender; }
562 
566  virtual void ClearInRenderStatus() { this->InRender = 0; }
567 
569 
577  virtual void SetDesiredUpdateRate(double);
578  vtkGetMacro(DesiredUpdateRate, double);
580 
582 
588  vtkGetMacro(NumberOfLayers, int);
589  vtkSetClampMacro(NumberOfLayers, int, 1, VTK_INT_MAX);
591 
593 
596  vtkGetObjectMacro(Interactor, vtkRenderWindowInteractor);
598 
603 
608  void UnRegister(vtkObjectBase* o) override;
609 
611 
614  void SetDisplayId(void*) override {}
615  void SetWindowId(void*) override {}
616  virtual void SetNextWindowId(void*) {}
617  void SetParentId(void*) override {}
618  void* GetGenericDisplayId() override { return nullptr; }
619  void* GetGenericWindowId() override { return nullptr; }
620  void* GetGenericParentId() override { return nullptr; }
621  void* GetGenericContext() override { return nullptr; }
622  void* GetGenericDrawable() override { return nullptr; }
623  void SetWindowInfo(const char*) override {}
624  virtual void SetNextWindowInfo(const char*) {}
625  void SetParentInfo(const char*) override {}
627 
632  virtual bool InitializeFromCurrentContext() { return false; }
633 
635 
643  vtkGetObjectMacro(SharedRenderWindow, vtkRenderWindow);
644  virtual bool GetPlatformSupportsRenderWindowSharing() { return false; }
646 
651  virtual bool IsCurrent() { return false; }
652 
658  virtual void SetForceMakeCurrent() {}
659 
663  virtual const char* ReportCapabilities() { return "Not Implemented"; }
664 
668  virtual int SupportsOpenGL() { return 0; }
669 
673  virtual vtkTypeBool IsDirect() { return 0; }
674 
679  virtual int GetDepthBufferSize() { return 0; }
680 
685  virtual int GetColorBufferSizes(int* /*rgba*/) { return 0; }
686 
688 
692  virtual void SetMultiSamples(int);
693  vtkGetMacro(MultiSamples, int);
695 
697 
700  vtkSetMacro(StencilCapable, vtkTypeBool);
701  vtkGetMacro(StencilCapable, vtkTypeBool);
702  vtkBooleanMacro(StencilCapable, vtkTypeBool);
704 
706 
712  vtkSetMacro(DeviceIndex, int);
713  vtkGetMacro(DeviceIndex, int);
715 
719  virtual int GetNumberOfDevices() { return 0; }
720 
722 
726  vtkGetMacro(UseSRGBColorSpace, bool);
727  vtkSetMacro(UseSRGBColorSpace, bool);
728  vtkBooleanMacro(UseSRGBColorSpace, bool);
730 
736  virtual void GetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
737 
745  vtkEventDataDevice device, vtkMatrix4x4* deviceToWorldMatrix);
746 
747 protected:
749  ~vtkRenderWindow() override;
750 
751  virtual void DoStereoRender();
752 
757  int OldScreen[5];
772  int InRender;
777  int AnaglyphColorMask[2];
782 
785 
790 
792 
793 private:
794  vtkRenderWindow(const vtkRenderWindow&) = delete;
795  void operator=(const vtkRenderWindow&) = delete;
796 
797  vtkNew<vtkStereoCompositor> StereoCompositor;
798 };
799 
800 VTK_ABI_NAMESPACE_END
801 #endif
create and manipulate ordered lists of objects
Definition: vtkCollection.h:45
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:40
a simple class to control print indentation
Definition: vtkIndent.h:38
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:40
abstract base class for most VTK objects
Definition: vtkObjectBase.h:72
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:55
Asynchronously measures GPU execution times for a series of events.
platform-independent render window interaction including picking and frame rate control.
create a window for renderers to draw into
void SetStereoTypeToDresden()
Set/Get what type of stereo rendering to use.
virtual void SetDesiredUpdateRate(double)
Set/Get the desired update rate.
virtual void ReleaseRGBAPixelData(float *)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual int GetZbufferData(int, int, int, int, float *)
Set/Get the zbuffer data from the frame buffer.
void SetStereoType(int)
Set/Get what type of stereo rendering to use.
static const char * GetRenderLibrary()
What rendering library has the user requested.
virtual int SetRGBACharPixelData(int, int, int, int, unsigned char *, int, int=0, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual int SetZbufferData(int, int, int, int, float *)
Set/Get the zbuffer data from the frame buffer.
vtkRendererCollection * GetRenderers()
Return the collection of renderers in the render window.
void SetStereoTypeToRedBlue()
Set/Get what type of stereo rendering to use.
virtual float * GetRGBAPixelData(int, int, int, int, int, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
vtkNew< vtkRenderTimerLog > RenderTimer
void SetParentInfo(const char *) override
Dummy stubs for vtkWindow API.
virtual void Finalize()
Finalize the rendering process.
const char * GetStereoTypeAsString()
Returns the stereo type as a string.
vtkGetFilePathMacro(CursorFileName)
Set/Get the full path to the custom cursor.
virtual bool GetPlatformSupportsRenderWindowSharing()
Set/Get an already existing window that this window should share data with if possible.
double AbortCheckTime
The universal time since the last abort check occurred.
virtual int SetRGBAPixelData(int, int, int, int, float *, int, int=0, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual int SetPixelData(int, int, int, int, unsigned char *, int, int=0)
Set/Get the pixel data of an image, transmitted as RGBRGBRGB.
virtual void AddRenderer(vtkRenderer *)
Add a renderer to the list of renderers.
virtual void GetPhysicalToWorldMatrix(vtkMatrix4x4 *matrix)
Get physical to world transform matrix.
void * GetGenericDisplayId() override
Dummy stubs for vtkWindow API.
virtual void Frame()
A termination method performed at the end of the rendering process to do things like swapping buffers...
vtkTypeBool LineSmoothing
vtkRenderWindowInteractor * Interactor
void SetStereoTypeToFake()
Set/Get what type of stereo rendering to use.
virtual bool GetDeviceToWorldMatrixForDevice(vtkEventDataDevice device, vtkMatrix4x4 *deviceToWorldMatrix)
Store in deviceToWorldMatrix the matrix that goes from device coordinates to world coordinates.
virtual int GetZbufferData(int, int, int, int, vtkFloatArray *)
Set/Get the zbuffer data from the frame buffer.
float AnaglyphColorSaturation
vtkTypeBool FullScreen
virtual void HideCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
void SetStereoTypeToInterlaced()
Set/Get what type of stereo rendering to use.
void CaptureGL2PSSpecialProps(vtkCollection *specialProps)
The GL2PS exporter must handle certain props in a special way (e.g.
void * GetGenericWindowId() override
Dummy stubs for vtkWindow API.
vtkTypeBool HasRenderer(vtkRenderer *)
Query if a renderer is in the list of renderers.
virtual int GetRGBACharPixelData(int, int, int, int, int, vtkUnsignedCharArray *, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual unsigned char * GetRGBACharPixelData(int, int, int, int, int, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
float GetZbufferDataAtPoint(int x, int y)
Set/Get the zbuffer data from the frame buffer.
virtual void WaitForCompletion()
Block the thread until the actual rendering is finished().
virtual void StereoRenderComplete()
Handles work required once both views have been rendered when using stereo rendering.
virtual void SetStereoCapableWindow(vtkTypeBool capable)
Prescribe that the window be created in a stereo-capable mode.
virtual int SetPixelData(int, int, int, int, vtkUnsignedCharArray *, int, int=0)
Set/Get the pixel data of an image, transmitted as RGBRGBRGB.
vtkTypeBool PolygonSmoothing
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on,...
~vtkRenderWindow() override
virtual int GetDepthBufferSize()
This method should be defined by the subclass.
void SetStereoRender(vtkTypeBool stereo)
Turn on/off stereo rendering.
void SetStereoTypeToLeft()
Set/Get what type of stereo rendering to use.
virtual void SetFullScreen(vtkTypeBool)
Turn on/off rendering full screen window size.
virtual void SetNextWindowId(void *)
Dummy stubs for vtkWindow API.
virtual bool InitializeFromCurrentContext()
Initialize the render window from the information associated with the currently activated OpenGL cont...
void SetWindowInfo(const char *) override
Dummy stubs for vtkWindow API.
void * GetGenericContext() override
Dummy stubs for vtkWindow API.
virtual void DoStereoRender()
virtual int GetRGBAPixelData(int, int, int, int, int, vtkFloatArray *, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual void SetNextWindowInfo(const char *)
Dummy stubs for vtkWindow API.
virtual void ClearInRenderStatus()
Clear status (after an exception was thrown for example)
virtual vtkRenderWindowInteractor * MakeRenderWindowInteractor()
Create an interactor to control renderers in this window.
void Render() override
Ask each renderer owned by this RenderWindow to render its image and synchronize this process.
vtkSmartPointer< vtkUnsignedCharArray > ResultFrame
void SetParentId(void *) override
Dummy stubs for vtkWindow API.
virtual void SetInteractor(vtkRenderWindowInteractor *)
Set the interactor to the render window.
virtual void End()
Update the system, if needed, at end of render process.
virtual int CheckAbortStatus()
This is a flag that can be set to interrupt a rendering that is in progress.
virtual void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
void SetWindowId(void *) override
Dummy stubs for vtkWindow API.
void SetStereoTypeToCheckerboard()
Set/Get what type of stereo rendering to use.
static const char * GetStereoTypeAsString(int type)
Returns the stereo type as a string.
void UnRegister(vtkObjectBase *o) override
This Method detects loops of RenderWindow<->Interactor, so objects are freed properly.
virtual float * GetZbufferData(int, int, int, int)
Set/Get the zbuffer data from the frame buffer.
virtual int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
vtkTypeBool AlphaBitPlanes
vtkRenderWindow * SharedRenderWindow
virtual void StereoUpdate()
Update the system, if needed, due to stereo rendering.
virtual void SetMultiSamples(int)
Set / Get the number of multisamples to use for hardware antialiasing.
virtual void Start()
Start the rendering process for a frame.
void SetStereoTypeToAnaglyph()
Set/Get what type of stereo rendering to use.
virtual void CopyResultFrame()
Performed at the end of the rendering process to generate image.
void * GetGenericParentId() override
Dummy stubs for vtkWindow API.
virtual int SetRGBACharPixelData(int, int, int, int, vtkUnsignedCharArray *, int, int=0, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
vtkRendererCollection * Renderers
virtual int SetRGBAPixelData(int, int, int, int, vtkFloatArray *, int, int=0, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
vtkTypeBool StencilCapable
virtual void WindowRemap()
Remap the rendering window.
void RemoveRenderer(vtkRenderer *)
Remove a renderer from the list of renderers.
virtual int SetZbufferData(int, int, int, int, vtkFloatArray *)
Set/Get the zbuffer data from the frame buffer.
vtkTypeBool StereoRender
virtual int GetColorBufferSizes(int *)
Get the size of the color buffer.
vtkGetNewMacro(RenderTimer, vtkRenderTimerLog)
Get the render timer log for this window.
virtual void SetSharedRenderWindow(vtkRenderWindow *)
Set/Get an already existing window that this window should share data with if possible.
vtkTypeBool PointSmoothing
vtkTypeBool StereoCapableWindow
virtual void SetCursorPosition(int, int)
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
virtual vtkTypeBool GetEventPending()
Check to see if a mouse button has been pressed.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void StereoMidpoint()
Intermediate method performs operations required between the rendering of the left and right eye.
void SetDisplayId(void *) override
Dummy stubs for vtkWindow API.
void SetStereoTypeToEmulate()
Set/Get what type of stereo rendering to use.
virtual const char * ReportCapabilities()
Get report of capabilities for the render window.
vtkSetFilePathMacro(CursorFileName)
Set/Get the full path to the custom cursor.
void SetStereoTypeToSplitViewportHorizontal()
Set/Get what type of stereo rendering to use.
virtual int GetNumberOfDevices()
Returns the number of devices (graphics cards) on a system.
virtual void ShowCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
vtkSmartPointer< vtkUnsignedCharArray > StereoBuffer
virtual vtkTypeBool IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
void SetStereoTypeToCrystalEyes()
Set/Get what type of stereo rendering to use.
vtkTypeBool SwapBuffers
void SetStereoTypeToRight()
Set/Get what type of stereo rendering to use.
virtual int CheckInRenderStatus()
Are we rendering at the moment.
vtkTypeBool Borders
virtual bool IsCurrent()
Tells if this window is the current graphics context for the calling thread.
void * GetGenericDrawable() override
Dummy stubs for vtkWindow API.
virtual const char * GetRenderingBackend()
What rendering backend has the user requested.
an ordered list of renderers
abstract specification for renderers
Definition: vtkRenderer.h:71
helper class to generate composited stereo images.
dynamic, self-adjusting array of unsigned char
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
@ value
Definition: vtkX3D.h:220
@ type
Definition: vtkX3D.h:516
int vtkTypeBool
Definition: vtkABI.h:64
vtkEventDataDevice
platform-independent event data structures
Definition: vtkEventData.h:15
#define VTK_STEREO_ANAGLYPH
#define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL
#define VTK_STEREO_DRESDEN
#define VTK_STEREO_CHECKERBOARD
#define VTK_STEREO_CRYSTAL_EYES
#define VTK_STEREO_RIGHT
#define VTK_STEREO_FAKE
#define VTK_STEREO_RED_BLUE
#define VTK_STEREO_INTERLACED
#define VTK_STEREO_EMULATE
#define VTK_STEREO_LEFT
#define VTK_INT_MAX
Definition: vtkType.h:144