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();
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;
188 virtual void SetFullScreen(
int) = 0;
207 virtual void SetStereoCapableWindow(
int capable);
213 void SetStereoRender(
int stereo);
283 const char *GetStereoTypeAsString();
288 virtual void StereoUpdate();
292 virtual void StereoMidpoint();
296 virtual void StereoRenderComplete();
327 virtual void WindowRemap() = 0;
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);
411 virtual void SetFDFrames (
int fdFrames);
432 virtual void SetSubFrames(
int subFrames);
447 virtual int CheckAbortStatus();
458 virtual int GetEventPending() = 0;
472 virtual void SetDesiredUpdateRate(
double);
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;
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
#define vtkGetMacro(name, type)
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
#define vtkSetClampMacro(name, type, min, max)
GLsizei const GLfloat * value
virtual void SetParentInfo(char *)=0
GLint GLint GLint GLint GLint GLint y
virtual void * GetGenericContext()=0
#define vtkTypeMacro(thisClass, superclass)
#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 vtkGetObjectMacro(name, type)
#define VTK_STEREO_CRYSTAL_EYES
vtkRendererCollection * GetRenderers()
dynamic, self-adjusting array of unsigned char
#define VTK_LEGACY(method)
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
#define vtkBooleanMacro(name, type)
vtkRenderWindowInteractor * Interactor
void PrintSelf(ostream &os, vtkIndent indent)
unsigned char * StereoBuffer
#define vtkGetVectorMacro(name, type, count)
#define vtkSetVector2Macro(name, type)
virtual void * GetGenericParentId()=0
void SetStereoTypeToLeft()
#define VTK_STEREO_ANAGLYPH
virtual bool IsDrawable()
virtual void * GetGenericWindowId()=0
#define vtkSetMacro(name, type)
vtkRendererCollection * Renderers