VTK  9.3.20240329
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
147 #ifndef vtkRenderWindow_h
148 #define vtkRenderWindow_h
149 
150 #include "vtkEventData.h" // for enums
151 #include "vtkNew.h" // For vtkNew
152 #include "vtkRenderingCoreModule.h" // For export macro
153 #include "vtkSmartPointer.h" // For vtkSmartPointer
154 #include "vtkWindow.h"
155 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
156 
157 VTK_ABI_NAMESPACE_BEGIN
158 class vtkFloatArray;
159 class vtkProp;
160 class vtkCollection;
161 class vtkMatrix4x4;
162 class vtkRenderTimerLog;
164 class vtkRenderer;
166 class vtkStereoCompositor;
168 
169 // lets define the different types of stereo
170 #define VTK_STEREO_CRYSTAL_EYES 1
171 #define VTK_STEREO_RED_BLUE 2
172 #define VTK_STEREO_INTERLACED 3
173 #define VTK_STEREO_LEFT 4
174 #define VTK_STEREO_RIGHT 5
175 #define VTK_STEREO_DRESDEN 6
176 #define VTK_STEREO_ANAGLYPH 7
177 #define VTK_STEREO_CHECKERBOARD 8
178 #define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL 9
179 #define VTK_STEREO_FAKE 10
180 #define VTK_STEREO_EMULATE 11
181 #define VTK_STEREO_ZSPACE_INSPIRE 12
182 
183 #define VTK_CURSOR_DEFAULT 0
184 #define VTK_CURSOR_ARROW 1
185 #define VTK_CURSOR_SIZENE 2
186 #define VTK_CURSOR_SIZENW 3
187 #define VTK_CURSOR_SIZESW 4
188 #define VTK_CURSOR_SIZESE 5
189 #define VTK_CURSOR_SIZENS 6
190 #define VTK_CURSOR_SIZEWE 7
191 #define VTK_CURSOR_SIZEALL 8
192 #define VTK_CURSOR_HAND 9
193 #define VTK_CURSOR_CROSSHAIR 10
194 #define VTK_CURSOR_CUSTOM 11
195 
196 class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkRenderWindow : public vtkWindow
197 {
198 public:
199  vtkTypeMacro(vtkRenderWindow, vtkWindow);
200  void PrintSelf(ostream& os, vtkIndent indent) override;
201 
207  static vtkRenderWindow* New();
208 
212  virtual void AddRenderer(vtkRenderer*);
213 
218 
223 
227  static const char* GetRenderLibrary();
228 
232  virtual const char* GetRenderingBackend();
233 
238 
242  vtkRendererCollection* GetRenderers() { return this->Renderers; }
243 
252 
254 
257  vtkGetMacro(CapturingGL2PSSpecialProps, int);
259 
264  void Render() override;
265 
269  virtual void Start() {}
270 
274  virtual void End() {}
275 
279  virtual void Finalize() {}
280 
285  virtual void Frame() {}
286 
291  virtual void WaitForCompletion() {}
292 
297  virtual void CopyResultFrame();
298 
305 
307 
313  virtual void HideCursor() {}
314  virtual void ShowCursor() {}
315  virtual void SetCursorPosition(int, int) {}
317 
319 
322  vtkSetMacro(CurrentCursor, int);
323  vtkGetMacro(CurrentCursor, int);
325 
327 
331  vtkSetFilePathMacro(CursorFileName);
332  vtkGetFilePathMacro(CursorFileName);
334 
336 
339  virtual void SetFullScreen(vtkTypeBool) {}
340  vtkGetMacro(FullScreen, vtkTypeBool);
341  vtkBooleanMacro(FullScreen, vtkTypeBool);
343 
345 
350  vtkSetMacro(Borders, vtkTypeBool);
351  vtkGetMacro(Borders, vtkTypeBool);
352  vtkBooleanMacro(Borders, vtkTypeBool);
354 
356 
360  vtkGetMacro(StereoCapableWindow, vtkTypeBool);
361  vtkBooleanMacro(StereoCapableWindow, vtkTypeBool);
362  virtual void SetStereoCapableWindow(vtkTypeBool capable);
364 
366 
369  vtkGetMacro(StereoRender, vtkTypeBool);
371  vtkBooleanMacro(StereoRender, vtkTypeBool);
373 
375 
378  vtkSetMacro(AlphaBitPlanes, vtkTypeBool);
379  vtkGetMacro(AlphaBitPlanes, vtkTypeBool);
380  vtkBooleanMacro(AlphaBitPlanes, vtkTypeBool);
382 
384 
388  vtkSetMacro(PointSmoothing, vtkTypeBool);
389  vtkGetMacro(PointSmoothing, vtkTypeBool);
390  vtkBooleanMacro(PointSmoothing, vtkTypeBool);
392 
394 
398  vtkSetMacro(LineSmoothing, vtkTypeBool);
399  vtkGetMacro(LineSmoothing, vtkTypeBool);
400  vtkBooleanMacro(LineSmoothing, vtkTypeBool);
402 
404 
408  vtkSetMacro(PolygonSmoothing, vtkTypeBool);
409  vtkGetMacro(PolygonSmoothing, vtkTypeBool);
410  vtkBooleanMacro(PolygonSmoothing, vtkTypeBool);
412 
414 
435  vtkGetMacro(StereoType, int);
436  void SetStereoType(int);
437  void SetStereoTypeToCrystalEyes() { this->SetStereoType(VTK_STEREO_CRYSTAL_EYES); }
438  void SetStereoTypeToRedBlue() { this->SetStereoType(VTK_STEREO_RED_BLUE); }
439  void SetStereoTypeToInterlaced() { this->SetStereoType(VTK_STEREO_INTERLACED); }
440  void SetStereoTypeToLeft() { this->SetStereoType(VTK_STEREO_LEFT); }
441  void SetStereoTypeToRight() { this->SetStereoType(VTK_STEREO_RIGHT); }
442  void SetStereoTypeToDresden() { this->SetStereoType(VTK_STEREO_DRESDEN); }
443  void SetStereoTypeToAnaglyph() { this->SetStereoType(VTK_STEREO_ANAGLYPH); }
444  void SetStereoTypeToCheckerboard() { this->SetStereoType(VTK_STEREO_CHECKERBOARD); }
446  {
447  this->SetStereoType(VTK_STEREO_SPLITVIEWPORT_HORIZONTAL);
448  }
449  void SetStereoTypeToFake() { this->SetStereoType(VTK_STEREO_FAKE); }
450  void SetStereoTypeToEmulate() { this->SetStereoType(VTK_STEREO_EMULATE); }
452 
454 
457  const char* GetStereoTypeAsString();
458  static const char* GetStereoTypeAsString(int type);
460 
465  virtual void StereoUpdate();
466 
471  virtual void StereoMidpoint();
472 
477  virtual void StereoRenderComplete();
478 
480 
487  vtkSetClampMacro(AnaglyphColorSaturation, float, 0.0f, 1.0f);
488  vtkGetMacro(AnaglyphColorSaturation, float);
490 
492 
506  vtkSetVector2Macro(AnaglyphColorMask, int);
507  vtkGetVectorMacro(AnaglyphColorMask, int, 2);
509 
515  virtual void WindowRemap() {}
516 
518 
521  vtkSetMacro(SwapBuffers, vtkTypeBool);
522  vtkGetMacro(SwapBuffers, vtkTypeBool);
523  vtkBooleanMacro(SwapBuffers, vtkTypeBool);
525 
527 
539  virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, unsigned char* /*data*/,
540  int /*front*/, int /*right*/ = 0)
541  {
542  return 0;
543  }
544  virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
545  vtkUnsignedCharArray* /*data*/, int /*front*/, int /*right*/ = 0)
546  {
547  return 0;
548  }
550 
552 
559  virtual float* GetRGBAPixelData(
560  int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
561  {
562  return nullptr;
563  }
564  virtual int GetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
565  vtkFloatArray* /*data*/, int /*right*/ = 0)
566  {
567  return 0;
568  }
569  virtual int SetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float*, int /*front*/,
570  int /*blend*/ = 0, int /*right*/ = 0)
571  {
572  return 0;
573  }
574  virtual int SetRGBAPixelData(
575  int, int, int, int, vtkFloatArray*, int, int /*blend*/ = 0, int /*right*/ = 0)
576  {
577  return 0;
578  }
579  virtual void ReleaseRGBAPixelData(float* /*data*/) {}
580  virtual unsigned char* GetRGBACharPixelData(
581  int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
582  {
583  return nullptr;
584  }
585  virtual int GetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
586  vtkUnsignedCharArray* /*data*/, int /*right*/ = 0)
587  {
588  return 0;
589  }
590  virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
591  unsigned char* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
592  {
593  return 0;
594  }
595  virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
596  vtkUnsignedCharArray* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
597  {
598  return 0;
599  }
601 
603 
608  virtual float* GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/) { return nullptr; }
609  virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
610  {
611  return 0;
612  }
613  virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
614  {
615  return 0;
616  }
617  virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
618  {
619  return 0;
620  }
621  virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
622  {
623  return 0;
624  }
625  float GetZbufferDataAtPoint(int x, int y)
626  {
627  float value;
628  this->GetZbufferData(x, y, x, y, &value);
629  return value;
630  }
632 
634 
637  vtkGetMacro(NeverRendered, int);
639 
641 
645  vtkGetMacro(AbortRender, int);
646  vtkSetMacro(AbortRender, int);
647  vtkGetMacro(InAbortCheck, int);
648  vtkSetMacro(InAbortCheck, int);
649  virtual int CheckAbortStatus();
651 
658  virtual vtkTypeBool GetEventPending() { return 0; }
659 
663  virtual int CheckInRenderStatus() { return this->InRender; }
664 
668  virtual void ClearInRenderStatus() { this->InRender = 0; }
669 
671 
679  virtual void SetDesiredUpdateRate(double);
680  vtkGetMacro(DesiredUpdateRate, double);
682 
684 
690  vtkGetMacro(NumberOfLayers, int);
691  vtkSetClampMacro(NumberOfLayers, int, 1, VTK_INT_MAX);
693 
695 
698  vtkGetObjectMacro(Interactor, vtkRenderWindowInteractor);
700 
705 
710  void UnRegister(vtkObjectBase* o) override;
711 
713 
716  void SetDisplayId(void*) override {}
717  void SetWindowId(void*) override {}
718  virtual void SetNextWindowId(void*) {}
719  void SetParentId(void*) override {}
720  void* GetGenericDisplayId() override { return nullptr; }
721  void* GetGenericWindowId() override { return nullptr; }
722  void* GetGenericParentId() override { return nullptr; }
723  void* GetGenericContext() override { return nullptr; }
724  void* GetGenericDrawable() override { return nullptr; }
725  void SetWindowInfo(const char*) override {}
726  virtual void SetNextWindowInfo(const char*) {}
727  void SetParentInfo(const char*) override {}
729 
734  virtual bool InitializeFromCurrentContext() { return false; }
735 
737 
745  vtkGetObjectMacro(SharedRenderWindow, vtkRenderWindow);
746  virtual bool GetPlatformSupportsRenderWindowSharing() { return false; }
748 
753  virtual bool IsCurrent() { return false; }
754 
760  virtual void SetForceMakeCurrent() {}
761 
765  virtual const char* ReportCapabilities() { return "Not Implemented"; }
766 
770  virtual int SupportsOpenGL() { return 0; }
771 
775  virtual vtkTypeBool IsDirect() { return 0; }
776 
781  virtual int GetDepthBufferSize() { return 0; }
782 
787  virtual int GetColorBufferSizes(int* /*rgba*/) { return 0; }
788 
790 
794  virtual void SetMultiSamples(int);
795  vtkGetMacro(MultiSamples, int);
797 
799 
802  vtkSetMacro(StencilCapable, vtkTypeBool);
803  vtkGetMacro(StencilCapable, vtkTypeBool);
804  vtkBooleanMacro(StencilCapable, vtkTypeBool);
806 
808 
814  vtkSetMacro(DeviceIndex, int);
815  vtkGetMacro(DeviceIndex, int);
817 
821  virtual int GetNumberOfDevices() { return 0; }
822 
824 
828  vtkGetMacro(UseSRGBColorSpace, bool);
829  vtkSetMacro(UseSRGBColorSpace, bool);
830  vtkBooleanMacro(UseSRGBColorSpace, bool);
832 
838  virtual void GetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
839 
847  vtkEventDataDevice device, vtkMatrix4x4* deviceToWorldMatrix);
848 
849 protected:
851  ~vtkRenderWindow() override;
852 
853  virtual void DoStereoRender();
854 
859  int OldScreen[5];
874  int InRender;
879  int AnaglyphColorMask[2];
884 
887 
892 
894 
895 private:
896  vtkRenderWindow(const vtkRenderWindow&) = delete;
897  void operator=(const vtkRenderWindow&) = delete;
898 
899  vtkNew<vtkStereoCompositor> StereoCompositor;
900 };
901 
902 VTK_ABI_NAMESPACE_END
903 #endif
create and manipulate ordered lists of objects
Definition: vtkCollection.h:46
dynamic, self-adjusting array of float
a simple class to control print indentation
Definition: vtkIndent.h:108
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:141
abstract base class for most VTK objects
Definition: vtkObjectBase.h:84
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:66
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:172
helper class to generate composited stereo images.
dynamic, self-adjusting array of unsigned char
window superclass for vtkRenderWindow
Definition: vtkWindow.h:48
@ 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
#define VTK_MARSHALAUTO