VTK  9.4.20241219
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
157VTK_ABI_NAMESPACE_BEGIN
158class vtkFloatArray;
159class vtkProp;
160class vtkCollection;
161class vtkMatrix4x4;
164class vtkRenderer;
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
196class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkRenderWindow : public vtkWindow
197{
198public:
200 void PrintSelf(ostream& os, vtkIndent indent) override;
201
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
281 virtual void Initialize() {}
282
284
287 vtkGetMacro(Initialized, bool);
289
293 virtual void Finalize() {}
294
299 virtual void Frame() {}
300
305 virtual void WaitForCompletion() {}
306
311 virtual void CopyResultFrame();
312
319
321
327 virtual void HideCursor() {}
328 virtual void ShowCursor() {}
329 virtual void SetCursorPosition(int, int) {}
331
333
336 vtkSetMacro(CurrentCursor, int);
337 vtkGetMacro(CurrentCursor, int);
339
341
345 vtkSetFilePathMacro(CursorFileName);
346 vtkGetFilePathMacro(CursorFileName);
348
350
353 virtual void SetFullScreen(vtkTypeBool) {}
354 vtkGetMacro(FullScreen, vtkTypeBool);
355 vtkBooleanMacro(FullScreen, vtkTypeBool);
357
359
364 vtkSetMacro(Borders, vtkTypeBool);
365 vtkGetMacro(Borders, vtkTypeBool);
366 vtkBooleanMacro(Borders, vtkTypeBool);
368
370
374 vtkGetMacro(Coverable, vtkTypeBool);
375 vtkBooleanMacro(Coverable, vtkTypeBool);
376 virtual void SetCoverable(vtkTypeBool coverable);
378
380
384 vtkGetMacro(StereoCapableWindow, vtkTypeBool);
385 vtkBooleanMacro(StereoCapableWindow, vtkTypeBool);
386 virtual void SetStereoCapableWindow(vtkTypeBool capable);
388
390
393 vtkGetMacro(StereoRender, vtkTypeBool);
395 vtkBooleanMacro(StereoRender, vtkTypeBool);
397
399
402 vtkSetMacro(AlphaBitPlanes, vtkTypeBool);
403 vtkGetMacro(AlphaBitPlanes, vtkTypeBool);
404 vtkBooleanMacro(AlphaBitPlanes, vtkTypeBool);
406
408
412 vtkSetMacro(PointSmoothing, vtkTypeBool);
413 vtkGetMacro(PointSmoothing, vtkTypeBool);
414 vtkBooleanMacro(PointSmoothing, vtkTypeBool);
416
418
422 vtkSetMacro(LineSmoothing, vtkTypeBool);
423 vtkGetMacro(LineSmoothing, vtkTypeBool);
424 vtkBooleanMacro(LineSmoothing, vtkTypeBool);
426
428
432 vtkSetMacro(PolygonSmoothing, vtkTypeBool);
433 vtkGetMacro(PolygonSmoothing, vtkTypeBool);
434 vtkBooleanMacro(PolygonSmoothing, vtkTypeBool);
436
438
459 vtkGetMacro(StereoType, int);
460 void SetStereoType(int);
462 void SetStereoTypeToRedBlue() { this->SetStereoType(VTK_STEREO_RED_BLUE); }
463 void SetStereoTypeToInterlaced() { this->SetStereoType(VTK_STEREO_INTERLACED); }
464 void SetStereoTypeToLeft() { this->SetStereoType(VTK_STEREO_LEFT); }
465 void SetStereoTypeToRight() { this->SetStereoType(VTK_STEREO_RIGHT); }
466 void SetStereoTypeToDresden() { this->SetStereoType(VTK_STEREO_DRESDEN); }
467 void SetStereoTypeToAnaglyph() { this->SetStereoType(VTK_STEREO_ANAGLYPH); }
470 {
471 this->SetStereoType(VTK_STEREO_SPLITVIEWPORT_HORIZONTAL);
472 }
473 void SetStereoTypeToFake() { this->SetStereoType(VTK_STEREO_FAKE); }
474 void SetStereoTypeToEmulate() { this->SetStereoType(VTK_STEREO_EMULATE); }
476
478
482 static const char* GetStereoTypeAsString(int type);
484
489 virtual void StereoUpdate();
490
495 virtual void StereoMidpoint();
496
501 virtual void StereoRenderComplete();
502
504
511 vtkSetClampMacro(AnaglyphColorSaturation, float, 0.0f, 1.0f);
512 vtkGetMacro(AnaglyphColorSaturation, float);
514
516
530 vtkSetVector2Macro(AnaglyphColorMask, int);
531 vtkGetVectorMacro(AnaglyphColorMask, int, 2);
533
539 virtual void WindowRemap() {}
540
542
545 vtkSetMacro(SwapBuffers, vtkTypeBool);
546 vtkGetMacro(SwapBuffers, vtkTypeBool);
547 vtkBooleanMacro(SwapBuffers, vtkTypeBool);
549
551
563 virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, unsigned char* /*data*/,
564 int /*front*/, int /*right*/ = 0)
565 {
566 return 0;
567 }
568 virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
569 vtkUnsignedCharArray* /*data*/, int /*front*/, int /*right*/ = 0)
570 {
571 return 0;
572 }
574
576
583 virtual float* GetRGBAPixelData(
584 int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
585 {
586 return nullptr;
587 }
588 virtual int GetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
589 vtkFloatArray* /*data*/, int /*right*/ = 0)
590 {
591 return 0;
592 }
593 virtual int SetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float*, int /*front*/,
594 int /*blend*/ = 0, int /*right*/ = 0)
595 {
596 return 0;
597 }
598 virtual int SetRGBAPixelData(
599 int, int, int, int, vtkFloatArray*, int, int /*blend*/ = 0, int /*right*/ = 0)
600 {
601 return 0;
602 }
603 virtual void ReleaseRGBAPixelData(float* /*data*/) {}
604 virtual unsigned char* GetRGBACharPixelData(
605 int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
606 {
607 return nullptr;
608 }
609 virtual int GetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
610 vtkUnsignedCharArray* /*data*/, int /*right*/ = 0)
611 {
612 return 0;
613 }
614 virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
615 unsigned char* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
616 {
617 return 0;
618 }
619 virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
620 vtkUnsignedCharArray* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
621 {
622 return 0;
623 }
625
627
632 virtual float* GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/) { return nullptr; }
633 virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
634 {
635 return 0;
636 }
637 virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
638 {
639 return 0;
640 }
641 virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
642 {
643 return 0;
644 }
645 virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
646 {
647 return 0;
648 }
649 float GetZbufferDataAtPoint(int x, int y)
650 {
651 float value = 1.0f;
652 this->GetZbufferData(x, y, x, y, &value);
653 return value;
654 }
656
658
661 vtkGetMacro(NeverRendered, int);
663
665
669 vtkGetMacro(AbortRender, int);
670 vtkSetMacro(AbortRender, int);
671 vtkGetMacro(InAbortCheck, int);
672 vtkSetMacro(InAbortCheck, int);
673 virtual int CheckAbortStatus();
675
682 virtual vtkTypeBool GetEventPending() { return 0; }
683
687 virtual int CheckInRenderStatus() { return this->InRender; }
688
692 virtual void ClearInRenderStatus() { this->InRender = 0; }
693
695
703 virtual void SetDesiredUpdateRate(double);
704 vtkGetMacro(DesiredUpdateRate, double);
706
708
714 vtkGetMacro(NumberOfLayers, int);
715 vtkSetClampMacro(NumberOfLayers, int, 1, VTK_INT_MAX);
717
719
722 vtkGetObjectMacro(Interactor, vtkRenderWindowInteractor);
724
729
734 void UnRegister(vtkObjectBase* o) override;
735
737
740 void SetDisplayId(void*) override {}
741 void SetWindowId(void*) override {}
742 virtual void SetNextWindowId(void*) {}
743 void SetParentId(void*) override {}
744 void* GetGenericDisplayId() override { return nullptr; }
745 void* GetGenericWindowId() override { return nullptr; }
746 void* GetGenericParentId() override { return nullptr; }
747 void* GetGenericContext() override { return nullptr; }
748 void* GetGenericDrawable() override { return nullptr; }
749 void SetWindowInfo(const char*) override {}
750 virtual void SetNextWindowInfo(const char*) {}
751 void SetParentInfo(const char*) override {}
753
758 virtual bool InitializeFromCurrentContext() { return false; }
759
761
769 vtkGetObjectMacro(SharedRenderWindow, vtkRenderWindow);
770 virtual bool GetPlatformSupportsRenderWindowSharing() { return false; }
772
777 virtual bool IsCurrent() { return false; }
778
784 virtual void SetForceMakeCurrent() {}
785
789 virtual const char* ReportCapabilities() { return "Not Implemented"; }
790
794 virtual int SupportsOpenGL() { return 0; }
795
799 virtual vtkTypeBool IsDirect() { return 0; }
800
805 virtual int GetDepthBufferSize() { return 0; }
806
811 virtual int GetColorBufferSizes(int* /*rgba*/) { return 0; }
812
814
819 virtual void SetMultiSamples(int);
820 vtkGetMacro(MultiSamples, int);
822
824
827 vtkSetMacro(StencilCapable, vtkTypeBool);
828 vtkGetMacro(StencilCapable, vtkTypeBool);
829 vtkBooleanMacro(StencilCapable, vtkTypeBool);
831
833
839 vtkSetMacro(DeviceIndex, int);
840 vtkGetMacro(DeviceIndex, int);
842
846 virtual int GetNumberOfDevices() { return 0; }
847
849
853 vtkGetMacro(UseSRGBColorSpace, bool);
854 vtkSetMacro(UseSRGBColorSpace, bool);
855 vtkBooleanMacro(UseSRGBColorSpace, bool);
857
858 enum
859 {
860 PhysicalToWorldMatrixModified = vtkCommand::UserEvent + 200
861 };
862
864
872 virtual void SetPhysicalViewDirection(double, double, double);
873 virtual void SetPhysicalViewDirection(double[3]);
874 vtkGetVector3Macro(PhysicalViewDirection, double);
876
878
886 virtual void SetPhysicalViewUp(double, double, double);
887 virtual void SetPhysicalViewUp(double[3]);
888 vtkGetVector3Macro(PhysicalViewUp, double);
890
892
900 virtual void SetPhysicalTranslation(double, double, double);
901 virtual void SetPhysicalTranslation(double[3]);
902 vtkGetVector3Macro(PhysicalTranslation, double);
904
906
915 virtual void SetPhysicalScale(double);
916 vtkGetMacro(PhysicalScale, double);
918
925 virtual void SetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
926
932 virtual void GetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
933
940 virtual bool GetDeviceToWorldMatrixForDevice(
941 vtkEventDataDevice device, vtkMatrix4x4* deviceToWorldMatrix);
942
944
950 vtkGetMacro(EnableTranslucentSurface, bool);
951 vtkSetMacro(EnableTranslucentSurface, bool);
952 vtkBooleanMacro(EnableTranslucentSurface, bool);
954
955protected:
957 ~vtkRenderWindow() override;
958
959 virtual void DoStereoRender();
960
963 vtkTypeBool Borders;
964 vtkTypeBool Coverable;
965 vtkTypeBool FullScreen;
966 int OldScreen[5];
967 vtkTypeBool PointSmoothing;
968 vtkTypeBool LineSmoothing;
969 vtkTypeBool PolygonSmoothing;
970 vtkTypeBool StereoRender;
971 int StereoType;
972 vtkTypeBool StereoCapableWindow;
973 vtkTypeBool AlphaBitPlanes;
975 vtkSmartPointer<vtkUnsignedCharArray> StereoBuffer; // used for red blue stereo
977 vtkTypeBool SwapBuffers;
978 double DesiredUpdateRate;
979 int AbortRender;
980 int InAbortCheck;
981 int InRender;
982 int NeverRendered;
983 int NumberOfLayers;
984 int CurrentCursor;
985 float AnaglyphColorSaturation;
986 int AnaglyphColorMask[2];
987 int MultiSamples;
988 vtkTypeBool StencilCapable;
989 int CapturingGL2PSSpecialProps;
990 int DeviceIndex;
991
992 bool UseSRGBColorSpace;
993 char* CursorFileName;
994
998 double AbortCheckTime;
999
1000 vtkRenderWindow* SharedRenderWindow;
1001
1002 // -Z axis of the Physical to World matrix
1003 double PhysicalViewDirection[3] = { 0.0, 0.0, -1.0 };
1004 // Y axis of the Physical to World matrix
1005 double PhysicalViewUp[3] = { 0.0, 1.0, 0.0 };
1006 // Inverse of the translation component of the Physical to World matrix, in mm
1007 double PhysicalTranslation[3] = { 0.0, 0.0, 0.0 };
1008 // Scale of the Physical to World matrix
1009 double PhysicalScale = 1.0;
1010
1011 bool EnableTranslucentSurface = false;
1012
1013 bool Initialized = false;
1014
1015private:
1016 vtkRenderWindow(const vtkRenderWindow&) = delete;
1017 void operator=(const vtkRenderWindow&) = delete;
1018
1019 vtkNew<vtkStereoCompositor> StereoCompositor;
1020};
1021
1022VTK_ABI_NAMESPACE_END
1023#endif
create and manipulate ordered lists of objects
dynamic, self-adjusting array of float
a simple class to control print indentation
Definition vtkIndent.h:108
represent and manipulate 4x4 transformation matrices
Allocate and hold a VTK object.
Definition vtkNew.h:167
abstract base class for most VTK objects
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 * 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
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:48
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:144
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALAUTO
#define VTK_MARSHALEXCLUDE(reason)