Go to the documentation of this file.
47 #ifndef vtkRenderWindow_h
48 #define vtkRenderWindow_h
50 #include "vtkRenderingCoreModule.h"
63 #define VTK_STEREO_CRYSTAL_EYES 1
64 #define VTK_STEREO_RED_BLUE 2
65 #define VTK_STEREO_INTERLACED 3
66 #define VTK_STEREO_LEFT 4
67 #define VTK_STEREO_RIGHT 5
68 #define VTK_STEREO_DRESDEN 6
69 #define VTK_STEREO_ANAGLYPH 7
70 #define VTK_STEREO_CHECKERBOARD 8
71 #define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL 9
72 #define VTK_STEREO_FAKE 10
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
117 static const char *GetRenderLibrary();
122 virtual const char *GetRenderingBackend();
142 vtkGetMacro(CapturingGL2PSSpecialProps,
int);
154 virtual void Start() = 0;
159 virtual void Finalize() = 0;
165 virtual void Frame() = 0;
171 virtual void WaitForCompletion()=0;
177 virtual void CopyResultFrame();
193 virtual void HideCursor() = 0;
194 virtual void ShowCursor() = 0;
203 vtkGetMacro(CurrentCursor,
int);
210 virtual void SetFullScreen(
int) = 0;
211 vtkGetMacro(FullScreen,
int);
222 vtkGetMacro(Borders,
int);
231 vtkGetMacro(StereoCapableWindow,
int);
233 virtual void SetStereoCapableWindow(
int capable);
240 vtkGetMacro(StereoRender,
int);
241 void SetStereoRender(
int stereo);
250 vtkGetMacro(AlphaBitPlanes,
int);
260 vtkGetMacro(PointSmoothing,
int);
270 vtkGetMacro(LineSmoothing,
int);
280 vtkGetMacro(PolygonSmoothing,
int);
303 vtkGetMacro(StereoType,
int);
327 const char *GetStereoTypeAsString();
333 virtual void StereoUpdate();
339 virtual void StereoMidpoint();
345 virtual void StereoRenderComplete();
355 vtkSetClampMacro(AnaglyphColorSaturation,
float, 0.0f, 1.0f);
356 vtkGetMacro(AnaglyphColorSaturation,
float);
374 vtkSetVector2Macro(AnaglyphColorMask,
int);
375 vtkGetVectorMacro(AnaglyphColorMask,
int,2);
383 virtual void WindowRemap() = 0;
390 vtkGetMacro(SwapBuffers,
int);
407 virtual int SetPixelData(
int x,
int y,
int x2,
int y2,
unsigned char *
data,
409 virtual int SetPixelData(
int x,
int y,
int x2,
int y2,
421 virtual float *GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front) = 0;
422 virtual int GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front,
424 virtual int SetRGBAPixelData(
int x,
int y,
int x2,
int y2,
float *,
425 int front,
int blend=0) = 0;
426 virtual int SetRGBAPixelData(
int,
int,
int,
int,
vtkFloatArray*,
427 int,
int blend=0) = 0;
428 virtual void ReleaseRGBAPixelData(
float *
data)=0;
429 virtual unsigned char *GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
431 virtual int GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
int front,
433 virtual int SetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
434 unsigned char *
data,
int front,
436 virtual int SetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
447 virtual float *GetZbufferData(
int x,
int y,
int x2,
int y2) = 0;
448 virtual int GetZbufferData(
int x,
int y,
int x2,
int y2,
float *z) = 0;
449 virtual int GetZbufferData(
int x,
int y,
int x2,
int y2,
451 virtual int SetZbufferData(
int x,
int y,
int x2,
int y2,
float *z) = 0;
452 virtual int SetZbufferData(
int x,
int y,
int x2,
int y2,
457 this->GetZbufferData(x, y, x, y, &
value);
468 vtkGetMacro(AAFrames,
int);
480 vtkGetMacro(FDFrames,
int);
481 virtual void SetFDFrames (
int fdFrames);
492 vtkGetMacro(UseConstantFDOffsets,
int);
505 vtkGetMacro(SubFrames,
int);
506 virtual void SetSubFrames(
int subFrames);
513 vtkGetMacro(NeverRendered,
int);
521 vtkGetMacro(AbortRender,
int);
523 vtkGetMacro(InAbortCheck,
int);
525 virtual int CheckAbortStatus();
528 vtkGetMacro(IsPicking,
int);
538 virtual int GetEventPending() = 0;
559 virtual void SetDesiredUpdateRate(
double);
560 vtkGetMacro(DesiredUpdateRate,
double);
570 vtkGetMacro(NumberOfLayers,
int);
571 vtkSetClampMacro(NumberOfLayers,
int, 1,
VTK_INT_MAX);
598 virtual void SetNextWindowId(
void *) = 0;
606 virtual void SetNextWindowInfo(
char *) = 0;
626 virtual bool IsCurrent()=0;
662 virtual int GetDepthBufferSize() = 0;
668 virtual int GetColorBufferSizes(
int *rgba) = 0;
684 vtkGetMacro(MultiSamples,
int);
692 vtkGetMacro(StencilCapable,
int);
704 vtkGetMacro(DeviceIndex,
int);
730 virtual void DoStereoRender();
731 virtual void DoFDRender();
732 virtual void DoAARender();
754 double *ConstantFDOffsets[2];
768 int AnaglyphColorMask[2];
unsigned char * ResultFrame
virtual void * GetGenericParentId()=0
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
An adapter between a vtkPainter and a rendering device.
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
#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
vtkRendererCollection * GetRenderers()
Return the collection of renderers in the render window.
window superclass for vtkRenderWindow
float AnaglyphColorSaturation
create and manipulate unsorted lists of objects
vtkPainterDeviceAdapter * PainterDeviceAdapter
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
a simple class to control print indentation
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetWindowInfo(char *)=0
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.
double AbortCheckTime
The universal time since the last abort check occurred.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
virtual int GetNumberOfDevices()
Returns the number of devices (graphics cards) on a system.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
abstract superclass for all actors, volumes and annotations
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.
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 UnRegister(vtkObjectBase *o)
Decrease the reference count (release by another object).
void SetStereoTypeToSplitViewportHorizontal()
virtual void SetParentInfo(char *)=0
virtual void SetParentId(void *)=0
#define VTK_STEREO_CHECKERBOARD