147#ifndef vtkRenderWindow_h
148#define vtkRenderWindow_h
152#include "vtkRenderingCoreModule.h"
157VTK_ABI_NAMESPACE_BEGIN
170#define VTK_STEREO_CRYSTAL_EYES 1
171#define VTK_STEREO_RED_BLUE 2
172#define VTK_STEREO_INTERLACED 3
173#define VTK_STEREO_LEFT 4
174#define VTK_STEREO_RIGHT 5
175#define VTK_STEREO_DRESDEN 6
176#define VTK_STEREO_ANAGLYPH 7
177#define VTK_STEREO_CHECKERBOARD 8
178#define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL 9
179#define VTK_STEREO_FAKE 10
180#define VTK_STEREO_EMULATE 11
181#define VTK_STEREO_ZSPACE_INSPIRE 12
183#define VTK_CURSOR_DEFAULT 0
184#define VTK_CURSOR_ARROW 1
185#define VTK_CURSOR_SIZENE 2
186#define VTK_CURSOR_SIZENW 3
187#define VTK_CURSOR_SIZESW 4
188#define VTK_CURSOR_SIZESE 5
189#define VTK_CURSOR_SIZENS 6
190#define VTK_CURSOR_SIZEWE 7
191#define VTK_CURSOR_SIZEALL 8
192#define VTK_CURSOR_HAND 9
193#define VTK_CURSOR_CROSSHAIR 10
194#define VTK_CURSOR_CUSTOM 11
257 vtkGetMacro(CapturingGL2PSSpecialProps,
int);
287 vtkGetMacro(Initialized,
bool);
336 vtkSetMacro(CurrentCursor,
int);
337 vtkGetMacro(CurrentCursor,
int);
459 vtkGetMacro(StereoType,
int);
511 vtkSetClampMacro(AnaglyphColorSaturation,
float, 0.0f, 1.0f);
512 vtkGetMacro(AnaglyphColorSaturation,
float);
530 vtkSetVector2Macro(AnaglyphColorMask,
int);
531 vtkGetVectorMacro(AnaglyphColorMask,
int, 2);
584 int ,
int ,
int ,
int ,
int ,
int = 0)
605 int ,
int ,
int ,
int ,
int ,
int = 0)
615 unsigned char* ,
int ,
int = 0,
int = 0)
652 this->GetZbufferData(x, y, x, y, &value);
661 vtkGetMacro(NeverRendered,
int);
669 vtkGetMacro(AbortRender,
int);
670 vtkSetMacro(AbortRender,
int);
671 vtkGetMacro(InAbortCheck,
int);
672 vtkSetMacro(InAbortCheck,
int);
704 vtkGetMacro(DesiredUpdateRate,
double);
714 vtkGetMacro(NumberOfLayers,
int);
820 vtkGetMacro(MultiSamples,
int);
839 vtkSetMacro(DeviceIndex,
int);
840 vtkGetMacro(DeviceIndex,
int);
853 vtkGetMacro(UseSRGBColorSpace,
bool);
854 vtkSetMacro(UseSRGBColorSpace,
bool);
855 vtkBooleanMacro(UseSRGBColorSpace,
bool);
874 vtkGetVector3Macro(PhysicalViewDirection,
double);
888 vtkGetVector3Macro(PhysicalViewUp,
double);
902 vtkGetVector3Macro(PhysicalTranslation,
double);
916 vtkGetMacro(PhysicalScale,
double);
940 virtual
bool GetDeviceToWorldMatrixForDevice(
950 vtkGetMacro(EnableTranslucentSurface,
bool);
951 vtkSetMacro(EnableTranslucentSurface,
bool);
952 vtkBooleanMacro(EnableTranslucentSurface,
bool);
959 virtual
void DoStereoRender();
978 double DesiredUpdateRate;
985 float AnaglyphColorSaturation;
986 int AnaglyphColorMask[2];
989 int CapturingGL2PSSpecialProps;
992 bool UseSRGBColorSpace;
993 char* CursorFileName;
998 double AbortCheckTime;
1003 double PhysicalViewDirection[3] = { 0.0, 0.0, -1.0 };
1005 double PhysicalViewUp[3] = { 0.0, 1.0, 0.0 };
1007 double PhysicalTranslation[3] = { 0.0, 0.0, 0.0 };
1009 double PhysicalScale = 1.0;
1011 bool EnableTranslucentSurface =
false;
1013 bool Initialized =
false;
1022VTK_ABI_NAMESPACE_END
create and manipulate ordered lists of objects
dynamic, self-adjusting array of float
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
Allocate and hold a VTK object.
abstract base class for most VTK objects
abstract superclass for all actors, volumes and annotations
Asynchronously measures GPU execution times for a series of events.
platform-independent render window interaction including picking and frame rate control.
create a window for renderers to draw into
void * GetGenericDrawable() override
Dummy stubs for vtkWindow API.
void SetStereoTypeToDresden()
Set/Get what type of stereo rendering to use.
virtual void SetDesiredUpdateRate(double)
Set/Get the desired update rate.
virtual void ReleaseRGBAPixelData(float *)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual void SetPhysicalViewUp(double, double, double)
Set/get physical coordinate system in world coordinate system.
virtual int GetZbufferData(int, int, int, int, float *)
Set/Get the zbuffer data from the frame buffer.
void SetStereoType(int)
Set/Get what type of stereo rendering to use.
virtual void SetPhysicalTranslation(double, double, double)
Set/get physical coordinate system in world coordinate system.
virtual int SetRGBACharPixelData(int, int, int, int, unsigned char *, int, int=0, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual int SetZbufferData(int, int, int, int, float *)
Set/Get the zbuffer data from the frame buffer.
void SetStereoTypeToRedBlue()
Set/Get what type of stereo rendering to use.
virtual void Initialize()
Initializes the rendering process.
void SetParentInfo(const char *) override
Dummy stubs for vtkWindow API.
virtual void Finalize()
Finalize the rendering process.
vtkGetFilePathMacro(CursorFileName)
Set/Get the full path to the custom cursor.
void * GetGenericParentId() override
Dummy stubs for vtkWindow API.
virtual bool GetPlatformSupportsRenderWindowSharing()
Set/Get an already existing window that this window should share data with if possible.
virtual const char * GetRenderingBackend()
What rendering backend has the user requested.
virtual void SetPhysicalTranslation(double[3])
Set/get physical coordinate system in world coordinate system.
virtual int SetRGBAPixelData(int, int, int, int, float *, int, int=0, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual int SetPixelData(int, int, int, int, unsigned char *, int, int=0)
Set/Get the pixel data of an image, transmitted as RGBRGBRGB.
virtual void AddRenderer(vtkRenderer *)
Add a renderer to the list of renderers.
virtual const char * ReportCapabilities()
Get report of capabilities for the render window.
virtual void Frame()
A termination method performed at the end of the rendering process to do things like swapping buffers...
virtual void SetCoverable(vtkTypeBool coverable)
Set/Get whether windows should be coverable (as opposed to always on top).
void SetStereoTypeToFake()
Set/Get what type of stereo rendering to use.
static const char * GetStereoTypeAsString(int type)
Returns the stereo type as a string.
virtual int GetZbufferData(int, int, int, int, vtkFloatArray *)
Set/Get the zbuffer data from the frame buffer.
virtual void HideCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
void SetStereoTypeToInterlaced()
Set/Get what type of stereo rendering to use.
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on,...
void CaptureGL2PSSpecialProps(vtkCollection *specialProps)
The GL2PS exporter must handle certain props in a special way (e.g.
vtkTypeBool HasRenderer(vtkRenderer *)
Query if a renderer is in the list of renderers.
virtual int GetRGBACharPixelData(int, int, int, int, int, vtkUnsignedCharArray *, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
float GetZbufferDataAtPoint(int x, int y)
Set/Get the zbuffer data from the frame buffer.
virtual void WaitForCompletion()
Block the thread until the actual rendering is finished().
virtual void StereoRenderComplete()
Handles work required once both views have been rendered when using stereo rendering.
virtual void SetStereoCapableWindow(vtkTypeBool capable)
Prescribe that the window be created in a stereo-capable mode.
virtual int SetPixelData(int, int, int, int, vtkUnsignedCharArray *, int, int=0)
Set/Get the pixel data of an image, transmitted as RGBRGBRGB.
virtual vtkRenderWindowInteractor * MakeRenderWindowInteractor()
Create an interactor to control renderers in this window.
virtual int GetDepthBufferSize()
This method should be defined by the subclass.
void SetStereoRender(vtkTypeBool stereo)
Turn on/off stereo rendering.
void SetStereoTypeToLeft()
Set/Get what type of stereo rendering to use.
virtual void SetFullScreen(vtkTypeBool)
Turn on/off rendering full screen window size.
virtual void SetNextWindowId(void *)
Dummy stubs for vtkWindow API.
virtual bool InitializeFromCurrentContext()
Initialize the render window from the information associated with the currently activated OpenGL cont...
void SetWindowInfo(const char *) override
Dummy stubs for vtkWindow API.
virtual void SetPhysicalViewDirection(double, double, double)
Set/get physical coordinate system in world coordinate system.
virtual int GetRGBAPixelData(int, int, int, int, int, vtkFloatArray *, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual void SetNextWindowInfo(const char *)
Dummy stubs for vtkWindow API.
virtual void ClearInRenderStatus()
Clear status (after an exception was thrown for example)
virtual float * GetZbufferData(int, int, int, int)
Set/Get the zbuffer data from the frame buffer.
void Render() override
Ask each renderer owned by this RenderWindow to render its image and synchronize this process.
void * GetGenericContext() override
Dummy stubs for vtkWindow API.
void SetParentId(void *) override
Dummy stubs for vtkWindow API.
virtual void SetInteractor(vtkRenderWindowInteractor *)
Set the interactor to the render window.
virtual void End()
Update the system, if needed, at end of render process.
virtual void SetPhysicalViewDirection(double[3])
Set/get physical coordinate system in world coordinate system.
virtual int CheckAbortStatus()
This is a flag that can be set to interrupt a rendering that is in progress.
virtual void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
void SetWindowId(void *) override
Dummy stubs for vtkWindow API.
virtual void SetPhysicalViewUp(double[3])
Set/get physical coordinate system in world coordinate system.
void SetStereoTypeToCheckerboard()
Set/Get what type of stereo rendering to use.
void UnRegister(vtkObjectBase *o) override
This Method detects loops of RenderWindow<->Interactor, so objects are freed properly.
virtual int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
virtual void StereoUpdate()
Update the system, if needed, due to stereo rendering.
virtual void SetMultiSamples(int)
Set / Get the number of multisamples to use for hardware antialiasing.
virtual void Start()
Start the rendering process for a frame.
void SetStereoTypeToAnaglyph()
Set/Get what type of stereo rendering to use.
virtual void CopyResultFrame()
Performed at the end of the rendering process to generate image.
virtual int SetRGBACharPixelData(int, int, int, int, vtkUnsignedCharArray *, int, int=0, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual unsigned char * GetRGBACharPixelData(int, int, int, int, int, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual int SetRGBAPixelData(int, int, int, int, vtkFloatArray *, int, int=0, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
static const char * GetRenderLibrary()
What rendering library has the user requested.
void * GetGenericWindowId() override
Dummy stubs for vtkWindow API.
virtual void WindowRemap()
Remap the rendering window.
void RemoveRenderer(vtkRenderer *)
Remove a renderer from the list of renderers.
virtual int SetZbufferData(int, int, int, int, vtkFloatArray *)
Set/Get the zbuffer data from the frame buffer.
virtual int GetColorBufferSizes(int *)
Get the size of the color buffer.
vtkGetNewMacro(RenderTimer, vtkRenderTimerLog)
Get the render timer log for this window.
virtual void SetSharedRenderWindow(vtkRenderWindow *)
Set/Get an already existing window that this window should share data with if possible.
virtual void SetCursorPosition(int, int)
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
virtual vtkTypeBool GetEventPending()
Check to see if a mouse button has been pressed.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void StereoMidpoint()
Intermediate method performs operations required between the rendering of the left and right eye.
void SetDisplayId(void *) override
Dummy stubs for vtkWindow API.
void SetStereoTypeToEmulate()
Set/Get what type of stereo rendering to use.
vtkSetFilePathMacro(CursorFileName)
Set/Get the full path to the custom cursor.
void SetStereoTypeToSplitViewportHorizontal()
Set/Get what type of stereo rendering to use.
virtual int GetNumberOfDevices()
Returns the number of devices (graphics cards) on a system.
virtual void ShowCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
virtual float * GetRGBAPixelData(int, int, int, int, int, int=0)
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual vtkTypeBool IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
vtkRendererCollection * GetRenderers()
Return the collection of renderers in the render window.
void SetStereoTypeToCrystalEyes()
Set/Get what type of stereo rendering to use.
virtual void SetPhysicalScale(double)
Set/get physical coordinate system in world coordinate system.
void SetStereoTypeToRight()
Set/Get what type of stereo rendering to use.
virtual int CheckInRenderStatus()
Are we rendering at the moment.
void * GetGenericDisplayId() override
Dummy stubs for vtkWindow API.
virtual bool IsCurrent()
Tells if this window is the current graphics context for the calling thread.
const char * GetStereoTypeAsString()
Returns the stereo type as a string.
an ordered list of renderers
abstract specification for renderers
Hold a reference to a vtkObjectBase instance.
helper class to generate composited stereo images.
dynamic, self-adjusting array of unsigned char
window superclass for vtkRenderWindow
vtkEventDataDevice
platform-independent event data structures
#define VTK_STEREO_ANAGLYPH
#define VTK_STEREO_SPLITVIEWPORT_HORIZONTAL
#define VTK_STEREO_DRESDEN
#define VTK_STEREO_CHECKERBOARD
#define VTK_STEREO_CRYSTAL_EYES
#define VTK_STEREO_RED_BLUE
#define VTK_STEREO_INTERLACED
#define VTK_STEREO_EMULATE
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALEXCLUDE(reason)