Go to the documentation of this file.
47 #ifndef vtkRenderWindow_h
48 #define vtkRenderWindow_h
50 #include "vtkRenderingCoreModule.h"
64 #define VTK_STEREO_CRYSTAL_EYES 1
65 #define VTK_STEREO_RED_BLUE 2
66 #define VTK_STEREO_INTERLACED 3
67 #define VTK_STEREO_LEFT 4
68 #define VTK_STEREO_RIGHT 5
69 #define VTK_STEREO_DRESDEN 6
70 #define VTK_STEREO_ANAGLYPH 7
71 #define VTK_STEREO_CHECKERBOARD 8
72 #define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL 9
73 #define VTK_STEREO_FAKE 10
75 #define VTK_CURSOR_DEFAULT 0
76 #define VTK_CURSOR_ARROW 1
77 #define VTK_CURSOR_SIZENE 2
78 #define VTK_CURSOR_SIZENW 3
79 #define VTK_CURSOR_SIZESW 4
80 #define VTK_CURSOR_SIZESE 5
81 #define VTK_CURSOR_SIZENS 6
82 #define VTK_CURSOR_SIZEWE 7
83 #define VTK_CURSOR_SIZEALL 8
84 #define VTK_CURSOR_HAND 9
85 #define VTK_CURSOR_CROSSHAIR 10
118 static const char *GetRenderLibrary();
123 virtual const char *GetRenderingBackend();
148 vtkGetMacro(CapturingGL2PSSpecialProps,
int);
160 virtual void Start() = 0;
165 virtual void Finalize() = 0;
171 virtual void Frame() = 0;
177 virtual void WaitForCompletion()=0;
183 virtual void CopyResultFrame();
199 virtual void HideCursor() = 0;
200 virtual void ShowCursor() = 0;
208 vtkSetMacro(CurrentCursor,
int);
209 vtkGetMacro(CurrentCursor,
int);
239 virtual void SetStereoCapableWindow(
vtkTypeBool capable);
309 vtkGetMacro(StereoType,
int);
310 void SetStereoType(
int);
333 const char *GetStereoTypeAsString();
339 virtual void StereoUpdate();
345 virtual void StereoMidpoint();
351 virtual void StereoRenderComplete();
361 vtkSetClampMacro(AnaglyphColorSaturation,
float, 0.0f, 1.0f);
362 vtkGetMacro(AnaglyphColorSaturation,
float);
380 vtkSetVector2Macro(AnaglyphColorMask,
int);
381 vtkGetVectorMacro(AnaglyphColorMask,
int,2);
389 virtual void WindowRemap() = 0;
413 virtual int SetPixelData(
int x,
int y,
int x2,
int y2,
unsigned char *
data,
414 int front,
int right=0) = 0;
415 virtual int SetPixelData(
int x,
int y,
int x2,
int y2,
427 virtual float *GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front,
int right=0) = 0;
428 virtual int GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front,
430 virtual int SetRGBAPixelData(
int x,
int y,
int x2,
int y2,
float *,
431 int front,
int blend=0,
int right=0) = 0;
432 virtual int SetRGBAPixelData(
int,
int,
int,
int,
vtkFloatArray*,
433 int,
int blend=0,
int right=0) = 0;
434 virtual void ReleaseRGBAPixelData(
float *
data) = 0;
435 virtual unsigned char *GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
436 int front,
int right=0) = 0;
437 virtual int GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
int front,
439 virtual int SetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
440 unsigned char *
data,
int front,
441 int blend=0,
int right=0) = 0;
442 virtual int SetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
444 int blend=0,
int right=0) = 0;
453 virtual float *GetZbufferData(
int x,
int y,
int x2,
int y2) = 0;
454 virtual int GetZbufferData(
int x,
int y,
int x2,
int y2,
float *z) = 0;
455 virtual int GetZbufferData(
int x,
int y,
int x2,
int y2,
457 virtual int SetZbufferData(
int x,
int y,
int x2,
int y2,
float *z) = 0;
458 virtual int SetZbufferData(
int x,
int y,
int x2,
int y2,
463 this->GetZbufferData(x, y, x, y, &
value);
472 vtkGetMacro(NeverRendered,
int);
480 vtkGetMacro(AbortRender,
int);
481 vtkSetMacro(AbortRender,
int);
482 vtkGetMacro(InAbortCheck,
int);
483 vtkSetMacro(InAbortCheck,
int);
484 virtual int CheckAbortStatus();
497 virtual int GetEventPending() = 0;
518 virtual void SetDesiredUpdateRate(
double);
519 vtkGetMacro(DesiredUpdateRate,
double);
529 vtkGetMacro(NumberOfLayers,
int);
530 vtkSetClampMacro(NumberOfLayers,
int, 1,
VTK_INT_MAX);
557 virtual void SetNextWindowId(
void *) = 0;
565 virtual void SetNextWindowInfo(
const char *) = 0;
598 virtual bool IsCurrent()=0;
634 virtual int GetDepthBufferSize() = 0;
640 virtual int GetColorBufferSizes(
int *rgba) = 0;
646 vtkSetMacro(MultiSamples,
int);
647 vtkGetMacro(MultiSamples,
int);
666 vtkSetMacro(DeviceIndex,
int);
667 vtkGetMacro(DeviceIndex,
int);
694 vtkGetMacro(UseSRGBColorSpace,
bool);
695 vtkSetMacro(UseSRGBColorSpace,
bool);
696 vtkBooleanMacro(UseSRGBColorSpace,
bool);
703 virtual void DoStereoRender();
732 int AnaglyphColorMask[2];
unsigned char * ResultFrame
vtkRenderWindow * SharedRenderWindow
virtual void * GetGenericParentId()=0
vtkTypeBool PointSmoothing
unsigned char * StereoBuffer
unsigned int AccumulationBufferSize
#define VTK_STEREO_RED_BLUE
virtual void SetDisplayId(void *)=0
These are window system independent methods that are used to help interface vtkWindow to native windo...
virtual bool GetUseOffScreenBuffers()
dynamic, self-adjusting array of float
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
void SetStereoTypeToRedBlue()
virtual int SetUseOffScreenBuffers(bool)
Create and bind offscreen rendering buffers without destroying the current OpenGL context.
dynamic, self-adjusting array of unsigned char
void SetStereoTypeToCheckerboard()
float GetZbufferDataAtPoint(int x, int y)
virtual void * GetGenericContext()=0
vtkRendererCollection * Renderers
an ordered list of renderers
#define VTK_STEREO_CRYSTAL_EYES
#define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL
virtual void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
virtual void * GetGenericDrawable()=0
window superclass for vtkRenderWindow
float AnaglyphColorSaturation
create and manipulate ordered lists of objects
virtual bool GetPlatformSupportsRenderWindowSharing()
void SetStereoTypeToAnaglyph()
abstract base class for most VTK objects
virtual void SetWindowId(void *)=0
vtkRenderWindowInteractor * Interactor
#define VTK_STEREO_INTERLACED
int CapturingGL2PSSpecialProps
void SetStereoTypeToLeft()
#define VTK_STEREO_ANAGLYPH
vtkTypeBool StencilCapable
a simple class to control print indentation
vtkTypeBool StereoCapableWindow
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void Render()=0
Ask each viewport owned by this Window to render its image and synchronize this process.
virtual const char * ReportCapabilities()
Get report of capabilities for the render window.
void SetStereoTypeToRight()
platform-independent render window interaction including picking and frame rate control.
Asynchronously measures GPU execution times for a series of events.
double AbortCheckTime
The universal time since the last abort check occurred.
virtual int GetNumberOfDevices()
Returns the number of devices (graphics cards) on a system.
abstract superclass for all actors, volumes and annotations
vtkGetNewMacro(RenderTimer, vtkRenderTimerLog) vtkRendererCollection *GetRenderers()
Get the render timer log for this window.
void SetStereoTypeToCrystalEyes()
virtual void SetCursorPosition(int, int)
virtual void MakeCurrent()
Make the window current.
virtual bool IsDrawable()
Test if the window has a valid drawable.
abstract specification for renderers
void SetStereoTypeToFake()
float * AccumulationBuffer
virtual int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
#define VTK_STEREO_DRESDEN
void SetStereoTypeToDresden()
void SetStereoTypeToInterlaced()
virtual int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
vtkTypeBool AlphaBitPlanes
vtkTypeBool LineSmoothing
create a window for renderers to draw into
virtual bool InitializeFromCurrentContext()
Initialize the render window from the information associated with the currently activated OpenGL cont...
virtual void ClearInRenderStatus()
Clear status (after an exception was thrown for example)
virtual int CheckInRenderStatus()
Are we rendering at the moment.
virtual void * GetGenericDisplayId()=0
virtual void * GetGenericWindowId()=0
virtual void SetParentInfo(const char *)=0
vtkNew< vtkRenderTimerLog > RenderTimer
virtual void UnRegister(vtkObjectBase *o)
Decrease the reference count (release by another object).
vtkTypeBool PolygonSmoothing
void SetStereoTypeToSplitViewportHorizontal()
virtual void SetWindowInfo(const char *)=0
virtual void SetParentId(void *)=0
#define VTK_STEREO_CHECKERBOARD