VTK  9.4.2
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(StereoCapableWindow, vtkTypeBool);
375 vtkBooleanMacro(StereoCapableWindow, vtkTypeBool);
376 virtual void SetStereoCapableWindow(vtkTypeBool capable);
378
380
383 vtkGetMacro(StereoRender, vtkTypeBool);
385 vtkBooleanMacro(StereoRender, vtkTypeBool);
387
389
392 vtkSetMacro(AlphaBitPlanes, vtkTypeBool);
393 vtkGetMacro(AlphaBitPlanes, vtkTypeBool);
394 vtkBooleanMacro(AlphaBitPlanes, vtkTypeBool);
396
398
402 vtkSetMacro(PointSmoothing, vtkTypeBool);
403 vtkGetMacro(PointSmoothing, vtkTypeBool);
404 vtkBooleanMacro(PointSmoothing, vtkTypeBool);
406
408
412 vtkSetMacro(LineSmoothing, vtkTypeBool);
413 vtkGetMacro(LineSmoothing, vtkTypeBool);
414 vtkBooleanMacro(LineSmoothing, vtkTypeBool);
416
418
422 vtkSetMacro(PolygonSmoothing, vtkTypeBool);
423 vtkGetMacro(PolygonSmoothing, vtkTypeBool);
424 vtkBooleanMacro(PolygonSmoothing, vtkTypeBool);
426
428
449 vtkGetMacro(StereoType, int);
450 void SetStereoType(int);
452 void SetStereoTypeToRedBlue() { this->SetStereoType(VTK_STEREO_RED_BLUE); }
453 void SetStereoTypeToInterlaced() { this->SetStereoType(VTK_STEREO_INTERLACED); }
454 void SetStereoTypeToLeft() { this->SetStereoType(VTK_STEREO_LEFT); }
455 void SetStereoTypeToRight() { this->SetStereoType(VTK_STEREO_RIGHT); }
456 void SetStereoTypeToDresden() { this->SetStereoType(VTK_STEREO_DRESDEN); }
457 void SetStereoTypeToAnaglyph() { this->SetStereoType(VTK_STEREO_ANAGLYPH); }
460 {
461 this->SetStereoType(VTK_STEREO_SPLITVIEWPORT_HORIZONTAL);
462 }
463 void SetStereoTypeToFake() { this->SetStereoType(VTK_STEREO_FAKE); }
464 void SetStereoTypeToEmulate() { this->SetStereoType(VTK_STEREO_EMULATE); }
466
468
472 static const char* GetStereoTypeAsString(int type);
474
479 virtual void StereoUpdate();
480
485 virtual void StereoMidpoint();
486
491 virtual void StereoRenderComplete();
492
494
501 vtkSetClampMacro(AnaglyphColorSaturation, float, 0.0f, 1.0f);
502 vtkGetMacro(AnaglyphColorSaturation, float);
504
506
520 vtkSetVector2Macro(AnaglyphColorMask, int);
521 vtkGetVectorMacro(AnaglyphColorMask, int, 2);
523
529 virtual void WindowRemap() {}
530
532
535 vtkSetMacro(SwapBuffers, vtkTypeBool);
536 vtkGetMacro(SwapBuffers, vtkTypeBool);
537 vtkBooleanMacro(SwapBuffers, vtkTypeBool);
539
541
553 virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, unsigned char* /*data*/,
554 int /*front*/, int /*right*/ = 0)
555 {
556 return 0;
557 }
558 virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
559 vtkUnsignedCharArray* /*data*/, int /*front*/, int /*right*/ = 0)
560 {
561 return 0;
562 }
564
566
573 virtual float* GetRGBAPixelData(
574 int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
575 {
576 return nullptr;
577 }
578 virtual int GetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
579 vtkFloatArray* /*data*/, int /*right*/ = 0)
580 {
581 return 0;
582 }
583 virtual int SetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float*, int /*front*/,
584 int /*blend*/ = 0, int /*right*/ = 0)
585 {
586 return 0;
587 }
588 virtual int SetRGBAPixelData(
589 int, int, int, int, vtkFloatArray*, int, int /*blend*/ = 0, int /*right*/ = 0)
590 {
591 return 0;
592 }
593 virtual void ReleaseRGBAPixelData(float* /*data*/) {}
594 virtual unsigned char* GetRGBACharPixelData(
595 int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
596 {
597 return nullptr;
598 }
599 virtual int GetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
600 vtkUnsignedCharArray* /*data*/, int /*right*/ = 0)
601 {
602 return 0;
603 }
604 virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
605 unsigned char* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
606 {
607 return 0;
608 }
609 virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
610 vtkUnsignedCharArray* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
611 {
612 return 0;
613 }
615
617
622 virtual float* GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/) { return nullptr; }
623 virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
624 {
625 return 0;
626 }
627 virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
628 {
629 return 0;
630 }
631 virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
632 {
633 return 0;
634 }
635 virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
636 {
637 return 0;
638 }
639 float GetZbufferDataAtPoint(int x, int y)
640 {
641 float value = 1.0f;
642 this->GetZbufferData(x, y, x, y, &value);
643 return value;
644 }
646
648
651 vtkGetMacro(NeverRendered, int);
653
655
659 vtkGetMacro(AbortRender, int);
660 vtkSetMacro(AbortRender, int);
661 vtkGetMacro(InAbortCheck, int);
662 vtkSetMacro(InAbortCheck, int);
663 virtual int CheckAbortStatus();
665
672 virtual vtkTypeBool GetEventPending() { return 0; }
673
677 virtual int CheckInRenderStatus() { return this->InRender; }
678
682 virtual void ClearInRenderStatus() { this->InRender = 0; }
683
685
693 virtual void SetDesiredUpdateRate(double);
694 vtkGetMacro(DesiredUpdateRate, double);
696
698
704 vtkGetMacro(NumberOfLayers, int);
705 vtkSetClampMacro(NumberOfLayers, int, 1, VTK_INT_MAX);
707
709
712 vtkGetObjectMacro(Interactor, vtkRenderWindowInteractor);
714
719
724 void UnRegister(vtkObjectBase* o) override;
725
727
730 void SetDisplayId(void*) override {}
731 void SetWindowId(void*) override {}
732 virtual void SetNextWindowId(void*) {}
733 void SetParentId(void*) override {}
734 void* GetGenericDisplayId() override { return nullptr; }
735 void* GetGenericWindowId() override { return nullptr; }
736 void* GetGenericParentId() override { return nullptr; }
737 void* GetGenericContext() override { return nullptr; }
738 void* GetGenericDrawable() override { return nullptr; }
739 void SetWindowInfo(const char*) override {}
740 virtual void SetNextWindowInfo(const char*) {}
741 void SetParentInfo(const char*) override {}
743
748 virtual bool InitializeFromCurrentContext() { return false; }
749
751
759 vtkGetObjectMacro(SharedRenderWindow, vtkRenderWindow);
760 virtual bool GetPlatformSupportsRenderWindowSharing() { return false; }
762
767 virtual bool IsCurrent() { return false; }
768
774 virtual void SetForceMakeCurrent() {}
775
779 virtual const char* ReportCapabilities() { return "Not Implemented"; }
780
784 virtual int SupportsOpenGL() { return 0; }
785
789 virtual vtkTypeBool IsDirect() { return 0; }
790
795 virtual int GetDepthBufferSize() { return 0; }
796
801 virtual int GetColorBufferSizes(int* /*rgba*/) { return 0; }
802
804
809 virtual void SetMultiSamples(int);
810 vtkGetMacro(MultiSamples, int);
812
814
817 vtkSetMacro(StencilCapable, vtkTypeBool);
818 vtkGetMacro(StencilCapable, vtkTypeBool);
819 vtkBooleanMacro(StencilCapable, vtkTypeBool);
821
823
829 vtkSetMacro(DeviceIndex, int);
830 vtkGetMacro(DeviceIndex, int);
832
836 virtual int GetNumberOfDevices() { return 0; }
837
839
843 vtkGetMacro(UseSRGBColorSpace, bool);
844 vtkSetMacro(UseSRGBColorSpace, bool);
845 vtkBooleanMacro(UseSRGBColorSpace, bool);
847
848 enum
849 {
850 PhysicalToWorldMatrixModified = vtkCommand::UserEvent + 200
851 };
852
854
862 virtual void SetPhysicalViewDirection(double, double, double);
863 virtual void SetPhysicalViewDirection(double[3]);
864 vtkGetVector3Macro(PhysicalViewDirection, double);
866
868
876 virtual void SetPhysicalViewUp(double, double, double);
877 virtual void SetPhysicalViewUp(double[3]);
878 vtkGetVector3Macro(PhysicalViewUp, double);
880
882
890 virtual void SetPhysicalTranslation(double, double, double);
891 virtual void SetPhysicalTranslation(double[3]);
892 vtkGetVector3Macro(PhysicalTranslation, double);
894
896
905 virtual void SetPhysicalScale(double);
906 vtkGetMacro(PhysicalScale, double);
908
915 virtual void SetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
916
922 virtual void GetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
923
930 virtual bool GetDeviceToWorldMatrixForDevice(
931 vtkEventDataDevice device, vtkMatrix4x4* deviceToWorldMatrix);
932
934
940 vtkGetMacro(EnableTranslucentSurface, bool);
941 vtkSetMacro(EnableTranslucentSurface, bool);
942 vtkBooleanMacro(EnableTranslucentSurface, bool);
944
945protected:
947 ~vtkRenderWindow() override;
948
949 virtual void DoStereoRender();
950
953 vtkTypeBool Borders;
954 vtkTypeBool FullScreen;
955 int OldScreen[5];
956 vtkTypeBool PointSmoothing;
957 vtkTypeBool LineSmoothing;
958 vtkTypeBool PolygonSmoothing;
959 vtkTypeBool StereoRender;
960 int StereoType;
961 vtkTypeBool StereoCapableWindow;
962 vtkTypeBool AlphaBitPlanes;
964 vtkSmartPointer<vtkUnsignedCharArray> StereoBuffer; // used for red blue stereo
966 vtkTypeBool SwapBuffers;
967 double DesiredUpdateRate;
968 int AbortRender;
969 int InAbortCheck;
970 int InRender;
971 int NeverRendered;
972 int NumberOfLayers;
973 int CurrentCursor;
974 float AnaglyphColorSaturation;
975 int AnaglyphColorMask[2];
976 int MultiSamples;
977 vtkTypeBool StencilCapable;
978 int CapturingGL2PSSpecialProps;
979 int DeviceIndex;
980
981 bool UseSRGBColorSpace;
982 char* CursorFileName;
983
987 double AbortCheckTime;
988
989 vtkRenderWindow* SharedRenderWindow;
990
991 // -Z axis of the Physical to World matrix
992 double PhysicalViewDirection[3] = { 0.0, 0.0, -1.0 };
993 // Y axis of the Physical to World matrix
994 double PhysicalViewUp[3] = { 0.0, 1.0, 0.0 };
995 // Inverse of the translation component of the Physical to World matrix, in mm
996 double PhysicalTranslation[3] = { 0.0, 0.0, 0.0 };
997 // Scale of the Physical to World matrix
998 double PhysicalScale = 1.0;
999
1000 bool EnableTranslucentSurface = false;
1001
1002 bool Initialized = false;
1003
1004private:
1005 vtkRenderWindow(const vtkRenderWindow&) = delete;
1006 void operator=(const vtkRenderWindow&) = delete;
1007
1008 vtkNew<vtkStereoCompositor> StereoCompositor;
1009};
1010
1011VTK_ABI_NAMESPACE_END
1012#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...
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)