49 #ifndef __vtkRenderWindow_h
50 #define __vtkRenderWindow_h
65 #define VTK_STEREO_CRYSTAL_EYES 1
66 #define VTK_STEREO_RED_BLUE 2
67 #define VTK_STEREO_INTERLACED 3
68 #define VTK_STEREO_LEFT 4
69 #define VTK_STEREO_RIGHT 5
70 #define VTK_STEREO_DRESDEN 6
71 #define VTK_STEREO_ANAGLYPH 7
72 #define VTK_STEREO_CHECKERBOARD 8
73 #define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL 9
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
87 #ifndef VTK_LEGACY_REMOVE
91 # define vtkGraphicErrorMacro(renderWindow,message) \
92 renderWindow->CheckGraphicError();
94 # define vtkGraphicErrorMacro(renderWindow,message) \
95 renderWindow->CheckGraphicError(); \
96 if ( renderWindow->GetReportGraphicErrors() \
97 && renderWindow->HasGraphicError() ) \
101 << renderWindow->GetLastGraphicErrorString()); \
127 static const char *GetRenderLibrary();
141 vtkGetMacro(CapturingGL2PSSpecialProps,
int);
149 virtual void Start() = 0;
152 virtual void Finalize() = 0;
156 virtual void Frame() = 0;
160 virtual void WaitForCompletion()=0;
164 virtual void CopyResultFrame();
175 virtual void HideCursor() = 0;
176 virtual void ShowCursor() = 0;
182 vtkSetMacro(CurrentCursor,
int);
183 vtkGetMacro(CurrentCursor,
int);
188 virtual void SetFullScreen(
int) = 0;
189 vtkGetMacro(FullScreen,
int);
190 vtkBooleanMacro(FullScreen,
int);
197 vtkSetMacro(Borders,
int);
198 vtkGetMacro(Borders,
int);
199 vtkBooleanMacro(Borders,
int);
205 vtkGetMacro(StereoCapableWindow,
int);
206 vtkBooleanMacro(StereoCapableWindow,
int);
207 virtual void SetStereoCapableWindow(
int capable);
212 vtkGetMacro(StereoRender,
int);
213 void SetStereoRender(
int stereo);
214 vtkBooleanMacro(StereoRender,
int);
219 vtkSetMacro(AlphaBitPlanes,
int);
220 vtkGetMacro(AlphaBitPlanes,
int);
221 vtkBooleanMacro(AlphaBitPlanes,
int);
227 vtkSetMacro(PointSmoothing,
int);
228 vtkGetMacro(PointSmoothing,
int);
229 vtkBooleanMacro(PointSmoothing,
int);
235 vtkSetMacro(LineSmoothing,
int);
236 vtkGetMacro(LineSmoothing,
int);
237 vtkBooleanMacro(LineSmoothing,
int);
243 vtkSetMacro(PolygonSmoothing,
int);
244 vtkGetMacro(PolygonSmoothing,
int);
245 vtkBooleanMacro(PolygonSmoothing,
int);
261 vtkGetMacro(StereoType,
int);
262 vtkSetMacro(StereoType,
int);
283 const char *GetStereoTypeAsString();
288 virtual void StereoUpdate();
292 virtual void StereoMidpoint();
296 virtual void StereoRenderComplete();
304 vtkSetClampMacro(AnaglyphColorSaturation,
float, 0.0
f, 1.0
f);
305 vtkGetMacro(AnaglyphColorSaturation,
float);
320 vtkSetVector2Macro(AnaglyphColorMask,
int);
321 vtkGetVectorMacro(AnaglyphColorMask,
int,2);
327 virtual void WindowRemap() = 0;
331 vtkSetMacro(SwapBuffers,
int);
332 vtkGetMacro(SwapBuffers,
int);
333 vtkBooleanMacro(SwapBuffers,
int);
346 virtual int SetPixelData(
int x,
int y,
int x2,
int y2,
unsigned char *
data,
348 virtual int SetPixelData(
int x,
int y,
int x2,
int y2,
358 virtual float *GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front) = 0;
359 virtual int GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front,
361 virtual int SetRGBAPixelData(
int x,
int y,
int x2,
int y2,
float *,
362 int front,
int blend=0) = 0;
363 virtual int SetRGBAPixelData(
int,
int,
int,
int,
vtkFloatArray*,
364 int,
int blend=0) = 0;
365 virtual void ReleaseRGBAPixelData(
float *
data)=0;
366 virtual unsigned char *GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
368 virtual int GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
int front,
370 virtual int SetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
371 unsigned char *
data,
int front,
373 virtual int SetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
381 virtual float *GetZbufferData(
int x,
int y,
int x2,
int y2) = 0;
382 virtual int GetZbufferData(
int x,
int y,
int x2,
int y2,
float *
z) = 0;
383 virtual int GetZbufferData(
int x,
int y,
int x2,
int y2,
385 virtual int SetZbufferData(
int x,
int y,
int x2,
int y2,
float *
z) = 0;
386 virtual int SetZbufferData(
int x,
int y,
int x2,
int y2,
391 this->GetZbufferData(x, y, x, y, &value);
400 vtkGetMacro(AAFrames,
int);
401 vtkSetMacro(AAFrames,
int);
410 vtkGetMacro(FDFrames,
int);
411 virtual void SetFDFrames (
int fdFrames);
420 vtkGetMacro(UseConstantFDOffsets,
int);
421 vtkSetMacro(UseConstantFDOffsets,
int);
431 vtkGetMacro(SubFrames,
int);
432 virtual void SetSubFrames(
int subFrames);
437 vtkGetMacro(NeverRendered,
int);
443 vtkGetMacro(AbortRender,
int);
444 vtkSetMacro(AbortRender,
int);
445 vtkGetMacro(InAbortCheck,
int);
446 vtkSetMacro(InAbortCheck,
int);
447 virtual int CheckAbortStatus();
450 vtkGetMacro(IsPicking,
int);
451 vtkSetMacro(IsPicking,
int);
452 vtkBooleanMacro(IsPicking,
int);
458 virtual int GetEventPending() = 0;
472 virtual void SetDesiredUpdateRate(
double);
473 vtkGetMacro(DesiredUpdateRate,
double);
481 vtkGetMacro(NumberOfLayers,
int);
482 vtkSetClampMacro(NumberOfLayers,
int, 1,
VTK_INT_MAX);
501 virtual void SetNextWindowId(
void *) = 0;
509 virtual void SetNextWindowInfo(
char *) = 0;
523 virtual bool IsCurrent()=0;
547 virtual int GetDepthBufferSize() = 0;
551 virtual int GetColorBufferSizes(
int *rgba) = 0;
562 vtkSetMacro(MultiSamples,
int);
563 vtkGetMacro(MultiSamples,
int);
568 vtkSetMacro(StencilCapable,
int);
569 vtkGetMacro(StencilCapable,
int);
570 vtkBooleanMacro(StencilCapable,
int);
577 VTK_LEGACY(
void SetReportGraphicErrors(
int val));
578 VTK_LEGACY(
void SetReportGraphicErrorsOn());
579 VTK_LEGACY(
void SetReportGraphicErrorsOff());
580 VTK_LEGACY(
int GetReportGraphicErrors());
583 #ifndef VTK_LEGACY_REMOVE
586 virtual void CheckGraphicError() = 0;
587 virtual int HasGraphicError() = 0;
588 virtual const char *GetLastGraphicErrorString() = 0;
596 virtual void DoStereoRender();
597 virtual void DoFDRender();
598 virtual void DoAARender();
620 double *ConstantFDOffsets[2];
634 int AnaglyphColorMask[2];
639 #ifndef VTK_LEGACY_REMOVE
GLsizei GLsizei GLenum GLenum const GLvoid * data
abstract superclass for all actors, volumes and annotations
virtual void SetForceMakeCurrent()
void SetStereoTypeToRight()
virtual void * GetGenericDrawable()=0
virtual void SetDisplayId(void *)=0
float AnaglyphColorSaturation
#define VTK_STEREO_CHECKERBOARD
float * AccumulationBuffer
vtkPainterDeviceAdapter * PainterDeviceAdapter
dynamic, self-adjusting array of float
void SetStereoTypeToSplitViewportHorizontal()
#define VTK_STEREO_DRESDEN
void SetStereoTypeToAnaglyph()
#define VTK_STEREO_RED_BLUE
abstract specification for renderers
GLsizei const GLfloat * value
virtual void SetParentInfo(char *)=0
GLint GLint GLint GLint GLint GLint y
virtual void * GetGenericContext()=0
#define VTK_STEREO_INTERLACED
void SetStereoTypeToCrystalEyes()
window superclass for vtkRenderWindow
unsigned char * ResultFrame
platform-independent render window interaction including picking and frame rate control.
virtual const char * ReportCapabilities()
GLint GLint GLint GLint GLint x
virtual int SupportsOpenGL()
An adapter between a vtkPainter and a rendering device.
virtual int CheckInRenderStatus()
virtual void UnRegister(vtkObjectBase *o)
void SetStereoTypeToRedBlue()
unsigned int AccumulationBufferSize
a simple class to control print indentation
void SetStereoTypeToCheckerboard()
float GetZbufferDataAtPoint(int x, int y)
void SetStereoTypeToInterlaced()
virtual void SetWindowId(void *)=0
virtual void SetCursorPosition(int, int)
abstract base class for most VTK objects
virtual void MakeCurrent()
#define VTK_STEREO_CRYSTAL_EYES
vtkRendererCollection * GetRenderers()
dynamic, self-adjusting array of unsigned char
virtual void SetParentId(void *)=0
void SetStereoTypeToDresden()
virtual void SetWindowInfo(char *)=0
create a window for renderers to draw into
#define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL
virtual bool InitializeFromCurrentContext()
virtual void ClearInRenderStatus()
create and manipulate unsorted lists of objects
virtual void * GetGenericDisplayId()=0
#define VTKRENDERINGCORE_EXPORT
int CapturingGL2PSSpecialProps
vtkRenderWindowInteractor * Interactor
void PrintSelf(ostream &os, vtkIndent indent)
unsigned char * StereoBuffer
virtual void * GetGenericParentId()=0
void SetStereoTypeToLeft()
#define VTK_STEREO_ANAGLYPH
virtual bool IsDrawable()
virtual void * GetGenericWindowId()=0
vtkRendererCollection * Renderers