VTK  9.5.20250528
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
48VTK_ABI_NAMESPACE_BEGIN
49class vtkFloatArray;
50class vtkProp;
51class vtkCollection;
52class vtkMatrix4x4;
55class vtkRenderer;
59
60// lets define the different types of stereo
61#define VTK_STEREO_CRYSTAL_EYES 1
62#define VTK_STEREO_RED_BLUE 2
63#define VTK_STEREO_INTERLACED 3
64#define VTK_STEREO_LEFT 4
65#define VTK_STEREO_RIGHT 5
66#define VTK_STEREO_DRESDEN 6
67#define VTK_STEREO_ANAGLYPH 7
68#define VTK_STEREO_CHECKERBOARD 8
69#define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL 9
70#define VTK_STEREO_FAKE 10
71#define VTK_STEREO_EMULATE 11
72#define VTK_STEREO_ZSPACE_INSPIRE 12
73
74#define VTK_CURSOR_DEFAULT 0
75#define VTK_CURSOR_ARROW 1
76#define VTK_CURSOR_SIZENE 2
77#define VTK_CURSOR_SIZENW 3
78#define VTK_CURSOR_SIZESW 4
79#define VTK_CURSOR_SIZESE 5
80#define VTK_CURSOR_SIZENS 6
81#define VTK_CURSOR_SIZEWE 7
82#define VTK_CURSOR_SIZEALL 8
83#define VTK_CURSOR_HAND 9
84#define VTK_CURSOR_CROSSHAIR 10
85#define VTK_CURSOR_CUSTOM 11
86
87class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkRenderWindow : public vtkWindow
88{
89public:
90 vtkTypeMacro(vtkRenderWindow, vtkWindow);
91 void PrintSelf(ostream& os, vtkIndent indent) override;
92
99
103 virtual void AddRenderer(vtkRenderer*);
104
109
114
118 static const char* GetRenderLibrary();
119
123 virtual const char* GetRenderingBackend();
124
129
133 vtkRendererCollection* GetRenderers() { return this->Renderers; }
134
143
145
148 vtkGetMacro(CapturingGL2PSSpecialProps, int);
150
155 void Render() override;
156
160 virtual void Start() {}
161
165 virtual void End() {}
166
172 virtual void Initialize() {}
173
175
178 vtkGetMacro(Initialized, bool);
180
184 virtual void Finalize() {}
185
190 virtual void Frame() {}
191
196 virtual void WaitForCompletion() {}
197
202 virtual void CopyResultFrame();
203
210
212
218 virtual void HideCursor() {}
219 virtual void ShowCursor() {}
220 virtual void SetCursorPosition(int, int) {}
222
224
227 vtkSetMacro(CurrentCursor, int);
228 vtkGetMacro(CurrentCursor, int);
230
232
236 vtkSetFilePathMacro(CursorFileName);
237 vtkGetFilePathMacro(CursorFileName);
239
241
244 virtual void SetFullScreen(vtkTypeBool) {}
245 vtkGetMacro(FullScreen, vtkTypeBool);
246 vtkBooleanMacro(FullScreen, vtkTypeBool);
248
250
255 vtkSetMacro(Borders, vtkTypeBool);
256 vtkGetMacro(Borders, vtkTypeBool);
257 vtkBooleanMacro(Borders, vtkTypeBool);
259
261
265 vtkGetMacro(Coverable, vtkTypeBool);
266 vtkBooleanMacro(Coverable, vtkTypeBool);
267 virtual void SetCoverable(vtkTypeBool coverable);
269
271
275 vtkGetMacro(StereoCapableWindow, vtkTypeBool);
276 vtkBooleanMacro(StereoCapableWindow, vtkTypeBool);
277 virtual void SetStereoCapableWindow(vtkTypeBool capable);
279
281
302 vtkGetMacro(StereoType, int);
303 void SetStereoType(int);
305 void SetStereoTypeToRedBlue() { this->SetStereoType(VTK_STEREO_RED_BLUE); }
306 void SetStereoTypeToInterlaced() { this->SetStereoType(VTK_STEREO_INTERLACED); }
307 void SetStereoTypeToLeft() { this->SetStereoType(VTK_STEREO_LEFT); }
308 void SetStereoTypeToRight() { this->SetStereoType(VTK_STEREO_RIGHT); }
309 void SetStereoTypeToDresden() { this->SetStereoType(VTK_STEREO_DRESDEN); }
310 void SetStereoTypeToAnaglyph() { this->SetStereoType(VTK_STEREO_ANAGLYPH); }
313 {
314 this->SetStereoType(VTK_STEREO_SPLITVIEWPORT_HORIZONTAL);
315 }
316 void SetStereoTypeToFake() { this->SetStereoType(VTK_STEREO_FAKE); }
317 void SetStereoTypeToEmulate() { this->SetStereoType(VTK_STEREO_EMULATE); }
319
321
325 static const char* GetStereoTypeAsString(int type);
327
329
332 vtkGetMacro(StereoRender, vtkTypeBool);
334 vtkBooleanMacro(StereoRender, vtkTypeBool);
336
338
341 vtkSetMacro(AlphaBitPlanes, vtkTypeBool);
342 vtkGetMacro(AlphaBitPlanes, vtkTypeBool);
343 vtkBooleanMacro(AlphaBitPlanes, vtkTypeBool);
345
347
351 vtkSetMacro(PointSmoothing, vtkTypeBool);
352 vtkGetMacro(PointSmoothing, vtkTypeBool);
353 vtkBooleanMacro(PointSmoothing, vtkTypeBool);
355
357
361 vtkSetMacro(LineSmoothing, vtkTypeBool);
362 vtkGetMacro(LineSmoothing, vtkTypeBool);
363 vtkBooleanMacro(LineSmoothing, vtkTypeBool);
365
367
371 vtkSetMacro(PolygonSmoothing, vtkTypeBool);
372 vtkGetMacro(PolygonSmoothing, vtkTypeBool);
373 vtkBooleanMacro(PolygonSmoothing, vtkTypeBool);
375
380 virtual void StereoUpdate();
381
386 virtual void StereoMidpoint();
387
392 virtual void StereoRenderComplete();
393
395
402 vtkSetClampMacro(AnaglyphColorSaturation, float, 0.0f, 1.0f);
403 vtkGetMacro(AnaglyphColorSaturation, float);
405
407
421 vtkSetVector2Macro(AnaglyphColorMask, int);
422 vtkGetVectorMacro(AnaglyphColorMask, int, 2);
424
430 virtual void WindowRemap() {}
431
433
436 vtkSetMacro(SwapBuffers, vtkTypeBool);
437 vtkGetMacro(SwapBuffers, vtkTypeBool);
438 vtkBooleanMacro(SwapBuffers, vtkTypeBool);
440
442
454 virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, unsigned char* /*data*/,
455 int /*front*/, int /*right*/ = 0)
456 {
457 return 0;
458 }
459 virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
460 vtkUnsignedCharArray* /*data*/, int /*front*/, int /*right*/ = 0)
461 {
462 return 0;
463 }
465
467
474 virtual float* GetRGBAPixelData(
475 int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
476 {
477 return nullptr;
478 }
479 virtual int GetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
480 vtkFloatArray* /*data*/, int /*right*/ = 0)
481 {
482 return 0;
483 }
484 virtual int SetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float*, int /*front*/,
485 int /*blend*/ = 0, int /*right*/ = 0)
486 {
487 return 0;
488 }
489 virtual int SetRGBAPixelData(
490 int, int, int, int, vtkFloatArray*, int, int /*blend*/ = 0, int /*right*/ = 0)
491 {
492 return 0;
493 }
494 virtual void ReleaseRGBAPixelData(float* /*data*/) {}
495 virtual unsigned char* GetRGBACharPixelData(
496 int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
497 {
498 return nullptr;
499 }
500 virtual int GetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
501 vtkUnsignedCharArray* /*data*/, int /*right*/ = 0)
502 {
503 return 0;
504 }
505 virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
506 unsigned char* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
507 {
508 return 0;
509 }
510 virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
511 vtkUnsignedCharArray* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
512 {
513 return 0;
514 }
516
518
523 virtual float* GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/) { return nullptr; }
524 virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
525 {
526 return 0;
527 }
528 virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
529 {
530 return 0;
531 }
532 virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
533 {
534 return 0;
535 }
536 virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
537 {
538 return 0;
539 }
540 float GetZbufferDataAtPoint(int x, int y)
541 {
542 float value = 1.0f;
543 this->GetZbufferData(x, y, x, y, &value);
544 return value;
545 }
547
549
552 vtkGetMacro(NeverRendered, int);
554
556
560 vtkGetMacro(AbortRender, int);
561 vtkSetMacro(AbortRender, int);
562 vtkGetMacro(InAbortCheck, int);
563 vtkSetMacro(InAbortCheck, int);
564 virtual int CheckAbortStatus();
566
573 virtual vtkTypeBool GetEventPending() { return 0; }
574
578 virtual int CheckInRenderStatus() { return this->InRender; }
579
583 virtual void ClearInRenderStatus() { this->InRender = 0; }
584
586
594 virtual void SetDesiredUpdateRate(double);
595 vtkGetMacro(DesiredUpdateRate, double);
597
599
605 vtkGetMacro(NumberOfLayers, int);
606 vtkSetClampMacro(NumberOfLayers, int, 1, VTK_INT_MAX);
608
610
613 vtkGetObjectMacro(Interactor, vtkRenderWindowInteractor);
615
620
625 void UnRegister(vtkObjectBase* o) override;
626
628
631 void SetDisplayId(void*) override {}
632 void SetWindowId(void*) override {}
633 virtual void SetNextWindowId(void*) {}
634 void SetParentId(void*) override {}
635 void* GetGenericDisplayId() override { return nullptr; }
636 void* GetGenericWindowId() override { return nullptr; }
637 void* GetGenericParentId() override { return nullptr; }
638 void* GetGenericContext() override { return nullptr; }
639 void* GetGenericDrawable() override { return nullptr; }
640 void SetWindowInfo(const char*) override {}
641 virtual void SetNextWindowInfo(const char*) {}
642 void SetParentInfo(const char*) override {}
644
649 virtual bool InitializeFromCurrentContext() { return false; }
650
652
660 vtkGetObjectMacro(SharedRenderWindow, vtkRenderWindow);
661 virtual bool GetPlatformSupportsRenderWindowSharing() { return false; }
663
668 virtual bool IsCurrent() { return false; }
669
675 virtual void SetForceMakeCurrent() {}
676
680 virtual const char* ReportCapabilities() { return "Not Implemented"; }
681
685 virtual int SupportsOpenGL() { return 0; }
686
690 virtual vtkTypeBool IsDirect() { return 0; }
691
696 virtual int GetDepthBufferSize() { return 0; }
697
702 virtual int GetColorBufferSizes(int* /*rgba*/) { return 0; }
703
705
710 virtual void SetMultiSamples(int);
711 vtkGetMacro(MultiSamples, int);
713
715
718 vtkSetMacro(StencilCapable, vtkTypeBool);
719 vtkGetMacro(StencilCapable, vtkTypeBool);
720 vtkBooleanMacro(StencilCapable, vtkTypeBool);
722
724
730 vtkSetMacro(DeviceIndex, int);
731 vtkGetMacro(DeviceIndex, int);
733
737 virtual int GetNumberOfDevices() { return 0; }
738
740
744 vtkGetMacro(UseSRGBColorSpace, bool);
745 vtkSetMacro(UseSRGBColorSpace, bool);
746 vtkBooleanMacro(UseSRGBColorSpace, bool);
748
749 enum
750 {
751 PhysicalToWorldMatrixModified = vtkCommand::UserEvent + 200
752 };
753
755
763 virtual void SetPhysicalViewDirection(double, double, double);
764 virtual void SetPhysicalViewDirection(double[3]);
765 vtkGetVector3Macro(PhysicalViewDirection, double);
767
769
777 virtual void SetPhysicalViewUp(double, double, double);
778 virtual void SetPhysicalViewUp(double[3]);
779 vtkGetVector3Macro(PhysicalViewUp, double);
781
783
791 virtual void SetPhysicalTranslation(double, double, double);
792 virtual void SetPhysicalTranslation(double[3]);
793 vtkGetVector3Macro(PhysicalTranslation, double);
795
797
806 virtual void SetPhysicalScale(double);
807 vtkGetMacro(PhysicalScale, double);
809
816 virtual void SetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
817
823 virtual void GetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
824
831 virtual bool GetDeviceToWorldMatrixForDevice(
832 vtkEventDataDevice device, vtkMatrix4x4* deviceToWorldMatrix);
833
835
841 vtkGetMacro(EnableTranslucentSurface, bool);
842 vtkSetMacro(EnableTranslucentSurface, bool);
843 vtkBooleanMacro(EnableTranslucentSurface, bool);
845
846protected:
848 ~vtkRenderWindow() override;
849
850 virtual void DoStereoRender();
851
854 vtkTypeBool Borders;
855 vtkTypeBool Coverable;
856 vtkTypeBool FullScreen;
857 int OldScreen[5];
858 vtkTypeBool PointSmoothing;
859 vtkTypeBool LineSmoothing;
860 vtkTypeBool PolygonSmoothing;
861 vtkTypeBool StereoRender;
862 int StereoType;
863 vtkTypeBool StereoCapableWindow;
864 vtkTypeBool AlphaBitPlanes;
866 vtkSmartPointer<vtkUnsignedCharArray> StereoBuffer; // used for red blue stereo
868 vtkTypeBool SwapBuffers;
869 double DesiredUpdateRate;
870 int AbortRender;
871 int InAbortCheck;
872 int InRender;
873 int NeverRendered;
874 int NumberOfLayers;
875 int CurrentCursor;
876 float AnaglyphColorSaturation;
877 int AnaglyphColorMask[2];
878 int MultiSamples;
879 vtkTypeBool StencilCapable;
880 int CapturingGL2PSSpecialProps;
881 int DeviceIndex;
882
883 bool UseSRGBColorSpace;
884 char* CursorFileName;
885
889 double AbortCheckTime;
890
891 vtkRenderWindow* SharedRenderWindow;
892
893 // -Z axis of the Physical to World matrix
894 double PhysicalViewDirection[3] = { 0.0, 0.0, -1.0 };
895 // Y axis of the Physical to World matrix
896 double PhysicalViewUp[3] = { 0.0, 1.0, 0.0 };
897 // Inverse of the translation component of the Physical to World matrix, in mm
898 double PhysicalTranslation[3] = { 0.0, 0.0, 0.0 };
899 // Scale of the Physical to World matrix
900 double PhysicalScale = 1.0;
901
902 bool EnableTranslucentSurface = false;
903
904 bool Initialized = false;
905
906private:
907 vtkRenderWindow(const vtkRenderWindow&) = delete;
908 void operator=(const vtkRenderWindow&) = delete;
909
910 vtkNew<vtkStereoCompositor> StereoCompositor;
911};
912
913VTK_ABI_NAMESPACE_END
914#endif
create and manipulate ordered lists of objects
dynamic, self-adjusting array of float
a simple class to control print indentation
Definition vtkIndent.h:29
represent and manipulate 4x4 transformation matrices
Allocate and hold a VTK object.
Definition vtkNew.h:58
abstract base class for most VTK objects
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:47
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 * GetGenericDrawable() override
Dummy stubs for vtkWindow API.
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 void SetPhysicalViewUp(double, double, double)
Set/get physical coordinate system in world coordinate system.
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.
virtual void SetPhysicalTranslation(double, double, double)
Set/get physical coordinate system in world coordinate system.
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.
void SetStereoTypeToRedBlue()
Set/Get what type of stereo rendering to use.
virtual void Initialize()
Initializes the rendering process.
void SetParentInfo(const char *) override
Dummy stubs for vtkWindow API.
virtual void Finalize()
Finalize the rendering process.
vtkGetFilePathMacro(CursorFileName)
Set/Get the full path to the custom cursor.
void * GetGenericParentId() override
Dummy stubs for vtkWindow API.
virtual bool GetPlatformSupportsRenderWindowSharing()
Set/Get an already existing window that this window should share data with if possible.
virtual const char * GetRenderingBackend()
What rendering backend has the user requested.
virtual void SetPhysicalTranslation(double[3])
Set/get physical coordinate system in world coordinate system.
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 const char * ReportCapabilities()
Get report of capabilities for the render window.
virtual void Frame()
A termination method performed at the end of the rendering process to do things like swapping buffers...
virtual void SetCoverable(vtkTypeBool coverable)
Set/Get whether windows should be coverable (as opposed to always on top).
void SetStereoTypeToFake()
Set/Get what type of stereo rendering to use.
static const char * GetStereoTypeAsString(int type)
Returns the stereo type as a string.
virtual int GetZbufferData(int, int, int, int, vtkFloatArray *)
Set/Get the zbuffer data from the frame buffer.
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.
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on,...
void CaptureGL2PSSpecialProps(vtkCollection *specialProps)
The GL2PS exporter must handle certain props in a special way (e.g.
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.
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.
virtual vtkRenderWindowInteractor * MakeRenderWindowInteractor()
Create an interactor to control renderers in this window.
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.
virtual void SetPhysicalViewDirection(double, double, double)
Set/get physical coordinate system in world coordinate system.
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 float * GetZbufferData(int, int, int, int)
Set/Get the zbuffer data from the frame buffer.
void Render() override
Ask each renderer owned by this RenderWindow to render its image and synchronize this process.
void * GetGenericContext() override
Dummy stubs for vtkWindow API.
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 void SetPhysicalViewDirection(double[3])
Set/get physical coordinate system in world coordinate system.
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.
virtual void SetPhysicalViewUp(double[3])
Set/get physical coordinate system in world coordinate system.
void SetStereoTypeToCheckerboard()
Set/Get what type of stereo rendering to use.
void UnRegister(vtkObjectBase *o) override
This Method detects loops of RenderWindow<->Interactor, so objects are freed properly.
virtual int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
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.
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 unsigned char * GetRGBACharPixelData(int, int, int, int, int, 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.
static const char * GetRenderLibrary()
What rendering library has the user requested.
void * GetGenericWindowId() override
Dummy stubs for vtkWindow API.
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.
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.
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.
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...
virtual float * GetRGBAPixelData(int, int, int, int, int, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual vtkTypeBool IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
vtkRendererCollection * GetRenderers()
Return the collection of renderers in the render window.
void SetStereoTypeToCrystalEyes()
Set/Get what type of stereo rendering to use.
virtual void SetPhysicalScale(double)
Set/get physical coordinate system in world coordinate system.
void SetStereoTypeToRight()
Set/Get what type of stereo rendering to use.
virtual int CheckInRenderStatus()
Are we rendering at the moment.
void * GetGenericDisplayId() override
Dummy stubs for vtkWindow API.
virtual bool IsCurrent()
Tells if this window is the current graphics context for the calling thread.
const char * GetStereoTypeAsString()
Returns the stereo type as a string.
an ordered list of renderers
abstract specification for renderers
Definition vtkRenderer.h:63
Hold a reference to a vtkObjectBase instance.
helper class to generate composited stereo images.
dynamic, self-adjusting array of unsigned char
window superclass for vtkRenderWindow
Definition vtkWindow.h:29
int vtkTypeBool
Definition vtkABI.h:64
vtkEventDataDevice
platform-independent event data structures
#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:161
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALAUTO
#define VTK_MARSHALEXCLUDE(reason)