VTK  9.2.6
vtkRenderWindow.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRenderWindow.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
50 #ifndef vtkRenderWindow_h
51 #define vtkRenderWindow_h
52 
53 #include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_1_0
54 #include "vtkEventData.h" // for enums
55 #include "vtkNew.h" // For vtkNew
56 #include "vtkRenderingCoreModule.h" // For export macro
57 #include "vtkSmartPointer.h" // For vtkSmartPointer
58 #include "vtkWindow.h"
59 
60 class vtkFloatArray;
61 class vtkProp;
62 class vtkCollection;
63 class vtkMatrix4x4;
64 class vtkRenderTimerLog;
66 class vtkRenderer;
70 
71 // lets define the different types of stereo
72 #define VTK_STEREO_CRYSTAL_EYES 1
73 #define VTK_STEREO_RED_BLUE 2
74 #define VTK_STEREO_INTERLACED 3
75 #define VTK_STEREO_LEFT 4
76 #define VTK_STEREO_RIGHT 5
77 #define VTK_STEREO_DRESDEN 6
78 #define VTK_STEREO_ANAGLYPH 7
79 #define VTK_STEREO_CHECKERBOARD 8
80 #define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL 9
81 #define VTK_STEREO_FAKE 10
82 #define VTK_STEREO_EMULATE 11
83 
84 #define VTK_CURSOR_DEFAULT 0
85 #define VTK_CURSOR_ARROW 1
86 #define VTK_CURSOR_SIZENE 2
87 #define VTK_CURSOR_SIZENW 3
88 #define VTK_CURSOR_SIZESW 4
89 #define VTK_CURSOR_SIZESE 5
90 #define VTK_CURSOR_SIZENS 6
91 #define VTK_CURSOR_SIZEWE 7
92 #define VTK_CURSOR_SIZEALL 8
93 #define VTK_CURSOR_HAND 9
94 #define VTK_CURSOR_CROSSHAIR 10
95 #define VTK_CURSOR_CUSTOM 11
96 
97 class VTKRENDERINGCORE_EXPORT vtkRenderWindow : public vtkWindow
98 {
99 public:
100  vtkTypeMacro(vtkRenderWindow, vtkWindow);
101  void PrintSelf(ostream& os, vtkIndent indent) override;
102 
108  static vtkRenderWindow* New();
109 
113  virtual void AddRenderer(vtkRenderer*);
114 
118  void RemoveRenderer(vtkRenderer*);
119 
123  int HasRenderer(vtkRenderer*);
124 
128  static const char* GetRenderLibrary();
129 
133  virtual const char* GetRenderingBackend();
134 
138  vtkGetNewMacro(RenderTimer, vtkRenderTimerLog);
139 
143  vtkRendererCollection* GetRenderers() { return this->Renderers; }
144 
152  void CaptureGL2PSSpecialProps(vtkCollection* specialProps);
153 
155 
158  vtkGetMacro(CapturingGL2PSSpecialProps, int);
160 
165  void Render() override;
166 
170  virtual void Start() {}
171 
175  virtual void End(){};
176 
180  virtual void Finalize() {}
181 
186  virtual void Frame() {}
187 
192  virtual void WaitForCompletion() {}
193 
198  virtual void CopyResultFrame();
199 
205  virtual vtkRenderWindowInteractor* MakeRenderWindowInteractor();
206 
208 
214  virtual void HideCursor() {}
215  virtual void ShowCursor() {}
216  virtual void SetCursorPosition(int, int) {}
218 
220 
223  vtkSetMacro(CurrentCursor, int);
224  vtkGetMacro(CurrentCursor, int);
226 
228 
232  vtkSetFilePathMacro(CursorFileName);
233  vtkGetFilePathMacro(CursorFileName);
235 
237 
240  virtual void SetFullScreen(vtkTypeBool) {}
241  vtkGetMacro(FullScreen, vtkTypeBool);
242  vtkBooleanMacro(FullScreen, vtkTypeBool);
244 
246 
251  vtkSetMacro(Borders, vtkTypeBool);
252  vtkGetMacro(Borders, vtkTypeBool);
253  vtkBooleanMacro(Borders, vtkTypeBool);
255 
257 
261  vtkGetMacro(StereoCapableWindow, vtkTypeBool);
262  vtkBooleanMacro(StereoCapableWindow, vtkTypeBool);
263  virtual void SetStereoCapableWindow(vtkTypeBool capable);
265 
267 
270  vtkGetMacro(StereoRender, vtkTypeBool);
271  void SetStereoRender(vtkTypeBool stereo);
272  vtkBooleanMacro(StereoRender, vtkTypeBool);
274 
276 
279  vtkSetMacro(AlphaBitPlanes, vtkTypeBool);
280  vtkGetMacro(AlphaBitPlanes, vtkTypeBool);
281  vtkBooleanMacro(AlphaBitPlanes, vtkTypeBool);
283 
285 
289  vtkSetMacro(PointSmoothing, vtkTypeBool);
290  vtkGetMacro(PointSmoothing, vtkTypeBool);
291  vtkBooleanMacro(PointSmoothing, vtkTypeBool);
293 
295 
299  vtkSetMacro(LineSmoothing, vtkTypeBool);
300  vtkGetMacro(LineSmoothing, vtkTypeBool);
301  vtkBooleanMacro(LineSmoothing, vtkTypeBool);
303 
305 
309  vtkSetMacro(PolygonSmoothing, vtkTypeBool);
310  vtkGetMacro(PolygonSmoothing, vtkTypeBool);
311  vtkBooleanMacro(PolygonSmoothing, vtkTypeBool);
313 
315 
336  vtkGetMacro(StereoType, int);
337  void SetStereoType(int);
338  void SetStereoTypeToCrystalEyes() { this->SetStereoType(VTK_STEREO_CRYSTAL_EYES); }
339  void SetStereoTypeToRedBlue() { this->SetStereoType(VTK_STEREO_RED_BLUE); }
340  void SetStereoTypeToInterlaced() { this->SetStereoType(VTK_STEREO_INTERLACED); }
341  void SetStereoTypeToLeft() { this->SetStereoType(VTK_STEREO_LEFT); }
342  void SetStereoTypeToRight() { this->SetStereoType(VTK_STEREO_RIGHT); }
343  void SetStereoTypeToDresden() { this->SetStereoType(VTK_STEREO_DRESDEN); }
344  void SetStereoTypeToAnaglyph() { this->SetStereoType(VTK_STEREO_ANAGLYPH); }
345  void SetStereoTypeToCheckerboard() { this->SetStereoType(VTK_STEREO_CHECKERBOARD); }
347  {
348  this->SetStereoType(VTK_STEREO_SPLITVIEWPORT_HORIZONTAL);
349  }
350  void SetStereoTypeToFake() { this->SetStereoType(VTK_STEREO_FAKE); }
351  void SetStereoTypeToEmulate() { this->SetStereoType(VTK_STEREO_EMULATE); }
353 
355 
358  const char* GetStereoTypeAsString();
359  static const char* GetStereoTypeAsString(int type);
361 
366  virtual void StereoUpdate();
367 
372  virtual void StereoMidpoint();
373 
378  virtual void StereoRenderComplete();
379 
381 
388  vtkSetClampMacro(AnaglyphColorSaturation, float, 0.0f, 1.0f);
389  vtkGetMacro(AnaglyphColorSaturation, float);
391 
393 
407  vtkSetVector2Macro(AnaglyphColorMask, int);
408  vtkGetVectorMacro(AnaglyphColorMask, int, 2);
410 
416  virtual void WindowRemap() {}
417 
419 
422  vtkSetMacro(SwapBuffers, vtkTypeBool);
423  vtkGetMacro(SwapBuffers, vtkTypeBool);
424  vtkBooleanMacro(SwapBuffers, vtkTypeBool);
426 
428 
440  virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, unsigned char* /*data*/,
441  int /*front*/, int /*right*/ = 0)
442  {
443  return 0;
444  }
445  virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
446  vtkUnsignedCharArray* /*data*/, int /*front*/, int /*right*/ = 0)
447  {
448  return 0;
449  }
451 
453 
460  virtual float* GetRGBAPixelData(
461  int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
462  {
463  return nullptr;
464  }
465  virtual int GetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
466  vtkFloatArray* /*data*/, int /*right*/ = 0)
467  {
468  return 0;
469  }
470  virtual int SetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float*, int /*front*/,
471  int /*blend*/ = 0, int /*right*/ = 0)
472  {
473  return 0;
474  }
475  virtual int SetRGBAPixelData(
476  int, int, int, int, vtkFloatArray*, int, int /*blend*/ = 0, int /*right*/ = 0)
477  {
478  return 0;
479  }
480  virtual void ReleaseRGBAPixelData(float* /*data*/) {}
481  virtual unsigned char* GetRGBACharPixelData(
482  int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
483  {
484  return nullptr;
485  }
486  virtual int GetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
487  vtkUnsignedCharArray* /*data*/, int /*right*/ = 0)
488  {
489  return 0;
490  }
491  virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
492  unsigned char* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
493  {
494  return 0;
495  }
496  virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
497  vtkUnsignedCharArray* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
498  {
499  return 0;
500  }
502 
504 
509  virtual float* GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/) { return nullptr; }
510  virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
511  {
512  return 0;
513  }
514  virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
515  {
516  return 0;
517  }
518  virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
519  {
520  return 0;
521  }
522  virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
523  {
524  return 0;
525  }
526  float GetZbufferDataAtPoint(int x, int y)
527  {
528  float value;
529  this->GetZbufferData(x, y, x, y, &value);
530  return value;
531  }
533 
535 
538  vtkGetMacro(NeverRendered, int);
540 
542 
546  vtkGetMacro(AbortRender, int);
547  vtkSetMacro(AbortRender, int);
548  vtkGetMacro(InAbortCheck, int);
549  vtkSetMacro(InAbortCheck, int);
550  virtual int CheckAbortStatus();
552 
559  virtual vtkTypeBool GetEventPending() { return 0; }
560 
564  virtual int CheckInRenderStatus() { return this->InRender; }
565 
569  virtual void ClearInRenderStatus() { this->InRender = 0; }
570 
572 
580  virtual void SetDesiredUpdateRate(double);
581  vtkGetMacro(DesiredUpdateRate, double);
583 
585 
591  vtkGetMacro(NumberOfLayers, int);
592  vtkSetClampMacro(NumberOfLayers, int, 1, VTK_INT_MAX);
594 
596 
599  vtkGetObjectMacro(Interactor, vtkRenderWindowInteractor);
601 
605  virtual void SetInteractor(vtkRenderWindowInteractor*);
606 
611  void UnRegister(vtkObjectBase* o) override;
612 
614 
617  void SetDisplayId(void*) override {}
618  void SetWindowId(void*) override {}
619  virtual void SetNextWindowId(void*) {}
620  void SetParentId(void*) override {}
621  void* GetGenericDisplayId() override { return nullptr; }
622  void* GetGenericWindowId() override { return nullptr; }
623  void* GetGenericParentId() override { return nullptr; }
624  void* GetGenericContext() override { return nullptr; }
625  void* GetGenericDrawable() override { return nullptr; }
626  void SetWindowInfo(const char*) override {}
627  virtual void SetNextWindowInfo(const char*) {}
628  void SetParentInfo(const char*) override {}
630 
635  virtual bool InitializeFromCurrentContext() { return false; }
636 
638 
645  virtual void SetSharedRenderWindow(vtkRenderWindow*);
646  vtkGetObjectMacro(SharedRenderWindow, vtkRenderWindow);
647  virtual bool GetPlatformSupportsRenderWindowSharing() { return false; }
649 
654  virtual bool IsCurrent() { return false; }
655 
663  "Deprecated in 9.1 because no one knows what it's for and nothing uses it")
664  virtual bool IsDrawable();
665 
671  virtual void SetForceMakeCurrent() {}
672 
676  virtual const char* ReportCapabilities() { return "Not Implemented"; }
677 
681  virtual int SupportsOpenGL() { return 0; }
682 
686  virtual vtkTypeBool IsDirect() { return 0; }
687 
692  virtual int GetDepthBufferSize() { return 0; }
693 
698  virtual int GetColorBufferSizes(int* /*rgba*/) { return 0; }
699 
701 
705  virtual void SetMultiSamples(int);
706  vtkGetMacro(MultiSamples, int);
708 
710 
713  vtkSetMacro(StencilCapable, vtkTypeBool);
714  vtkGetMacro(StencilCapable, vtkTypeBool);
715  vtkBooleanMacro(StencilCapable, vtkTypeBool);
717 
719 
725  vtkSetMacro(DeviceIndex, int);
726  vtkGetMacro(DeviceIndex, int);
728 
732  virtual int GetNumberOfDevices() { return 0; }
733 
735 
739  vtkGetMacro(UseSRGBColorSpace, bool);
740  vtkSetMacro(UseSRGBColorSpace, bool);
741  vtkBooleanMacro(UseSRGBColorSpace, bool);
743 
749  virtual void GetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
750 
757  virtual bool GetDeviceToWorldMatrixForDevice(
758  vtkEventDataDevice device, vtkMatrix4x4* deviceToWorldMatrix);
759 
760 protected:
761  vtkRenderWindow();
762  ~vtkRenderWindow() override;
763 
764  virtual void DoStereoRender();
765 
770  int OldScreen[5];
785  int InRender;
790  int AnaglyphColorMask[2];
795 
798 
803 
805 
806 private:
807  vtkRenderWindow(const vtkRenderWindow&) = delete;
808  void operator=(const vtkRenderWindow&) = delete;
809 
810  vtkNew<vtkStereoCompositor> StereoCompositor;
811 };
812 
813 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:56
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.
void SetStereoTypeToRight()
Set/Get what type of stereo rendering to use.
#define VTK_DEPRECATED_IN_9_1_0(reason)
virtual int GetDepthBufferSize()
This method should be defined by the subclass.
#define VTK_STEREO_RIGHT
vtkSmartPointer< vtkUnsignedCharArray > StereoBuffer
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
float AnaglyphColorSaturation
vtkTypeBool PolygonSmoothing
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:41
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
vtkTypeBool LineSmoothing
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...
virtual void SetNextWindowId(void *)
Dummy stubs for vtkWindow API.
vtkTypeBool PointSmoothing
#define VTK_INT_MAX
Definition: vtkType.h:155
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:41
void SetStereoTypeToSplitViewportHorizontal()
Set/Get what type of stereo rendering to use.
vtkRenderWindow * SharedRenderWindow
#define VTK_STEREO_DRESDEN
vtkTypeBool StereoRender
void SetStereoTypeToAnaglyph()
Set/Get what type of stereo rendering to use.
#define VTK_STEREO_RED_BLUE
abstract specification for renderers
Definition: vtkRenderer.h:72
vtkSmartPointer< vtkUnsignedCharArray > ResultFrame
void SetWindowInfo(const char *) override
Dummy stubs for vtkWindow API.
virtual bool IsCurrent()
Tells if this window is the current graphics context for the calling thread.
virtual void Finalize()
Finalize the rendering process.
vtkTypeBool StencilCapable
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:69
window superclass for vtkRenderWindow
Definition: vtkWindow.h:38
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.
double AbortCheckTime
The universal time since the last abort check occurred.
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:39
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.
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...
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 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 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.
vtkTypeBool AlphaBitPlanes
abstract base class for most VTK objects
Definition: vtkObjectBase.h:73
vtkEventDataDevice
platform-independent event data structures
Definition: vtkEventData.h:25
vtkNew< vtkRenderTimerLog > RenderTimer
#define VTK_STEREO_CRYSTAL_EYES
vtkTypeBool SwapBuffers
vtkRendererCollection * GetRenderers()
Return the collection of renderers in the render window.
dynamic, self-adjusting array of unsigned char
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:55
virtual bool GetPlatformSupportsRenderWindowSharing()
Set/Get an already existing window that this window should share data with if possible.
virtual unsigned char * GetRGBACharPixelData(int, int, int, int, int, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
vtkTypeBool FullScreen
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:173
helper class to generate composited stereo images.
vtkTypeBool Borders
vtkRenderWindowInteractor * Interactor
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...
vtkTypeBool StereoCapableWindow
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.
vtkRendererCollection * Renderers