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
74 #define VTK_STEREO_FAKE 10
76 #define VTK_CURSOR_DEFAULT 0
77 #define VTK_CURSOR_ARROW 1
78 #define VTK_CURSOR_SIZENE 2
79 #define VTK_CURSOR_SIZENW 3
80 #define VTK_CURSOR_SIZESW 4
81 #define VTK_CURSOR_SIZESE 5
82 #define VTK_CURSOR_SIZENS 6
83 #define VTK_CURSOR_SIZEWE 7
84 #define VTK_CURSOR_SIZEALL 8
85 #define VTK_CURSOR_HAND 9
86 #define VTK_CURSOR_CROSSHAIR 10
109 static const char *GetRenderLibrary();
123 vtkGetMacro(CapturingGL2PSSpecialProps,
int);
131 virtual void Start() = 0;
134 virtual void Finalize() = 0;
138 virtual void Frame() = 0;
142 virtual void WaitForCompletion()=0;
146 virtual void CopyResultFrame();
157 virtual void HideCursor() = 0;
158 virtual void ShowCursor() = 0;
164 vtkSetMacro(CurrentCursor,
int);
165 vtkGetMacro(CurrentCursor,
int);
170 virtual void SetFullScreen(
int) = 0;
171 vtkGetMacro(FullScreen,
int);
172 vtkBooleanMacro(FullScreen,
int);
179 vtkSetMacro(Borders,
int);
180 vtkGetMacro(Borders,
int);
181 vtkBooleanMacro(Borders,
int);
187 vtkGetMacro(StereoCapableWindow,
int);
188 vtkBooleanMacro(StereoCapableWindow,
int);
189 virtual void SetStereoCapableWindow(
int capable);
194 vtkGetMacro(StereoRender,
int);
195 void SetStereoRender(
int stereo);
196 vtkBooleanMacro(StereoRender,
int);
201 vtkSetMacro(AlphaBitPlanes,
int);
202 vtkGetMacro(AlphaBitPlanes,
int);
203 vtkBooleanMacro(AlphaBitPlanes,
int);
209 vtkSetMacro(PointSmoothing,
int);
210 vtkGetMacro(PointSmoothing,
int);
211 vtkBooleanMacro(PointSmoothing,
int);
217 vtkSetMacro(LineSmoothing,
int);
218 vtkGetMacro(LineSmoothing,
int);
219 vtkBooleanMacro(LineSmoothing,
int);
225 vtkSetMacro(PolygonSmoothing,
int);
226 vtkGetMacro(PolygonSmoothing,
int);
227 vtkBooleanMacro(PolygonSmoothing,
int);
246 vtkGetMacro(StereoType,
int);
247 vtkSetMacro(StereoType,
int);
270 const char *GetStereoTypeAsString();
275 virtual void StereoUpdate();
279 virtual void StereoMidpoint();
283 virtual void StereoRenderComplete();
291 vtkSetClampMacro(AnaglyphColorSaturation,
float, 0.0f, 1.0f);
292 vtkGetMacro(AnaglyphColorSaturation,
float);
307 vtkSetVector2Macro(AnaglyphColorMask,
int);
308 vtkGetVectorMacro(AnaglyphColorMask,
int,2);
314 virtual void WindowRemap() = 0;
318 vtkSetMacro(SwapBuffers,
int);
319 vtkGetMacro(SwapBuffers,
int);
320 vtkBooleanMacro(SwapBuffers,
int);
333 virtual int SetPixelData(
int x,
int y,
int x2,
int y2,
unsigned char *
data,
335 virtual int SetPixelData(
int x,
int y,
int x2,
int y2,
345 virtual float *GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front) = 0;
346 virtual int GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front,
348 virtual int SetRGBAPixelData(
int x,
int y,
int x2,
int y2,
float *,
349 int front,
int blend=0) = 0;
350 virtual int SetRGBAPixelData(
int,
int,
int,
int,
vtkFloatArray*,
351 int,
int blend=0) = 0;
352 virtual void ReleaseRGBAPixelData(
float *
data)=0;
353 virtual unsigned char *GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
355 virtual int GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
int front,
357 virtual int SetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
358 unsigned char *
data,
int front,
360 virtual int SetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
368 virtual float *GetZbufferData(
int x,
int y,
int x2,
int y2) = 0;
369 virtual int GetZbufferData(
int x,
int y,
int x2,
int y2,
float *z) = 0;
370 virtual int GetZbufferData(
int x,
int y,
int x2,
int y2,
372 virtual int SetZbufferData(
int x,
int y,
int x2,
int y2,
float *z) = 0;
373 virtual int SetZbufferData(
int x,
int y,
int x2,
int y2,
378 this->GetZbufferData(x, y, x, y, &value);
387 vtkGetMacro(AAFrames,
int);
388 vtkSetMacro(AAFrames,
int);
397 vtkGetMacro(FDFrames,
int);
398 virtual void SetFDFrames (
int fdFrames);
407 vtkGetMacro(UseConstantFDOffsets,
int);
408 vtkSetMacro(UseConstantFDOffsets,
int);
418 vtkGetMacro(SubFrames,
int);
419 virtual void SetSubFrames(
int subFrames);
424 vtkGetMacro(NeverRendered,
int);
430 vtkGetMacro(AbortRender,
int);
431 vtkSetMacro(AbortRender,
int);
432 vtkGetMacro(InAbortCheck,
int);
433 vtkSetMacro(InAbortCheck,
int);
434 virtual int CheckAbortStatus();
437 vtkGetMacro(IsPicking,
int);
438 vtkSetMacro(IsPicking,
int);
439 vtkBooleanMacro(IsPicking,
int);
445 virtual int GetEventPending() = 0;
459 virtual void SetDesiredUpdateRate(
double);
460 vtkGetMacro(DesiredUpdateRate,
double);
468 vtkGetMacro(NumberOfLayers,
int);
469 vtkSetClampMacro(NumberOfLayers,
int, 1,
VTK_INT_MAX);
488 virtual void SetNextWindowId(
void *) = 0;
496 virtual void SetNextWindowInfo(
char *) = 0;
510 virtual bool IsCurrent()=0;
534 virtual int GetDepthBufferSize() = 0;
538 virtual int GetColorBufferSizes(
int *rgba) = 0;
549 vtkSetMacro(MultiSamples,
int);
550 vtkGetMacro(MultiSamples,
int);
555 vtkSetMacro(StencilCapable,
int);
556 vtkGetMacro(StencilCapable,
int);
557 vtkBooleanMacro(StencilCapable,
int);
564 virtual void DoStereoRender();
565 virtual void DoFDRender();
566 virtual void DoAARender();
588 double *ConstantFDOffsets[2];
602 int AnaglyphColorMask[2];
abstract superclass for all actors, volumes and annotations
virtual void SetForceMakeCurrent()
void SetStereoTypeToRight()
virtual void * GetGenericDrawable()=0
virtual void SetDisplayId(void *)=0
void SetStereoTypeToFake()
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
virtual void SetParentInfo(char *)=0
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()
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