VTK  9.5.20250802
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 vtkGetNewMacro(RenderTimer, vtkRenderTimerLog);
239
243 vtkRendererCollection* GetRenderers() { return this->Renderers; }
244
253
255
258 vtkGetMacro(CapturingGL2PSSpecialProps, int);
260
265 void Render() override;
266
270 virtual void Start() {}
271
275 virtual void End() {}
276
282 virtual void Initialize() {}
283
285
288 vtkGetMacro(Initialized, bool);
290
294 virtual void Finalize() {}
295
300 virtual void Frame() {}
301
306 virtual void WaitForCompletion() {}
307
312 virtual void CopyResultFrame();
313
320
322
328 virtual void HideCursor() {}
329 virtual void ShowCursor() {}
330 virtual void SetCursorPosition(int, int) {}
332
334
337 vtkSetMacro(CurrentCursor, int);
338 vtkGetMacro(CurrentCursor, int);
340
342
346 vtkSetFilePathMacro(CursorFileName);
347 vtkGetFilePathMacro(CursorFileName);
349
351
354 virtual void SetFullScreen(vtkTypeBool) {}
355 vtkGetMacro(FullScreen, vtkTypeBool);
356 vtkBooleanMacro(FullScreen, vtkTypeBool);
358
360
365 vtkSetMacro(Borders, vtkTypeBool);
366 vtkGetMacro(Borders, vtkTypeBool);
367 vtkBooleanMacro(Borders, vtkTypeBool);
369
371
375 vtkGetMacro(Coverable, vtkTypeBool);
376 vtkBooleanMacro(Coverable, vtkTypeBool);
377 virtual void SetCoverable(vtkTypeBool coverable);
379
381
385 vtkGetMacro(StereoCapableWindow, vtkTypeBool);
386 vtkBooleanMacro(StereoCapableWindow, vtkTypeBool);
387 virtual void SetStereoCapableWindow(vtkTypeBool capable);
389
391
412 vtkGetMacro(StereoType, int);
413 void SetStereoType(int);
415 void SetStereoTypeToRedBlue() { this->SetStereoType(VTK_STEREO_RED_BLUE); }
416 void SetStereoTypeToInterlaced() { this->SetStereoType(VTK_STEREO_INTERLACED); }
417 void SetStereoTypeToLeft() { this->SetStereoType(VTK_STEREO_LEFT); }
418 void SetStereoTypeToRight() { this->SetStereoType(VTK_STEREO_RIGHT); }
419 void SetStereoTypeToDresden() { this->SetStereoType(VTK_STEREO_DRESDEN); }
420 void SetStereoTypeToAnaglyph() { this->SetStereoType(VTK_STEREO_ANAGLYPH); }
423 {
424 this->SetStereoType(VTK_STEREO_SPLITVIEWPORT_HORIZONTAL);
425 }
426 void SetStereoTypeToFake() { this->SetStereoType(VTK_STEREO_FAKE); }
427 void SetStereoTypeToEmulate() { this->SetStereoType(VTK_STEREO_EMULATE); }
429
431
435 static const char* GetStereoTypeAsString(int type);
437
439
442 vtkGetMacro(StereoRender, vtkTypeBool);
444 vtkBooleanMacro(StereoRender, vtkTypeBool);
446
448
451 vtkSetMacro(AlphaBitPlanes, vtkTypeBool);
452 vtkGetMacro(AlphaBitPlanes, vtkTypeBool);
453 vtkBooleanMacro(AlphaBitPlanes, vtkTypeBool);
455
457
461 vtkSetMacro(PointSmoothing, vtkTypeBool);
462 vtkGetMacro(PointSmoothing, vtkTypeBool);
463 vtkBooleanMacro(PointSmoothing, vtkTypeBool);
465
467
471 vtkSetMacro(LineSmoothing, vtkTypeBool);
472 vtkGetMacro(LineSmoothing, vtkTypeBool);
473 vtkBooleanMacro(LineSmoothing, vtkTypeBool);
475
477
481 vtkSetMacro(PolygonSmoothing, vtkTypeBool);
482 vtkGetMacro(PolygonSmoothing, vtkTypeBool);
483 vtkBooleanMacro(PolygonSmoothing, vtkTypeBool);
485
490 virtual void StereoUpdate();
491
496 virtual void StereoMidpoint();
497
502 virtual void StereoRenderComplete();
503
505
512 vtkSetClampMacro(AnaglyphColorSaturation, float, 0.0f, 1.0f);
513 vtkGetMacro(AnaglyphColorSaturation, float);
515
517
531 vtkSetVector2Macro(AnaglyphColorMask, int);
532 vtkGetVectorMacro(AnaglyphColorMask, int, 2);
534
540 virtual void WindowRemap() {}
541
543
546 vtkSetMacro(SwapBuffers, vtkTypeBool);
547 vtkGetMacro(SwapBuffers, vtkTypeBool);
548 vtkBooleanMacro(SwapBuffers, vtkTypeBool);
550
552
564 virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, unsigned char* /*data*/,
565 int /*front*/, int /*right*/ = 0)
566 {
567 return 0;
568 }
569 virtual int SetPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
570 vtkUnsignedCharArray* /*data*/, int /*front*/, int /*right*/ = 0)
571 {
572 return 0;
573 }
575
577
584 virtual float* GetRGBAPixelData(
585 int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
586 {
587 return nullptr;
588 }
589 virtual int GetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
590 vtkFloatArray* /*data*/, int /*right*/ = 0)
591 {
592 return 0;
593 }
594 virtual int SetRGBAPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float*, int /*front*/,
595 int /*blend*/ = 0, int /*right*/ = 0)
596 {
597 return 0;
598 }
599 virtual int SetRGBAPixelData(
600 int, int, int, int, vtkFloatArray*, int, int /*blend*/ = 0, int /*right*/ = 0)
601 {
602 return 0;
603 }
604 virtual void ReleaseRGBAPixelData(float* /*data*/) {}
605 virtual unsigned char* GetRGBACharPixelData(
606 int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/, int /*right*/ = 0)
607 {
608 return nullptr;
609 }
610 virtual int GetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, int /*front*/,
611 vtkUnsignedCharArray* /*data*/, int /*right*/ = 0)
612 {
613 return 0;
614 }
615 virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
616 unsigned char* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
617 {
618 return 0;
619 }
620 virtual int SetRGBACharPixelData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/,
621 vtkUnsignedCharArray* /*data*/, int /*front*/, int /*blend*/ = 0, int /*right*/ = 0)
622 {
623 return 0;
624 }
626
628
633 virtual float* GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/) { return nullptr; }
634 virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
635 {
636 return 0;
637 }
638 virtual int GetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
639 {
640 return 0;
641 }
642 virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, float* /*z*/)
643 {
644 return 0;
645 }
646 virtual int SetZbufferData(int /*x*/, int /*y*/, int /*x2*/, int /*y2*/, vtkFloatArray* /*z*/)
647 {
648 return 0;
649 }
650 float GetZbufferDataAtPoint(int x, int y)
651 {
652 float value = 1.0f;
653 this->GetZbufferData(x, y, x, y, &value);
654 return value;
655 }
657
659
662 vtkGetMacro(NeverRendered, int);
664
666
670 vtkGetMacro(AbortRender, int);
671 vtkSetMacro(AbortRender, int);
672 vtkGetMacro(InAbortCheck, int);
673 vtkSetMacro(InAbortCheck, int);
674 virtual int CheckAbortStatus();
676
683 virtual vtkTypeBool GetEventPending() { return 0; }
684
688 virtual int CheckInRenderStatus() { return this->InRender; }
689
693 virtual void ClearInRenderStatus() { this->InRender = 0; }
694
696
704 virtual void SetDesiredUpdateRate(double);
705 vtkGetMacro(DesiredUpdateRate, double);
707
709
715 vtkGetMacro(NumberOfLayers, int);
716 vtkSetClampMacro(NumberOfLayers, int, 1, VTK_INT_MAX);
718
720
723 vtkGetObjectMacro(Interactor, vtkRenderWindowInteractor);
725
730
735 void UnRegister(vtkObjectBase* o) override;
736
738
741 void SetDisplayId(void*) override {}
742 void SetWindowId(void*) override {}
743 virtual void SetNextWindowId(void*) {}
744 void SetParentId(void*) override {}
745 void* GetGenericDisplayId() override { return nullptr; }
746 void* GetGenericWindowId() override { return nullptr; }
747 void* GetGenericParentId() override { return nullptr; }
748 void* GetGenericContext() override { return nullptr; }
749 void* GetGenericDrawable() override { return nullptr; }
750 void SetWindowInfo(const char*) override {}
751 virtual void SetNextWindowInfo(const char*) {}
752 void SetParentInfo(const char*) override {}
754
759 virtual bool InitializeFromCurrentContext() { return false; }
760
762
770 vtkGetObjectMacro(SharedRenderWindow, vtkRenderWindow);
771 virtual bool GetPlatformSupportsRenderWindowSharing() { return false; }
773
778 virtual bool IsCurrent() { return false; }
779
785 virtual void SetForceMakeCurrent() {}
786
790 virtual const char* ReportCapabilities() { return "Not Implemented"; }
791
795 virtual int SupportsOpenGL() { return 0; }
796
800 virtual vtkTypeBool IsDirect() { return 0; }
801
806 virtual int GetDepthBufferSize() { return 0; }
807
812 virtual int GetColorBufferSizes(int* /*rgba*/) { return 0; }
813
815
820 virtual void SetMultiSamples(int);
821 vtkGetMacro(MultiSamples, int);
823
825
828 vtkSetMacro(StencilCapable, vtkTypeBool);
829 vtkGetMacro(StencilCapable, vtkTypeBool);
830 vtkBooleanMacro(StencilCapable, vtkTypeBool);
832
834
840 vtkSetMacro(DeviceIndex, int);
841 vtkGetMacro(DeviceIndex, int);
843
847 virtual int GetNumberOfDevices() { return 0; }
848
850
854 vtkGetMacro(UseSRGBColorSpace, bool);
855 vtkSetMacro(UseSRGBColorSpace, bool);
856 vtkBooleanMacro(UseSRGBColorSpace, bool);
858
859 enum
860 {
861 PhysicalToWorldMatrixModified = vtkCommand::UserEvent + 200
862 };
863
865
873 virtual void SetPhysicalViewDirection(double, double, double);
874 virtual void SetPhysicalViewDirection(double[3]);
875 vtkGetVector3Macro(PhysicalViewDirection, double);
877
879
887 virtual void SetPhysicalViewUp(double, double, double);
888 virtual void SetPhysicalViewUp(double[3]);
889 vtkGetVector3Macro(PhysicalViewUp, double);
891
893
901 virtual void SetPhysicalTranslation(double, double, double);
902 virtual void SetPhysicalTranslation(double[3]);
903 vtkGetVector3Macro(PhysicalTranslation, double);
905
907
916 virtual void SetPhysicalScale(double);
917 vtkGetMacro(PhysicalScale, double);
919
926 virtual void SetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
927
933 virtual void GetPhysicalToWorldMatrix(vtkMatrix4x4* matrix);
934
941 virtual bool GetDeviceToWorldMatrixForDevice(
942 vtkEventDataDevice device, vtkMatrix4x4* deviceToWorldMatrix);
943
945
951 vtkGetMacro(EnableTranslucentSurface, bool);
952 vtkSetMacro(EnableTranslucentSurface, bool);
953 vtkBooleanMacro(EnableTranslucentSurface, bool);
955
956protected:
958 ~vtkRenderWindow() override;
959
960 virtual void DoStereoRender();
961
964 vtkTypeBool Borders;
965 vtkTypeBool Coverable;
966 vtkTypeBool FullScreen;
967 int OldScreen[5];
968 vtkTypeBool PointSmoothing;
969 vtkTypeBool LineSmoothing;
970 vtkTypeBool PolygonSmoothing;
971 vtkTypeBool StereoRender;
972 int StereoType;
973 vtkTypeBool StereoCapableWindow;
974 vtkTypeBool AlphaBitPlanes;
976 vtkSmartPointer<vtkUnsignedCharArray> StereoBuffer; // used for red blue stereo
978 vtkTypeBool SwapBuffers;
979 double DesiredUpdateRate;
980 int AbortRender;
981 int InAbortCheck;
982 int InRender;
983 int NeverRendered;
984 int NumberOfLayers;
985 int CurrentCursor;
986 float AnaglyphColorSaturation;
987 int AnaglyphColorMask[2];
988 int MultiSamples;
989 vtkTypeBool StencilCapable;
990 int CapturingGL2PSSpecialProps;
991 int DeviceIndex;
992
993 bool UseSRGBColorSpace;
994 char* CursorFileName;
995
999 double AbortCheckTime;
1000
1001 vtkRenderWindow* SharedRenderWindow;
1002
1003 // -Z axis of the Physical to World matrix
1004 double PhysicalViewDirection[3] = { 0.0, 0.0, -1.0 };
1005 // Y axis of the Physical to World matrix
1006 double PhysicalViewUp[3] = { 0.0, 1.0, 0.0 };
1007 // Inverse of the translation component of the Physical to World matrix, in mm
1008 double PhysicalTranslation[3] = { 0.0, 0.0, 0.0 };
1009 // Scale of the Physical to World matrix
1010 double PhysicalScale = 1.0;
1011
1012 bool EnableTranslucentSurface = false;
1013
1014 bool Initialized = false;
1015
1016private:
1017 vtkRenderWindow(const vtkRenderWindow&) = delete;
1018 void operator=(const vtkRenderWindow&) = delete;
1019
1020 vtkNew<vtkStereoCompositor> StereoCompositor;
1021};
1022
1023VTK_ABI_NAMESPACE_END
1024#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:69
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.
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.
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:161
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALAUTO
#define VTK_MARSHALEXCLUDE(reason)