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
38 #ifndef vtkRenderWindow_h
39 #define vtkRenderWindow_h
40 
41 #include "vtkEventData.h" // for enums
42 #include "vtkNew.h" // For vtkNew
43 #include "vtkRenderingCoreModule.h" // For export macro
44 #include "vtkSmartPointer.h" // For vtkSmartPointer
45 #include "vtkWindow.h"
46 
47 VTK_ABI_NAMESPACE_BEGIN
48 class vtkFloatArray;
49 class vtkProp;
50 class vtkCollection;
51 class vtkMatrix4x4;
52 class vtkRenderTimerLog;
54 class vtkRenderer;
58 
59 // lets define the different types of stereo
60 #define VTK_STEREO_CRYSTAL_EYES 1
61 #define VTK_STEREO_RED_BLUE 2
62 #define VTK_STEREO_INTERLACED 3
63 #define VTK_STEREO_LEFT 4
64 #define VTK_STEREO_RIGHT 5
65 #define VTK_STEREO_DRESDEN 6
66 #define VTK_STEREO_ANAGLYPH 7
67 #define VTK_STEREO_CHECKERBOARD 8
68 #define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL 9
69 #define VTK_STEREO_FAKE 10
70 #define VTK_STEREO_EMULATE 11
71 
72 #define VTK_CURSOR_DEFAULT 0
73 #define VTK_CURSOR_ARROW 1
74 #define VTK_CURSOR_SIZENE 2
75 #define VTK_CURSOR_SIZENW 3
76 #define VTK_CURSOR_SIZESW 4
77 #define VTK_CURSOR_SIZESE 5
78 #define VTK_CURSOR_SIZENS 6
79 #define VTK_CURSOR_SIZEWE 7
80 #define VTK_CURSOR_SIZEALL 8
81 #define VTK_CURSOR_HAND 9
82 #define VTK_CURSOR_CROSSHAIR 10
83 #define VTK_CURSOR_CUSTOM 11
84 
85 class VTKRENDERINGCORE_EXPORT vtkRenderWindow : public vtkWindow
86 {
87 public:
88  vtkTypeMacro(vtkRenderWindow, vtkWindow);
89  void PrintSelf(ostream& os, vtkIndent indent) override;
90 
96  static vtkRenderWindow* New();
97 
101  virtual void AddRenderer(vtkRenderer*);
102 
107 
112 
116  static const char* GetRenderLibrary();
117 
121  virtual const char* GetRenderingBackend();
122 
127 
131  vtkRendererCollection* GetRenderers() { return this->Renderers; }
132 
141 
143 
146  vtkGetMacro(CapturingGL2PSSpecialProps, int);
148 
153  void Render() override;
154 
158  virtual void Start() {}
159 
163  virtual void End(){};
164 
168  virtual void Finalize() {}
169 
174  virtual void Frame() {}
175 
180  virtual void WaitForCompletion() {}
181 
186  virtual void CopyResultFrame();
187 
194 
196 
202  virtual void HideCursor() {}
203  virtual void ShowCursor() {}
204  virtual void SetCursorPosition(int, int) {}
206 
208 
211  vtkSetMacro(CurrentCursor, int);
212  vtkGetMacro(CurrentCursor, int);
214 
216 
220  vtkSetFilePathMacro(CursorFileName);
221  vtkGetFilePathMacro(CursorFileName);
223 
225 
228  virtual void SetFullScreen(vtkTypeBool) {}
229  vtkGetMacro(FullScreen, vtkTypeBool);
230  vtkBooleanMacro(FullScreen, vtkTypeBool);
232 
234 
239  vtkSetMacro(Borders, vtkTypeBool);
240  vtkGetMacro(Borders, vtkTypeBool);
241  vtkBooleanMacro(Borders, vtkTypeBool);
243 
245 
249  vtkGetMacro(StereoCapableWindow, vtkTypeBool);
250  vtkBooleanMacro(StereoCapableWindow, vtkTypeBool);
251  virtual void SetStereoCapableWindow(vtkTypeBool capable);
253 
255 
258  vtkGetMacro(StereoRender, vtkTypeBool);
260  vtkBooleanMacro(StereoRender, vtkTypeBool);
262 
264 
267  vtkSetMacro(AlphaBitPlanes, vtkTypeBool);
268  vtkGetMacro(AlphaBitPlanes, vtkTypeBool);
269  vtkBooleanMacro(AlphaBitPlanes, vtkTypeBool);
271 
273 
277  vtkSetMacro(PointSmoothing, vtkTypeBool);
278  vtkGetMacro(PointSmoothing, vtkTypeBool);
279  vtkBooleanMacro(PointSmoothing, vtkTypeBool);
281 
283 
287  vtkSetMacro(LineSmoothing, vtkTypeBool);
288  vtkGetMacro(LineSmoothing, vtkTypeBool);
289  vtkBooleanMacro(LineSmoothing, vtkTypeBool);
291 
293 
297  vtkSetMacro(PolygonSmoothing, vtkTypeBool);
298  vtkGetMacro(PolygonSmoothing, vtkTypeBool);
299  vtkBooleanMacro(PolygonSmoothing, vtkTypeBool);
301 
303 
324  vtkGetMacro(StereoType, int);
325  void SetStereoType(int);
326  void SetStereoTypeToCrystalEyes() { this->SetStereoType(VTK_STEREO_CRYSTAL_EYES); }
327  void SetStereoTypeToRedBlue() { this->SetStereoType(VTK_STEREO_RED_BLUE); }
328  void SetStereoTypeToInterlaced() { this->SetStereoType(VTK_STEREO_INTERLACED); }
329  void SetStereoTypeToLeft() { this->SetStereoType(VTK_STEREO_LEFT); }
330  void SetStereoTypeToRight() { this->SetStereoType(VTK_STEREO_RIGHT); }
331  void SetStereoTypeToDresden() { this->SetStereoType(VTK_STEREO_DRESDEN); }
332  void SetStereoTypeToAnaglyph() { this->SetStereoType(VTK_STEREO_ANAGLYPH); }
333  void SetStereoTypeToCheckerboard() { this->SetStereoType(VTK_STEREO_CHECKERBOARD); }
335  {
336  this->SetStereoType(VTK_STEREO_SPLITVIEWPORT_HORIZONTAL);
337  }
338  void SetStereoTypeToFake() { this->SetStereoType(VTK_STEREO_FAKE); }
339  void SetStereoTypeToEmulate() { this->SetStereoType(VTK_STEREO_EMULATE); }
341 
343 
346  const char* GetStereoTypeAsString();
347  static const char* GetStereoTypeAsString(int type);
349 
354  virtual void StereoUpdate();
355 
360  virtual void StereoMidpoint();
361 
366  virtual void StereoRenderComplete();
367 
369 
376  vtkSetClampMacro(AnaglyphColorSaturation, float, 0.0f, 1.0f);
377  vtkGetMacro(AnaglyphColorSaturation, float);
379 
381 
395  vtkSetVector2Macro(AnaglyphColorMask, int);
396  vtkGetVectorMacro(AnaglyphColorMask, int, 2);
398 
404  virtual void WindowRemap() {}
405 
407 
410  vtkSetMacro(SwapBuffers, vtkTypeBool);
411  vtkGetMacro(SwapBuffers, vtkTypeBool);
412  vtkBooleanMacro(SwapBuffers, vtkTypeBool);
414 
416 
428  virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, unsigned char* /*data*/,
429  int /*front*/, int /*right*/ = 0)
430  {
431  return 0;
432  }
433  virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
434  vtkUnsignedCharArray* /*data*/, int /*front*/, int /*right*/ = 0)
435  {
436  return 0;
437  }
439 
441 
448  virtual float* GetRGBAPixelData(
449  int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
450  {
451  return nullptr;
452  }
453  virtual int GetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
454  vtkFloatArray* /*data*/, int /*right*/ = 0)
455  {
456  return 0;
457  }
458  virtual int SetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float*, int /*front*/,
459  int /*blend*/ = 0, int /*right*/ = 0)
460  {
461  return 0;
462  }
463  virtual int SetRGBAPixelData(
464  int, int, int, int, vtkFloatArray*, int, int /*blend*/ = 0, int /*right*/ = 0)
465  {
466  return 0;
467  }
468  virtual void ReleaseRGBAPixelData(float* /*data*/) {}
469  virtual unsigned char* GetRGBACharPixelData(
470  int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
471  {
472  return nullptr;
473  }
474  virtual int GetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
475  vtkUnsignedCharArray* /*data*/, int /*right*/ = 0)
476  {
477  return 0;
478  }
479  virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
480  unsigned char* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
481  {
482  return 0;
483  }
484  virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
485  vtkUnsignedCharArray* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
486  {
487  return 0;
488  }
490 
492 
497  virtual float* GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/) { return nullptr; }
498  virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
499  {
500  return 0;
501  }
502  virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
503  {
504  return 0;
505  }
506  virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
507  {
508  return 0;
509  }
510  virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
511  {
512  return 0;
513  }
514  float GetZbufferDataAtPoint(int x, int y)
515  {
516  float value;
517  this->GetZbufferData(x, y, x, y, &value);
518  return value;
519  }
521 
523 
526  vtkGetMacro(NeverRendered, int);
528 
530 
534  vtkGetMacro(AbortRender, int);
535  vtkSetMacro(AbortRender, int);
536  vtkGetMacro(InAbortCheck, int);
537  vtkSetMacro(InAbortCheck, int);
538  virtual int CheckAbortStatus();
540 
547  virtual vtkTypeBool GetEventPending() { return 0; }
548 
552  virtual int CheckInRenderStatus() { return this->InRender; }
553 
557  virtual void ClearInRenderStatus() { this->InRender = 0; }
558 
560 
568  virtual void SetDesiredUpdateRate(double);
569  vtkGetMacro(DesiredUpdateRate, double);
571 
573 
579  vtkGetMacro(NumberOfLayers, int);
580  vtkSetClampMacro(NumberOfLayers, int, 1, VTK_INT_MAX);
582 
584 
587  vtkGetObjectMacro(Interactor, vtkRenderWindowInteractor);
589 
594 
599  void UnRegister(vtkObjectBase* o) override;
600 
602 
605  void SetDisplayId(void*) override {}
606  void SetWindowId(void*) override {}
607  virtual void SetNextWindowId(void*) {}
608  void SetParentId(void*) override {}
609  void* GetGenericDisplayId() override { return nullptr; }
610  void* GetGenericWindowId() override { return nullptr; }
611  void* GetGenericParentId() override { return nullptr; }
612  void* GetGenericContext() override { return nullptr; }
613  void* GetGenericDrawable() override { return nullptr; }
614  void SetWindowInfo(const char*) override {}
615  virtual void SetNextWindowInfo(const char*) {}
616  void SetParentInfo(const char*) override {}
618 
623  virtual bool InitializeFromCurrentContext() { return false; }
624 
626 
634  vtkGetObjectMacro(SharedRenderWindow, vtkRenderWindow);
635  virtual bool GetPlatformSupportsRenderWindowSharing() { return false; }
637 
642  virtual bool IsCurrent() { return false; }
643 
649  virtual void SetForceMakeCurrent() {}
650 
654  virtual const char* ReportCapabilities() { return "Not Implemented"; }
655 
659  virtual int SupportsOpenGL() { return 0; }
660 
664  virtual vtkTypeBool IsDirect() { return 0; }
665 
670  virtual int GetDepthBufferSize() { return 0; }
671 
676  virtual int GetColorBufferSizes(int* /*rgba*/) { return 0; }
677 
679 
683  virtual void SetMultiSamples(int);
684  vtkGetMacro(MultiSamples, int);
686 
688 
691  vtkSetMacro(StencilCapable, vtkTypeBool);
692  vtkGetMacro(StencilCapable, vtkTypeBool);
693  vtkBooleanMacro(StencilCapable, vtkTypeBool);
695 
697 
703  vtkSetMacro(DeviceIndex, int);
704  vtkGetMacro(DeviceIndex, int);
706 
710  virtual int GetNumberOfDevices() { return 0; }
711 
713 
717  vtkGetMacro(UseSRGBColorSpace, bool);
718  vtkSetMacro(UseSRGBColorSpace, bool);
719  vtkBooleanMacro(UseSRGBColorSpace, bool);
721 
727  virtual void GetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
728 
736  vtkEventDataDevice device, vtkMatrix4x4* deviceToWorldMatrix);
737 
738 protected:
740  ~vtkRenderWindow() override;
741 
742  virtual void DoStereoRender();
743 
748  int OldScreen[5];
763  int InRender;
768  int AnaglyphColorMask[2];
773 
776 
781 
783 
784 private:
785  vtkRenderWindow(const vtkRenderWindow&) = delete;
786  void operator=(const vtkRenderWindow&) = delete;
787 
788  vtkNew<vtkStereoCompositor> StereoCompositor;
789 };
790 
791 VTK_ABI_NAMESPACE_END
792 #endif
create and manipulate ordered lists of objects
Definition: vtkCollection.h:45
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:31
a simple class to control print indentation
Definition: vtkIndent.h:29
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:31
abstract base class for most VTK objects
Definition: vtkObjectBase.h:63
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:46
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:62
helper class to generate composited stereo images.
dynamic, self-adjusting array of unsigned char
window superclass for vtkRenderWindow
Definition: vtkWindow.h:28
@ 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