VTK  9.7.1
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 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
47 
48 VTK_ABI_NAMESPACE_BEGIN
49 class vtkCollection;
50 class vtkFloatArray;
51 class vtkHardwareWindow;
52 class vtkMatrix4x4;
53 class vtkProp;
54 class vtkRenderTimerLog;
56 class vtkRenderer;
60 
61 // lets define the different types of stereo
62 #define VTK_STEREO_CRYSTAL_EYES 1
63 #define VTK_STEREO_RED_BLUE 2
64 #define VTK_STEREO_INTERLACED 3
65 #define VTK_STEREO_LEFT 4
66 #define VTK_STEREO_RIGHT 5
67 #define VTK_STEREO_DRESDEN 6
68 #define VTK_STEREO_ANAGLYPH 7
69 #define VTK_STEREO_CHECKERBOARD 8
70 #define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL 9
71 #define VTK_STEREO_FAKE 10
72 #define VTK_STEREO_EMULATE 11
73 #define VTK_STEREO_ZSPACE_INSPIRE 12
74 
75 class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkRenderWindow : public vtkWindow
76 {
77 public:
78  vtkTypeMacro(vtkRenderWindow, vtkWindow);
79  void PrintSelf(ostream& os, vtkIndent indent) override;
80 
86  static vtkRenderWindow* New();
87 
91  virtual void AddRenderer(vtkRenderer*);
92 
96  void RemoveRenderer(vtkRenderer*);
97 
101  vtkTypeBool HasRenderer(vtkRenderer*);
102 
106  static const char* GetRenderLibrary();
107 
111  virtual const char* GetRenderingBackend();
112 
117  vtkGetNewMacro(RenderTimer, vtkRenderTimerLog);
118 
122  vtkRendererCollection* GetRenderers() { return this->Renderers; }
123 
131  void CaptureGL2PSSpecialProps(vtkCollection* specialProps);
132 
134 
137  vtkGetMacro(CapturingGL2PSSpecialProps, int);
139 
144  void Render() override;
145 
149  virtual void Start() {}
150 
154  virtual void End() {}
155 
161  virtual void Initialize() {}
162 
164 
167  vtkGetMacro(Initialized, bool);
169 
173  virtual void Finalize() {}
174 
179  virtual void Frame() {}
180 
185  virtual void WaitForCompletion() {}
186 
191  virtual void CopyResultFrame();
192 
198  virtual vtkRenderWindowInteractor* MakeRenderWindowInteractor();
199 
201 
204  virtual void SetFullScreen(vtkTypeBool) {}
205  vtkGetMacro(FullScreen, vtkTypeBool);
206  vtkBooleanMacro(FullScreen, vtkTypeBool);
208 
210 
214  vtkGetMacro(Coverable, vtkTypeBool);
215  vtkBooleanMacro(Coverable, vtkTypeBool);
216  virtual void SetCoverable(vtkTypeBool coverable);
218 
220 
224  vtkGetMacro(StereoCapableWindow, vtkTypeBool);
225  vtkBooleanMacro(StereoCapableWindow, vtkTypeBool);
226  virtual void SetStereoCapableWindow(vtkTypeBool capable);
228 
230 
251  vtkGetMacro(StereoType, int);
252  void SetStereoType(int);
253  void SetStereoTypeToCrystalEyes() { this->SetStereoType(VTK_STEREO_CRYSTAL_EYES); }
254  void SetStereoTypeToRedBlue() { this->SetStereoType(VTK_STEREO_RED_BLUE); }
255  void SetStereoTypeToInterlaced() { this->SetStereoType(VTK_STEREO_INTERLACED); }
256  void SetStereoTypeToLeft() { this->SetStereoType(VTK_STEREO_LEFT); }
257  void SetStereoTypeToRight() { this->SetStereoType(VTK_STEREO_RIGHT); }
258  void SetStereoTypeToDresden() { this->SetStereoType(VTK_STEREO_DRESDEN); }
259  void SetStereoTypeToAnaglyph() { this->SetStereoType(VTK_STEREO_ANAGLYPH); }
260  void SetStereoTypeToCheckerboard() { this->SetStereoType(VTK_STEREO_CHECKERBOARD); }
262  {
263  this->SetStereoType(VTK_STEREO_SPLITVIEWPORT_HORIZONTAL);
264  }
265  void SetStereoTypeToFake() { this->SetStereoType(VTK_STEREO_FAKE); }
266  void SetStereoTypeToEmulate() { this->SetStereoType(VTK_STEREO_EMULATE); }
268 
270 
273  const char* GetStereoTypeAsString();
274  static const char* GetStereoTypeAsString(int type);
276 
278 
281  vtkGetMacro(StereoRender, vtkTypeBool);
282  void SetStereoRender(vtkTypeBool stereo);
283  vtkBooleanMacro(StereoRender, vtkTypeBool);
285 
287 
290  vtkSetMacro(AlphaBitPlanes, vtkTypeBool);
291  vtkGetMacro(AlphaBitPlanes, vtkTypeBool);
292  vtkBooleanMacro(AlphaBitPlanes, vtkTypeBool);
294 
296 
300  vtkSetMacro(PointSmoothing, vtkTypeBool);
301  vtkGetMacro(PointSmoothing, vtkTypeBool);
302  vtkBooleanMacro(PointSmoothing, vtkTypeBool);
304 
306 
310  vtkSetMacro(LineSmoothing, vtkTypeBool);
311  vtkGetMacro(LineSmoothing, vtkTypeBool);
312  vtkBooleanMacro(LineSmoothing, vtkTypeBool);
314 
316 
320  vtkSetMacro(PolygonSmoothing, vtkTypeBool);
321  vtkGetMacro(PolygonSmoothing, vtkTypeBool);
322  vtkBooleanMacro(PolygonSmoothing, vtkTypeBool);
324 
329  virtual void StereoUpdate();
330 
335  virtual void StereoMidpoint();
336 
341  virtual void StereoRenderComplete();
342 
344 
351  vtkSetClampMacro(AnaglyphColorSaturation, float, 0.0f, 1.0f);
352  vtkGetMacro(AnaglyphColorSaturation, float);
354 
356 
370  vtkSetVector2Macro(AnaglyphColorMask, int);
371  vtkGetVectorMacro(AnaglyphColorMask, int, 2);
373 
379  virtual void WindowRemap() {}
380 
382 
385  vtkSetMacro(SwapBuffers, vtkTypeBool);
386  vtkGetMacro(SwapBuffers, vtkTypeBool);
387  vtkBooleanMacro(SwapBuffers, vtkTypeBool);
389 
391 
403  virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, unsigned char* /*data*/,
404  int /*front*/, int /*right*/ = 0)
405  {
406  return 0;
407  }
408  virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
409  vtkUnsignedCharArray* /*data*/, int /*front*/, int /*right*/ = 0)
410  {
411  return 0;
412  }
414 
416 
423  virtual float* GetRGBAPixelData(
424  int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
425  {
426  return nullptr;
427  }
428  virtual int GetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
429  vtkFloatArray* /*data*/, int /*right*/ = 0)
430  {
431  return 0;
432  }
433  virtual int SetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float*, int /*front*/,
434  int /*blend*/ = 0, int /*right*/ = 0)
435  {
436  return 0;
437  }
438  virtual int SetRGBAPixelData(
439  int, int, int, int, vtkFloatArray*, int, int /*blend*/ = 0, int /*right*/ = 0)
440  {
441  return 0;
442  }
443  virtual void ReleaseRGBAPixelData(float* /*data*/) {}
444  virtual unsigned char* GetRGBACharPixelData(
445  int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
446  {
447  return nullptr;
448  }
449  virtual int GetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
450  vtkUnsignedCharArray* /*data*/, int /*right*/ = 0)
451  {
452  return 0;
453  }
454  virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
455  unsigned char* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
456  {
457  return 0;
458  }
459  virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
460  vtkUnsignedCharArray* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
461  {
462  return 0;
463  }
465 
467 
472  virtual float* GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/) { return nullptr; }
473  virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
474  {
475  return 0;
476  }
477  virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
478  {
479  return 0;
480  }
481  virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
482  {
483  return 0;
484  }
485  virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
486  {
487  return 0;
488  }
489  float GetZbufferDataAtPoint(int x, int y)
490  {
491  float value = 1.0f;
492  this->GetZbufferData(x, y, x, y, &value);
493  return value;
494  }
496 
498 
501  vtkGetMacro(NeverRendered, int);
503 
505 
509  vtkGetMacro(AbortRender, int);
510  vtkSetMacro(AbortRender, int);
511  vtkGetMacro(InAbortCheck, int);
512  vtkSetMacro(InAbortCheck, int);
513  virtual int CheckAbortStatus();
515 
522  virtual vtkTypeBool GetEventPending() { return 0; }
523 
527  virtual int CheckInRenderStatus() { return this->InRender; }
528 
532  virtual void ClearInRenderStatus() { this->InRender = 0; }
533 
535 
543  virtual void SetDesiredUpdateRate(double);
544  vtkGetMacro(DesiredUpdateRate, double);
546 
548 
554  vtkGetMacro(NumberOfLayers, int);
555  vtkSetClampMacro(NumberOfLayers, int, 1, VTK_INT_MAX);
557 
559 
562  vtkGetObjectMacro(Interactor, vtkRenderWindowInteractor);
564 
568  virtual void SetInteractor(vtkRenderWindowInteractor*);
569 
574  void UnRegister(vtkObjectBase* o) override;
575 
577 
580  void SetDisplayId(void*) override {}
581  void SetWindowId(void*) override {}
582  virtual void SetNextWindowId(void*) {}
583  void SetParentId(void*) override {}
584  void* GetGenericDisplayId() override { return nullptr; }
585  void* GetGenericWindowId() override { return nullptr; }
586  void* GetGenericParentId() override { return nullptr; }
587  void* GetGenericContext() override { return nullptr; }
588  void* GetGenericDrawable() override { return nullptr; }
589  void SetWindowInfo(const char*) override {}
590  virtual void SetNextWindowInfo(const char*) {}
591  void SetParentInfo(const char*) override {}
593 
598  virtual bool InitializeFromCurrentContext() { return false; }
599 
601 
608  virtual void SetSharedRenderWindow(vtkRenderWindow*);
609  vtkGetObjectMacro(SharedRenderWindow, vtkRenderWindow);
610  virtual bool GetPlatformSupportsRenderWindowSharing() { return false; }
612 
617  virtual bool IsCurrent() { return false; }
618 
624  virtual void SetForceMakeCurrent() {}
625 
629  virtual const char* ReportCapabilities() { return "Not Implemented"; }
630 
634  virtual int SupportsOpenGL() { return 0; }
635 
639  virtual vtkTypeBool IsDirect() { return 0; }
640 
645  virtual int GetDepthBufferSize() { return 0; }
646 
651  virtual int GetColorBufferSizes(int* /*rgba*/) { return 0; }
652 
654 
659  virtual void SetMultiSamples(int);
660  vtkGetMacro(MultiSamples, int);
662 
664 
667  vtkSetMacro(StencilCapable, vtkTypeBool);
668  vtkGetMacro(StencilCapable, vtkTypeBool);
669  vtkBooleanMacro(StencilCapable, vtkTypeBool);
671 
673 
679  vtkSetMacro(DeviceIndex, int);
680  vtkGetMacro(DeviceIndex, int);
682 
686  virtual int GetNumberOfDevices() { return 0; }
687 
689 
693  vtkGetMacro(UseSRGBColorSpace, bool);
694  vtkSetMacro(UseSRGBColorSpace, bool);
695  vtkBooleanMacro(UseSRGBColorSpace, bool);
697 
698  enum : vtkTypeUInt16
699  {
700  PhysicalToWorldMatrixModified = vtkCommand::UserEvent + 200
701  };
702 
704 
712  virtual void SetPhysicalViewDirection(double, double, double);
713  virtual void SetPhysicalViewDirection(double[3]);
714  vtkGetVector3Macro(PhysicalViewDirection, double);
716 
718 
726  virtual void SetPhysicalViewUp(double, double, double);
727  virtual void SetPhysicalViewUp(double[3]);
728  vtkGetVector3Macro(PhysicalViewUp, double);
730 
732 
740  virtual void SetPhysicalTranslation(double, double, double);
741  virtual void SetPhysicalTranslation(double[3]);
742  vtkGetVector3Macro(PhysicalTranslation, double);
744 
746 
755  virtual void SetPhysicalScale(double);
756  vtkGetMacro(PhysicalScale, double);
758 
765  virtual void SetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
766 
772  virtual void GetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
773 
780  virtual bool GetDeviceToWorldMatrixForDevice(
781  vtkEventDataDevice device, vtkMatrix4x4* deviceToWorldMatrix);
782 
784 
790  vtkGetMacro(EnableTranslucentSurface, bool);
791  vtkSetMacro(EnableTranslucentSurface, bool);
792  vtkBooleanMacro(EnableTranslucentSurface, bool);
794 
796 
800  virtual vtkHardwareWindow* GetHardwareWindow();
801  virtual void SetHardwareWindow(vtkHardwareWindow* win);
803 
804 protected:
805  vtkRenderWindow();
806  ~vtkRenderWindow() override;
807 
808  virtual void DoStereoRender();
809 
811  vtkNew<vtkRenderTimerLog> RenderTimer;
812  vtkTypeBool Coverable;
813  vtkTypeBool FullScreen;
814  int OldScreen[5];
815  vtkTypeBool PointSmoothing;
816  vtkTypeBool LineSmoothing;
817  vtkTypeBool PolygonSmoothing;
818  vtkTypeBool StereoRender;
819  int StereoType;
820  vtkTypeBool StereoCapableWindow;
821  vtkTypeBool AlphaBitPlanes;
823  vtkSmartPointer<vtkUnsignedCharArray> StereoBuffer; // used for red blue stereo
825  vtkTypeBool SwapBuffers;
826  double DesiredUpdateRate;
827  int AbortRender;
828  int InAbortCheck;
829  int InRender;
830  int NeverRendered;
831  int NumberOfLayers;
832  float AnaglyphColorSaturation;
833  int AnaglyphColorMask[2];
834  int MultiSamples;
835  vtkTypeBool StencilCapable;
836  int CapturingGL2PSSpecialProps;
837  int DeviceIndex;
838 
839  bool UseSRGBColorSpace;
840 
844  double AbortCheckTime;
845 
846  vtkRenderWindow* SharedRenderWindow;
847 
848  // -Z axis of the Physical to World matrix
849  double PhysicalViewDirection[3] = { 0.0, 0.0, -1.0 };
850  // Y axis of the Physical to World matrix
851  double PhysicalViewUp[3] = { 0.0, 1.0, 0.0 };
852  // Inverse of the translation component of the Physical to World matrix, in mm
853  double PhysicalTranslation[3] = { 0.0, 0.0, 0.0 };
854  // Scale of the Physical to World matrix
855  double PhysicalScale = 1.0;
856 
857  bool EnableTranslucentSurface = false;
858 
859  bool Initialized = false;
860 
862 
863 private:
864  vtkRenderWindow(const vtkRenderWindow&) = delete;
865  void operator=(const vtkRenderWindow&) = delete;
866 
867  vtkNew<vtkStereoCompositor> StereoCompositor;
868 };
869 
870 VTK_ABI_NAMESPACE_END
871 #endif
create a window for renderers to draw into
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:49
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.
virtual void Start()
Start the rendering process for a frame.
virtual void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
void SetStereoTypeToRight()
Set/Get what type of stereo rendering to use.
virtual int GetDepthBufferSize()
This method should be defined by the subclass.
#define VTK_STEREO_RIGHT
virtual float * GetZbufferData(int, int, int, int)
Set/Get the zbuffer data from the frame buffer.
void SetStereoTypeToFake()
Set/Get what type of stereo rendering to use.
#define VTK_STEREO_FAKE
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:31
virtual void SetFullScreen(vtkTypeBool)
Turn on/off rendering full screen window size.
void * GetGenericDisplayId() override
Dummy stubs for vtkWindow API.
void * GetGenericContext() override
Dummy stubs for vtkWindow API.
virtual void WindowRemap()
Remap the rendering window.
void SetDisplayId(void *) override
Dummy stubs for vtkWindow API.
virtual int SetPixelData(int, int, int, int, unsigned char *, int, int=0)
Set/Get the pixel data of an image, transmitted as RGBRGBRGB.
virtual int SetZbufferData(int, int, int, int, vtkFloatArray *)
Set/Get the zbuffer data from the frame buffer.
#define VTK_STEREO_CHECKERBOARD
virtual void SetNextWindowId(void *)
Dummy stubs for vtkWindow API.
#define VTK_INT_MAX
Definition: vtkType.h:192
virtual int GetColorBufferSizes(int *)
Get the size of the color buffer.
void * GetGenericWindowId() override
Dummy stubs for vtkWindow API.
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:31
void SetStereoTypeToSplitViewportHorizontal()
Set/Get what type of stereo rendering to use.
#define VTK_STEREO_DRESDEN
void SetStereoTypeToAnaglyph()
Set/Get what type of stereo rendering to use.
#define VTK_STEREO_RED_BLUE
abstract specification for renderers
Definition: vtkRenderer.h:63
void SetWindowInfo(const char *) override
Dummy stubs for vtkWindow API.
Hold a reference to a vtkObjectBase instance.
Definition: vtkMeta.h:23
virtual bool IsCurrent()
Tells if this window is the current graphics context for the calling thread.
virtual void Finalize()
Finalize the rendering process.
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 int GetZbufferData(int, int, int, int, vtkFloatArray *)
Set/Get the zbuffer data from the frame buffer.
void SetParentId(void *) override
Dummy stubs for vtkWindow API.
#define VTK_STEREO_INTERLACED
void SetStereoTypeToCrystalEyes()
Set/Get what type of stereo rendering to use.
int vtkTypeBool
Definition: vtkABI.h:64
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
platform-independent render window interaction including picking and frame rate control.
virtual const char * ReportCapabilities()
Get report of capabilities for the render window.
virtual int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
#define VTK_STEREO_EMULATE
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.
an ordered list of renderers
virtual int CheckInRenderStatus()
Are we rendering at the moment.
virtual void UnRegister(vtkObjectBase *o)
Decrease the reference count (release by another object).
void SetWindowId(void *) override
Dummy stubs for vtkWindow API.
void SetStereoTypeToRedBlue()
Set/Get what type of stereo rendering to use.
virtual int SetZbufferData(int, int, int, int, float *)
Set/Get the zbuffer data from the frame buffer.
a simple class to control print indentation
Definition: vtkIndent.h:28
void SetStereoTypeToCheckerboard()
Set/Get what type of stereo rendering to use.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
float GetZbufferDataAtPoint(int x, int y)
Set/Get the zbuffer data from the frame buffer.
void SetStereoTypeToInterlaced()
Set/Get what type of stereo rendering to use.
void SetStereoTypeToEmulate()
Set/Get what type of stereo rendering to use.
virtual void WaitForCompletion()
Block the thread until the actual rendering is finished().
void * GetGenericParentId() override
Dummy stubs for vtkWindow API.
virtual int SetPixelData(int, int, int, int, vtkUnsignedCharArray *, int, int=0)
Set/Get the pixel data of an image, transmitted as RGBRGBRGB.
virtual void ReleaseRGBAPixelData(float *)
Same as Get/SetPixelData except that the image also contains an alpha component.
abstract base class for most VTK objects
Definition: vtkObjectBase.h:68
vtkEventDataDevice
platform-independent event data structures
Definition: vtkEventData.h:14
vtkSmartPointer< vtkHardwareWindow > HardwareWindow
#define VTK_STEREO_CRYSTAL_EYES
dynamic, self-adjusting array of unsigned char
#define VTK_MARSHALEXCLUDE(reason)
virtual vtkTypeBool GetEventPending()
Check to see if a mouse button has been pressed.
void SetStereoTypeToDresden()
Set/Get what type of stereo rendering to use.
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 SetRGBAPixelData(int, int, int, int, vtkFloatArray *, int, int=0, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
create a window for renderers to draw into
#define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL
virtual bool InitializeFromCurrentContext()
Initialize the render window from the information associated with the currently activated OpenGL cont...
virtual void ClearInRenderStatus()
Clear status (after an exception was thrown for example)
create and manipulate ordered lists of objects
Definition: vtkCollection.h:39
virtual bool GetPlatformSupportsRenderWindowSharing()
Set/Get an already existing window that this window should share data with if possible.
Allocate and hold a VTK object.
virtual unsigned char * GetRGBACharPixelData(int, int, int, int, int, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual void End()
Update the system, if needed, at end of render process.
virtual float * GetRGBAPixelData(int, int, int, int, int, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual void Render()
Ask each viewport owned by this Window to render its image and synchronize this process.
Definition: vtkWindow.h:179
helper class to generate composited stereo images.
#define VTK_MARSHALAUTO
void SetParentInfo(const char *) override
Dummy stubs for vtkWindow API.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
virtual int GetZbufferData(int, int, int, int, float *)
Set/Get the zbuffer data from the frame buffer.
void * GetGenericDrawable() override
Dummy stubs for vtkWindow API.
#define VTK_STEREO_LEFT
virtual int GetNumberOfDevices()
Returns the number of devices (graphics cards) on a system.
virtual vtkTypeBool IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
void SetStereoTypeToLeft()
Set/Get what type of stereo rendering to use.
#define VTK_STEREO_ANAGLYPH
virtual void Frame()
A termination method performed at the end of the rendering process to do things like swapping buffers...
Asynchronously measures GPU execution times for a series of events.
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.
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
virtual void Initialize()
Initializes the rendering process.