VTK  9.3.20240615
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkVRRenderWindow Class Referenceabstract

VR rendering window. More...

#include <vtkVRRenderWindow.h>

Inheritance diagram for vtkVRRenderWindow:
[legend]
Collaboration diagram for vtkVRRenderWindow:
[legend]

Classes

class  DeviceData
 
struct  FramebufferDesc
 

Public Types

enum  { LeftEye = 0 , RightEye }
 
typedef vtkOpenGLRenderWindow Superclass
 
- Public Types inherited from vtkOpenGLRenderWindow
enum  FrameBlitModes { BlitToHardware , BlitToCurrent , BlitToCurrentWithDepth , NoBlit }
 Define how the resulting image should be blitted when at the end of the Frame() call if SwapBuffers is true. More...
 
typedef vtkRenderWindow Superclass
 
- Public Types inherited from vtkRenderWindow
enum  { PhysicalToWorldMatrixModified = vtkCommand::UserEvent + 200 }
 
typedef vtkWindow Superclass
 
- Public Types inherited from vtkWindow
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkVRRenderWindowNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
vtkRenderWindowInteractorMakeRenderWindowInteractor () override=0
 Create an interactor to control renderers in this window.
 
bool GetDeviceToWorldMatrixForDevice (vtkEventDataDevice device, vtkMatrix4x4 *deviceToWorldMatrix) override
 Store in deviceToWorldMatrix the matrix that goes from device coordinates to world coordinates.
 
virtual bool GetDeviceToWorldMatrixForDeviceHandle (uint32_t handle, vtkMatrix4x4 *deviceToWorldMatrix)
 
virtual void InitializeViewFromCamera (vtkCamera *cam)
 Initialize the HMD to World setting and camera settings so that the VR world view most closely matched the view from the provided camera.
 
void AddRenderer (vtkRenderer *) override
 Add a renderer to the list of renderers.
 
void MakeCurrent () override
 Make this windows OpenGL context the current context.
 
void ReleaseCurrent () override
 Release the current context.
 
bool IsCurrent () override
 Tells if this window is the current OpenGL context for the calling thread.
 
const char * ReportCapabilities () override
 Get report of capabilities for the render window.
 
vtkTypeBool IsDirect () override
 Is this render window using hardware acceleration? 0-false, 1-true.
 
vtkTypeBool GetEventPending () override
 Check to see if a mouse button has been pressed or mouse wheel activated.
 
int * GetScreenSize () override
 Get the current size of the screen in pixels.
 
int SupportsOpenGL () override
 Does this render window support OpenGL? 0-false, 1-true.
 
void Render () override
 Overridden to not release resources that would interfere with an external application's rendering.
 
vtkOpenGLStateGetState () override
 Get the state object used to keep track of OpenGL state.
 
void ReleaseGraphicsResources (vtkWindow *) override
 Free up any graphics resources associated with this window a value of nullptr means the context may already be destroyed.
 
virtual void RenderModels ()=0
 Render the controller and base station models.
 
virtual void UpdateHMDMatrixPose ()
 Update the HMD pose.
 
virtual bool GetVRInitialized ()
 Get whether the XR components of the window have been initialized successfully.
 
GLuint GetLeftResolveBufferId ()
 Get the frame buffers used for rendering.
 
GLuint GetRightResolveBufferId ()
 Get the frame buffers used for rendering.
 
void GetRenderBufferSize (int &width, int &height)
 Get the frame buffers used for rendering.
 
vtkVRModelGetModelForDevice (vtkEventDataDevice idx)
 Get the VRModel corresponding to the device or device handle.
 
vtkVRModelGetModelForDeviceHandle (uint32_t handle)
 Get the VRModel corresponding to the device or device handle.
 
void SetModelForDeviceHandle (uint32_t handle, vtkVRModel *model)
 Set the VRModel corresponding to the device handle.
 
vtkMatrix4x4GetDeviceToPhysicalMatrixForDevice (vtkEventDataDevice idx)
 Get the DeviceToPhysical matrix corresponding to the device or device handle.
 
vtkMatrix4x4GetDeviceToPhysicalMatrixForDeviceHandle (uint32_t handle)
 Get the DeviceToPhysical matrix corresponding to the device or device handle.
 
uint32_t GetDeviceHandleForDevice (vtkEventDataDevice dev, uint32_t index=0)
 
uint32_t GetNumberOfDeviceHandlesForDevice (vtkEventDataDevice dev)
 
void AddDeviceHandle (uint32_t handle)
 
void AddDeviceHandle (uint32_t handle, vtkEventDataDevice device)
 
vtkEventDataDevice GetDeviceForDeviceHandle (uint32_t handle)
 
void SetSize (int width, int height) override
 Set the size of the window in screen coordinates in pixels.
 
void SetSize (int a[2]) override
 Set the size of the window in screen coordinates in pixels.
 
void * GetGenericDisplayId () override
 Implement required virtual functions.
 
void * GetGenericWindowId () override
 Implement required virtual functions.
 
void * GetGenericParentId () override
 Implement required virtual functions.
 
void * GetGenericContext () override
 Implement required virtual functions.
 
void * GetGenericDrawable () override
 Implement required virtual functions.
 
virtual vtkOpenGLRenderWindowGetHelperWindow ()
 Set/Get the window to use for the openGL context.
 
void SetHelperWindow (vtkOpenGLRenderWindow *val)
 Set/Get the window to use for the openGL context.
 
virtual void SetTrackHMD (bool)
 When on the camera will track the HMD position.
 
virtual bool GetTrackHMD ()
 When on the camera will track the HMD position.
 
virtual bool GetBaseStationVisibility ()
 Set/Get the visibility of the base stations.
 
virtual void SetBaseStationVisibility (bool)
 Set/Get the visibility of the base stations.
 
virtual void BaseStationVisibilityOn ()
 Set/Get the visibility of the base stations.
 
virtual void BaseStationVisibilityOff ()
 Set/Get the visibility of the base stations.
 
- Public Member Functions inherited from vtkOpenGLRenderWindow
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkOpenGLRenderWindowNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
void Start () override
 Begin the rendering process.
 
void Frame () override
 A termination method performed at the end of the rendering process to do things like swapping buffers (if necessary) or similar actions.
 
const char * GetRenderingBackend () override
 What rendering backend has the user requested.
 
void ActivateTexture (vtkTextureObject *)
 Activate a texture unit for this texture.
 
void DeactivateTexture (vtkTextureObject *)
 Deactivate a previously activated texture.
 
int GetTextureUnitForTexture (vtkTextureObject *)
 Get the texture unit for a given texture object.
 
int GetDepthBufferSize () override
 Get the size of the depth buffer.
 
bool GetUsingSRGBColorSpace ()
 Is this window/fo in sRGB colorspace.
 
int GetColorBufferSizes (int *rgba) override
 Get the size of the color buffer.
 
int GetColorBufferInternalFormat (int attachmentPoint)
 Get the internal format of current attached texture or render buffer.
 
virtual void OpenGLInit ()
 Initialize OpenGL for this window.
 
virtual void OpenGLInitState ()
 
virtual void OpenGLInitContext ()
 
void GetOpenGLVersion (int &major, int &minor)
 Get the major and minor version numbers of the OpenGL context we are using ala 3.2, 3.3, 4.0, etc... returns 0,0 if opengl has not been initialized yet.
 
virtual vtkMTimeType GetContextCreationTime ()
 Get the time when the OpenGL context was created.
 
vtkOpenGLShaderCacheGetShaderCache ()
 Returns an Shader Cache object.
 
vtkOpenGLVertexBufferObjectCacheGetVBOCache ()
 Returns the VBO Cache.
 
virtual vtkOpenGLFramebufferObjectGetDisplayFramebuffer ()
 Returns the display framebuffer object.
 
vtkTextureUnitManagerGetTextureUnitManager ()
 Returns its texture unit manager object.
 
void WaitForCompletion () override
 Block the thread until the actual rendering is finished().
 
virtual void DrawPixels (int x1, int y1, int x2, int y2, int numComponents, int dataType, void *data)
 Replacement for the old glDrawPixels function.
 
virtual void DrawPixels (int dstXmin, int dstYmin, int dstXmax, int dstYmax, int srcXmin, int srcYmin, int srcXmax, int srcYmax, int srcWidth, int srcHeight, int numComponents, int dataType, void *data)
 Replacement for the old glDrawPixels function, but it allows for scaling the data and using only part of the texture.
 
virtual void DrawPixels (int srcWidth, int srcHeight, int numComponents, int dataType, void *data)
 Replacement for the old glDrawPixels function.
 
virtual float GetMaximumHardwareLineWidth ()
 Return the largest line width supported by the hardware.
 
virtual bool IsPointSpriteBugPresent ()
 Returns true if driver has an EGL/OpenGL bug that makes vtkChartsCoreCxx-TestChartDoubleColors and other tests to fail because point sprites don't work correctly (gl_PointCoord is undefined) unless glEnable(GL_POINT_SPRITE)
 
int GetDefaultTextureInternalFormat (int vtktype, int numComponents, bool needInteger, bool needFloat, bool needSRGB)
 Get a mapping of vtk data types to native texture formats for this window we put this on the RenderWindow so that every texture does not have to build these structures themselves.
 
std::string GetOpenGLSupportMessage ()
 Return a message profiding additional details about the results of calling SupportsOpenGL() This can be used to retrieve more specifics about what failed.
 
int SupportsOpenGL () override
 Does this render window support OpenGL? 0-false, 1-true.
 
const char * ReportCapabilities () override
 Get report of capabilities for the render window.
 
virtual void Initialize ()
 Initialize the rendering window.
 
void RegisterGraphicsResources (vtkGenericOpenGLResourceFreeCallback *cb)
 
void UnregisterGraphicsResources (vtkGenericOpenGLResourceFreeCallback *cb)
 
virtual void PushContext ()
 Ability to push and pop this window's context as the current context.
 
virtual void PopContext ()
 
bool InitializeFromCurrentContext () override
 Initialize the render window from the information associated with the currently activated OpenGL context.
 
virtual bool SetSwapControl (int)
 Set the number of vertical syncs required between frames.
 
virtual vtkOpenGLStateGetState ()
 
vtkOpenGLBufferObjectGetTQuad2DVBO ()
 
int GetNoiseTextureUnit ()
 
void End () override
 Update the system, if needed, at end of render process.
 
void Render () override
 Handle opengl specific code and calls superclass.
 
void StereoMidpoint () override
 Intermediate method performs operations required between the rendering of the left and right eye.
 
bool GetBufferNeedsResolving ()
 
void ReleaseGraphicsResources (vtkWindow *) override
 Free up any graphics resources associated with this window a value of NULL means the context may already be destroyed.
 
void BlitDisplayFramebuffer ()
 Blit a display framebuffer into a currently bound draw destination, color only.
 
void BlitDisplayFramebufferColorAndDepth ()
 Blit a display framebuffer into a currently bound draw destination, color and depth.
 
void BlitDisplayFramebuffer (int right, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, int bufferMode, int interpolation)
 Blit a display buffer into a currently bound draw destination.
 
unsigned char * GetPixelData (int x, int y, int x2, int y2, int front, int right) override
 Set/Get the pixel data of an image, transmitted as RGBRGB... front in this context indicates that the read should come from the display buffer versus the render buffer.
 
int GetPixelData (int x, int y, int x2, int y2, int front, vtkUnsignedCharArray *data, int right) override
 Set/Get the pixel data of an image, transmitted as RGBRGB... front in this context indicates that the read should come from the display buffer versus the render buffer.
 
int SetPixelData (int x, int y, int x2, int y2, unsigned char *data, int front, int right) override
 Set/Get the pixel data of an image, transmitted as RGBRGB... front in this context indicates that the read should come from the display buffer versus the render buffer.
 
int SetPixelData (int x, int y, int x2, int y2, vtkUnsignedCharArray *data, int front, int right) override
 Set/Get the pixel data of an image, transmitted as RGBRGB... front in this context indicates that the read should come from the display buffer versus the render buffer.
 
float * GetRGBAPixelData (int x, int y, int x2, int y2, int front, int right=0) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA...
 
int GetRGBAPixelData (int x, int y, int x2, int y2, int front, vtkFloatArray *data, int right=0) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA...
 
int SetRGBAPixelData (int x, int y, int x2, int y2, float *data, int front, int blend=0, int right=0) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA...
 
int SetRGBAPixelData (int x, int y, int x2, int y2, vtkFloatArray *data, int front, int blend=0, int right=0) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA...
 
void ReleaseRGBAPixelData (float *data) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA...
 
unsigned char * GetRGBACharPixelData (int x, int y, int x2, int y2, int front, int right=0) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA...
 
int GetRGBACharPixelData (int x, int y, int x2, int y2, int front, vtkUnsignedCharArray *data, int right=0) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA...
 
int SetRGBACharPixelData (int x, int y, int x2, int y2, unsigned char *data, int front, int blend=0, int right=0) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA...
 
int SetRGBACharPixelData (int x, int y, int x2, int y2, vtkUnsignedCharArray *data, int front, int blend=0, int right=0) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA...
 
float * GetZbufferData (int x1, int y1, int x2, int y2) override
 Set/Get the zbuffer data from an image.
 
int GetZbufferData (int x1, int y1, int x2, int y2, float *z) override
 Set/Get the zbuffer data from an image.
 
int GetZbufferData (int x1, int y1, int x2, int y2, vtkFloatArray *buffer) override
 Set/Get the zbuffer data from an image.
 
int SetZbufferData (int x1, int y1, int x2, int y2, float *buffer) override
 Set/Get the zbuffer data from an image.
 
int SetZbufferData (int x1, int y1, int x2, int y2, vtkFloatArray *buffer) override
 Set/Get the zbuffer data from an image.
 
virtual vtkOpenGLFramebufferObjectGetRenderFramebuffer ()
 Returns the render framebuffer object.
 
void BlitToRenderFramebuffer (bool includeDepth)
 Blit the currently bound read buffer to the renderbuffer.
 
void BlitToRenderFramebuffer (int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, int bufferMode, int interpolation)
 Blit the currently bound read buffer to the renderbuffer.
 
virtual void SetFrameBlitMode (FrameBlitModes)
 SetGet how to handle blits at the end of a Frame() call.
 
virtual FrameBlitModes GetFrameBlitMode ()
 SetGet how to handle blits at the end of a Frame() call.
 
void SetFrameBlitModeToBlitToHardware ()
 SetGet how to handle blits at the end of a Frame() call.
 
void SetFrameBlitModeToBlitToCurrent ()
 SetGet how to handle blits at the end of a Frame() call.
 
void SetFrameBlitModeToBlitToCurrentWithDepth ()
 SetGet how to handle blits at the end of a Frame() call.
 
void SetFrameBlitModeToNoBlit ()
 SetGet how to handle blits at the end of a Frame() call.
 
virtual void SetFramebufferFlipY (bool)
 Enable/Disable flipping the Y axis of the rendered texture.
 
virtual bool GetFramebufferFlipY ()
 Enable/Disable flipping the Y axis of the rendered texture.
 
virtual void FramebufferFlipYOn ()
 Enable/Disable flipping the Y axis of the rendered texture.
 
virtual void FramebufferFlipYOff ()
 Enable/Disable flipping the Y axis of the rendered texture.
 
virtual void SetRenderBufferTargetDepthSize (int)
 Give a target bit size for depth buffers of created Framebuffer Objects.
 
virtual int GetRenderBufferTargetDepthSize ()
 Give a target bit size for depth buffers of created Framebuffer Objects.
 
virtual void TextureDepthBlit (vtkTextureObject *source)
 
virtual void TextureDepthBlit (vtkTextureObject *source, int srcX, int srcY, int srcX2, int srcY2)
 
virtual void TextureDepthBlit (vtkTextureObject *source, int srcX, int srcY, int srcX2, int srcY2, int destX, int destY, int destX2, int destY2)
 
- Public Member Functions inherited from vtkRenderWindow
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkRenderWindowNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
virtual void AddRenderer (vtkRenderer *)
 Add a renderer to the list of renderers.
 
void RemoveRenderer (vtkRenderer *)
 Remove a renderer from the list of renderers.
 
vtkTypeBool HasRenderer (vtkRenderer *)
 Query if a renderer is in the list of renderers.
 
virtual const char * GetRenderingBackend ()
 What rendering backend has the user requested.
 
 vtkGetNewMacro (RenderTimer, vtkRenderTimerLog)
 Get the render timer log for this window.
 
vtkRendererCollectionGetRenderers ()
 Return the collection of renderers in the render window.
 
void CaptureGL2PSSpecialProps (vtkCollection *specialProps)
 The GL2PS exporter must handle certain props in a special way (e.g.
 
void Render () override
 Ask each renderer owned by this RenderWindow to render its image and synchronize this process.
 
virtual void Start ()
 Start the rendering process for a frame.
 
virtual void End ()
 Update the system, if needed, at end of render process.
 
virtual void Finalize ()
 Finalize the rendering process.
 
virtual void Frame ()
 A termination method performed at the end of the rendering process to do things like swapping buffers (if necessary) or similar actions.
 
virtual void WaitForCompletion ()
 Block the thread until the actual rendering is finished().
 
virtual void CopyResultFrame ()
 Performed at the end of the rendering process to generate image.
 
virtual vtkRenderWindowInteractorMakeRenderWindowInteractor ()
 Create an interactor to control renderers in this window.
 
virtual void StereoUpdate ()
 Update the system, if needed, due to stereo rendering.
 
virtual void StereoMidpoint ()
 Intermediate method performs operations required between the rendering of the left and right eye.
 
virtual void StereoRenderComplete ()
 Handles work required once both views have been rendered when using stereo rendering.
 
virtual void WindowRemap ()
 Remap the rendering window.
 
virtual vtkTypeBool GetEventPending ()
 Check to see if a mouse button has been pressed.
 
virtual int CheckInRenderStatus ()
 Are we rendering at the moment.
 
virtual void ClearInRenderStatus ()
 Clear status (after an exception was thrown for example)
 
virtual void SetInteractor (vtkRenderWindowInteractor *)
 Set the interactor to the render window.
 
void UnRegister (vtkObjectBase *o) override
 This Method detects loops of RenderWindow<->Interactor, so objects are freed properly.
 
virtual bool InitializeFromCurrentContext ()
 Initialize the render window from the information associated with the currently activated OpenGL context.
 
virtual bool IsCurrent ()
 Tells if this window is the current graphics context for the calling thread.
 
virtual void SetForceMakeCurrent ()
 If called, allow MakeCurrent() to skip cache-check when called.
 
virtual const char * ReportCapabilities ()
 Get report of capabilities for the render window.
 
virtual int SupportsOpenGL ()
 Does this render window support OpenGL? 0-false, 1-true.
 
virtual vtkTypeBool IsDirect ()
 Is this render window using hardware acceleration? 0-false, 1-true.
 
virtual int GetDepthBufferSize ()
 This method should be defined by the subclass.
 
virtual int GetColorBufferSizes (int *)
 Get the size of the color buffer.
 
virtual int GetNumberOfDevices ()
 Returns the number of devices (graphics cards) on a system.
 
virtual void SetPhysicalToWorldMatrix (vtkMatrix4x4 *matrix)
 Set physical to world transform matrix.
 
virtual void GetPhysicalToWorldMatrix (vtkMatrix4x4 *matrix)
 Get physical to world transform matrix.
 
virtual bool GetDeviceToWorldMatrixForDevice (vtkEventDataDevice device, vtkMatrix4x4 *deviceToWorldMatrix)
 Store in deviceToWorldMatrix the matrix that goes from device coordinates to world coordinates.
 
virtual int GetCapturingGL2PSSpecialProps ()
 Returns true if the render process is capturing text actors.
 
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 display a 3D cursor instead.
 
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 display a 3D cursor instead.
 
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 display a 3D cursor instead.
 
virtual void SetCurrentCursor (int)
 Change the shape of the cursor.
 
virtual int GetCurrentCursor ()
 Change the shape of the cursor.
 
 vtkSetFilePathMacro (CursorFileName)
 Set/Get the full path to the custom cursor.
 
 vtkGetFilePathMacro (CursorFileName)
 Set/Get the full path to the custom cursor.
 
virtual void SetFullScreen (vtkTypeBool)
 Turn on/off rendering full screen window size.
 
virtual vtkTypeBool GetFullScreen ()
 Turn on/off rendering full screen window size.
 
virtual void FullScreenOn ()
 Turn on/off rendering full screen window size.
 
virtual void FullScreenOff ()
 Turn on/off rendering full screen window size.
 
virtual void SetBorders (vtkTypeBool)
 Turn on/off window manager borders.
 
virtual vtkTypeBool GetBorders ()
 Turn on/off window manager borders.
 
virtual void BordersOn ()
 Turn on/off window manager borders.
 
virtual void BordersOff ()
 Turn on/off window manager borders.
 
virtual vtkTypeBool GetStereoCapableWindow ()
 Prescribe that the window be created in a stereo-capable mode.
 
virtual void StereoCapableWindowOn ()
 Prescribe that the window be created in a stereo-capable mode.
 
virtual void StereoCapableWindowOff ()
 Prescribe that the window be created in a stereo-capable mode.
 
virtual void SetStereoCapableWindow (vtkTypeBool capable)
 Prescribe that the window be created in a stereo-capable mode.
 
virtual vtkTypeBool GetStereoRender ()
 Turn on/off stereo rendering.
 
void SetStereoRender (vtkTypeBool stereo)
 Turn on/off stereo rendering.
 
virtual void StereoRenderOn ()
 Turn on/off stereo rendering.
 
virtual void StereoRenderOff ()
 Turn on/off stereo rendering.
 
virtual void SetAlphaBitPlanes (vtkTypeBool)
 Turn on/off the use of alpha bitplanes.
 
virtual vtkTypeBool GetAlphaBitPlanes ()
 Turn on/off the use of alpha bitplanes.
 
virtual void AlphaBitPlanesOn ()
 Turn on/off the use of alpha bitplanes.
 
virtual void AlphaBitPlanesOff ()
 Turn on/off the use of alpha bitplanes.
 
virtual void SetPointSmoothing (vtkTypeBool)
 Turn on/off point smoothing.
 
virtual vtkTypeBool GetPointSmoothing ()
 Turn on/off point smoothing.
 
virtual void PointSmoothingOn ()
 Turn on/off point smoothing.
 
virtual void PointSmoothingOff ()
 Turn on/off point smoothing.
 
virtual void SetLineSmoothing (vtkTypeBool)
 Turn on/off line smoothing.
 
virtual vtkTypeBool GetLineSmoothing ()
 Turn on/off line smoothing.
 
virtual void LineSmoothingOn ()
 Turn on/off line smoothing.
 
virtual void LineSmoothingOff ()
 Turn on/off line smoothing.
 
virtual void SetPolygonSmoothing (vtkTypeBool)
 Turn on/off polygon smoothing.
 
virtual vtkTypeBool GetPolygonSmoothing ()
 Turn on/off polygon smoothing.
 
virtual void PolygonSmoothingOn ()
 Turn on/off polygon smoothing.
 
virtual void PolygonSmoothingOff ()
 Turn on/off polygon smoothing.
 
virtual int GetStereoType ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoType (int)
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToCrystalEyes ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToRedBlue ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToInterlaced ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToLeft ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToRight ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToDresden ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToAnaglyph ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToCheckerboard ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToSplitViewportHorizontal ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToFake ()
 Set/Get what type of stereo rendering to use.
 
void SetStereoTypeToEmulate ()
 Set/Get what type of stereo rendering to use.
 
virtual void SetAnaglyphColorSaturation (float)
 Set/get the anaglyph color saturation factor.
 
virtual float GetAnaglyphColorSaturation ()
 Set/get the anaglyph color saturation factor.
 
virtual void SetAnaglyphColorMask (int, int)
 Set/get the anaglyph color mask values.
 
void SetAnaglyphColorMask (int[2])
 Set/get the anaglyph color mask values.
 
virtual int * GetAnaglyphColorMask ()
 Set/get the anaglyph color mask values.
 
virtual void GetAnaglyphColorMask (int data[2])
 Set/get the anaglyph color mask values.
 
virtual void SetSwapBuffers (vtkTypeBool)
 Turn on/off buffer swapping between images.
 
virtual vtkTypeBool GetSwapBuffers ()
 Turn on/off buffer swapping between images.
 
virtual void SwapBuffersOn ()
 Turn on/off buffer swapping between images.
 
virtual void SwapBuffersOff ()
 Turn on/off buffer swapping between images.
 
float GetZbufferDataAtPoint (int x, int y)
 Set/Get the zbuffer data from the frame buffer.
 
virtual int GetNeverRendered ()
 This flag is set if the window hasn't rendered since it was created.
 
virtual int GetAbortRender ()
 This is a flag that can be set to interrupt a rendering that is in progress.
 
virtual void SetAbortRender (int)
 This is a flag that can be set to interrupt a rendering that is in progress.
 
virtual int GetInAbortCheck ()
 This is a flag that can be set to interrupt a rendering that is in progress.
 
virtual void SetInAbortCheck (int)
 This is a flag that can be set to interrupt a rendering that is in progress.
 
virtual int CheckAbortStatus ()
 This is a flag that can be set to interrupt a rendering that is in progress.
 
virtual void SetDesiredUpdateRate (double)
 Set/Get the desired update rate.
 
virtual double GetDesiredUpdateRate ()
 Set/Get the desired update rate.
 
virtual int GetNumberOfLayers ()
 Get the number of layers for renderers.
 
virtual void SetNumberOfLayers (int)
 Get the number of layers for renderers.
 
virtual vtkRenderWindowInteractorGetInteractor ()
 Get the interactor associated with this render window.
 
void SetDisplayId (void *) override
 Dummy stubs for vtkWindow API.
 
void SetWindowId (void *) override
 Dummy stubs for vtkWindow API.
 
virtual void SetNextWindowId (void *)
 Dummy stubs for vtkWindow API.
 
void SetParentId (void *) override
 Dummy stubs for vtkWindow API.
 
void SetWindowInfo (const char *) override
 Dummy stubs for vtkWindow API.
 
virtual void SetNextWindowInfo (const char *)
 Dummy stubs for vtkWindow API.
 
void SetParentInfo (const char *) override
 Dummy stubs for vtkWindow API.
 
virtual void SetSharedRenderWindow (vtkRenderWindow *)
 Set/Get an already existing window that this window should share data with if possible.
 
virtual vtkRenderWindowGetSharedRenderWindow ()
 Set/Get an already existing window that this window should share data with if possible.
 
virtual bool GetPlatformSupportsRenderWindowSharing ()
 Set/Get an already existing window that this window should share data with if possible.
 
virtual void SetMultiSamples (int)
 Set / Get the number of multisamples to use for hardware antialiasing.
 
virtual int GetMultiSamples ()
 Set / Get the number of multisamples to use for hardware antialiasing.
 
virtual void SetStencilCapable (vtkTypeBool)
 Set / Get the availability of the stencil buffer.
 
virtual vtkTypeBool GetStencilCapable ()
 Set / Get the availability of the stencil buffer.
 
virtual void StencilCapableOn ()
 Set / Get the availability of the stencil buffer.
 
virtual void StencilCapableOff ()
 Set / Get the availability of the stencil buffer.
 
virtual void SetDeviceIndex (int)
 If there are several graphics card installed on a system, this index can be used to specify which card you want to render to.
 
virtual int GetDeviceIndex ()
 If there are several graphics card installed on a system, this index can be used to specify which card you want to render to.
 
virtual bool GetUseSRGBColorSpace ()
 Set/Get if we want this window to use the sRGB color space.
 
virtual void SetUseSRGBColorSpace (bool)
 Set/Get if we want this window to use the sRGB color space.
 
virtual void UseSRGBColorSpaceOn ()
 Set/Get if we want this window to use the sRGB color space.
 
virtual void UseSRGBColorSpaceOff ()
 Set/Get if we want this window to use the sRGB color space.
 
virtual void SetPhysicalViewDirection (double, double, double)
 Set/get physical coordinate system in world coordinate system.
 
virtual void SetPhysicalViewDirection (double[3])
 Set/get physical coordinate system in world coordinate system.
 
virtual double * GetPhysicalViewDirection ()
 Set/get physical coordinate system in world coordinate system.
 
virtual void GetPhysicalViewDirection (double &, double &, double &)
 Set/get physical coordinate system in world coordinate system.
 
virtual void GetPhysicalViewDirection (double[3])
 Set/get physical coordinate system in world coordinate system.
 
virtual void SetPhysicalViewUp (double, double, double)
 Set/get physical coordinate system in world coordinate system.
 
virtual void SetPhysicalViewUp (double[3])
 Set/get physical coordinate system in world coordinate system.
 
virtual double * GetPhysicalViewUp ()
 Set/get physical coordinate system in world coordinate system.
 
virtual void GetPhysicalViewUp (double &, double &, double &)
 Set/get physical coordinate system in world coordinate system.
 
virtual void GetPhysicalViewUp (double[3])
 Set/get physical coordinate system in world coordinate system.
 
virtual void SetPhysicalTranslation (double, double, double)
 Set/get physical coordinate system in world coordinate system.
 
virtual void SetPhysicalTranslation (double[3])
 Set/get physical coordinate system in world coordinate system.
 
virtual double * GetPhysicalTranslation ()
 Set/get physical coordinate system in world coordinate system.
 
virtual void GetPhysicalTranslation (double &, double &, double &)
 Set/get physical coordinate system in world coordinate system.
 
virtual void GetPhysicalTranslation (double[3])
 Set/get physical coordinate system in world coordinate system.
 
virtual void SetPhysicalScale (double)
 Set/get physical coordinate system in world coordinate system.
 
virtual double GetPhysicalScale ()
 Set/get physical coordinate system in world coordinate system.
 
virtual bool GetEnableTranslucentSurface ()
 Set/Get if we want this window to use a translucent surface with alpha channel support.
 
virtual void SetEnableTranslucentSurface (bool)
 Set/Get if we want this window to use a translucent surface with alpha channel support.
 
virtual void EnableTranslucentSurfaceOn ()
 Set/Get if we want this window to use a translucent surface with alpha channel support.
 
virtual void EnableTranslucentSurfaceOff ()
 Set/Get if we want this window to use a translucent surface with alpha channel support.
 
const char * GetStereoTypeAsString ()
 Returns the stereo type as a string.
 
- Public Member Functions inherited from vtkWindow
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkWindowNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
int * GetActualSize ()
 GetSize() returns the size * this->TileScale, whereas this method returns the size without multiplying with the tile scale.
 
virtual int * GetScreenSize ()
 Get the current size of the screen in pixels.
 
virtual void SetIcon (vtkImageData *)
 Set the icon used in title bar and task bar.
 
virtual void Render ()
 Ask each viewport owned by this Window to render its image and synchronize this process.
 
virtual void ReleaseGraphicsResources (vtkWindow *)
 Release any graphics resources that are being consumed by this texture.
 
virtual bool DetectDPI ()
 Attempt to detect and set the DPI of the display device by querying the system.
 
vtkTypeBool GetOffScreenRendering ()
 Deprecated, directly use GetShowWindow and GetOffScreenBuffers instead.
 
virtual void MakeCurrent ()
 Make the window current.
 
virtual void ReleaseCurrent ()
 Release the current context.
 
virtual int * GetPosition ()
 Get the position (x and y) of the rendering window in screen coordinates (in pixels).
 
virtual void SetPosition (int x, int y)
 Set the position (x and y) of the rendering window in screen coordinates (in pixels).
 
virtual void SetPosition (int a[2])
 Get the position (x and y) of the rendering window in screen coordinates (in pixels).
 
virtual int * GetSize ()
 Get the size (width and height) of the rendering window in screen coordinates (in pixels).
 
virtual vtkTypeBool GetMapped ()
 Keep track of whether the rendering window has been mapped to screen.
 
virtual bool GetShowWindow ()
 Show or not Show the window.
 
virtual void SetShowWindow (bool)
 Show or not Show the window.
 
virtual void ShowWindowOn ()
 Show or not Show the window.
 
virtual void ShowWindowOff ()
 Show or not Show the window.
 
virtual void SetUseOffScreenBuffers (bool)
 Render to an offscreen destination such as a framebuffer.
 
virtual bool GetUseOffScreenBuffers ()
 Render to an offscreen destination such as a framebuffer.
 
virtual void UseOffScreenBuffersOn ()
 Render to an offscreen destination such as a framebuffer.
 
virtual void UseOffScreenBuffersOff ()
 Render to an offscreen destination such as a framebuffer.
 
virtual void SetErase (vtkTypeBool)
 Turn on/off erasing the screen between images.
 
virtual vtkTypeBool GetErase ()
 Turn on/off erasing the screen between images.
 
virtual void EraseOn ()
 Turn on/off erasing the screen between images.
 
virtual void EraseOff ()
 Turn on/off erasing the screen between images.
 
virtual void SetDoubleBuffer (vtkTypeBool)
 Keep track of whether double buffering is on or off.
 
virtual vtkTypeBool GetDoubleBuffer ()
 Keep track of whether double buffering is on or off.
 
virtual void DoubleBufferOn ()
 Keep track of whether double buffering is on or off.
 
virtual void DoubleBufferOff ()
 Keep track of whether double buffering is on or off.
 
virtual char * GetWindowName ()
 Get name of rendering window.
 
virtual void SetWindowName (const char *)
 Get name of rendering window.
 
virtual int GetDPI ()
 Return a best estimate to the dots per inch of the display device being rendered (or printed).
 
virtual void SetDPI (int)
 Return a best estimate to the dots per inch of the display device being rendered (or printed).
 
void SetOffScreenRendering (vtkTypeBool val)
 Convenience to set SHowWindow and UseOffScreenBuffers in one call.
 
virtual void OffScreenRenderingOn ()
 Convenience to set SHowWindow and UseOffScreenBuffers in one call.
 
virtual void OffScreenRenderingOff ()
 Convenience to set SHowWindow and UseOffScreenBuffers in one call.
 
virtual void SetTileScale (int, int)
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
void SetTileScale (int[2])
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
virtual int * GetTileScale ()
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
virtual void GetTileScale (int &, int &)
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
virtual void GetTileScale (int[2])
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
void SetTileScale (int s)
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
virtual void SetTileViewport (double, double, double, double)
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
virtual void SetTileViewport (double[4])
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
virtual double * GetTileViewport ()
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
virtual void GetTileViewport (double &, double &, double &, double &)
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
virtual void GetTileViewport (double[4])
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling.
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on.
 
virtual void DebugOff ()
 Turn debugging output off.
 
bool GetDebug ()
 Get the value of the debug flag.
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag.
 
virtual void Modified ()
 Update the modification time for this object.
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time.
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
vtkTypeBool InvokeEvent (unsigned long event)
 
vtkTypeBool InvokeEvent (const char *event)
 
std::string GetObjectDescription () const override
 The object description printed in messages and PrintSelf output.
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events.
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events.
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method.
 
vtkTypeBool InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
vtkTypeBool InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
virtual void SetObjectName (const std::string &objectName)
 Set/get the name of this object for reporting purposes.
 
virtual std::string GetObjectName () const
 Set/get the name of this object for reporting purposes.
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string.
 
virtual std::string GetObjectDescription () const
 The object description printed in messages and PrintSelf output.
 
virtual vtkTypeBool IsA (const char *name)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
virtual vtkIdType GetNumberOfGenerationsFromBase (const char *name)
 Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
 
virtual void Delete ()
 Delete a VTK object.
 
virtual void FastDelete ()
 Delete a reference to this object.
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream.
 
void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object).
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object).
 
int GetReferenceCount ()
 Return the current reference count of this object.
 
void SetReferenceCount (int)
 Sets the reference count.
 
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space.
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 
virtual bool UsesGarbageCollector () const
 Indicate whether the class uses vtkGarbageCollector or not.
 

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
 
static vtkVRRenderWindowSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkOpenGLRenderWindow
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkOpenGLRenderWindowSafeDownCast (vtkObjectBase *o)
 
static void SetGlobalMaximumNumberOfMultiSamples (int val)
 Set/Get the maximum number of multisamples.
 
static int GetGlobalMaximumNumberOfMultiSamples ()
 Set/Get the maximum number of multisamples.
 
- Static Public Member Functions inherited from vtkRenderWindow
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkRenderWindowSafeDownCast (vtkObjectBase *o)
 
static vtkRenderWindowNew ()
 Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on, positioned at (0,0), double buffering turned on.
 
static const char * GetRenderLibrary ()
 What rendering library has the user requested.
 
static const char * GetStereoTypeAsString (int type)
 Returns the stereo type as a string.
 
- Static Public Member Functions inherited from vtkWindow
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkWindowSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes.
 
static void SetGlobalWarningDisplay (vtkTypeBool val)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static vtkTypeBool GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class.
 
static vtkIdType GetNumberOfGenerationsFromBaseType (const char *name)
 Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within.
 
static bool GetUsingMemkind ()
 A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space.
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkVRRenderWindow ()
 
 ~vtkVRRenderWindow () override
 
void CreateAWindow () override
 Create a not-off-screen window.
 
void DestroyWindow () override
 Destroy a not-off-screen window.
 
virtual bool GetSizeFromAPI ()=0
 Attempt to get the size of the display from the API and store it in this->Size.
 
virtual std::string GetWindowTitleFromAPI ()
 
virtual bool CreateFramebuffers (uint32_t viewCount=2)=0
 
virtual void RenderFramebuffer (FramebufferDesc &framebufferDesc)=0
 
- Protected Member Functions inherited from vtkOpenGLRenderWindow
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkOpenGLRenderWindow ()
 
 ~vtkOpenGLRenderWindow () override
 
virtual void BlitDisplayFramebuffersToHardware ()
 
virtual bool ResolveFlipRenderFramebuffer ()
 
bool ReadDepthComponent (int depthSize)
 
virtual int ReadPixels (const vtkRecti &rect, int front, int glFormat, int glType, void *data, int right=0)
 
int CreateFramebuffers (int width, int height)
 Create the offScreen framebuffers or resize them if they are already created.
 
virtual void CreateAWindow ()=0
 Create a not-off-screen window.
 
virtual void DestroyWindow ()=0
 Destroy a not-off-screen window.
 
void SaveGLState ()
 Query and save OpenGL state.
 
void RestoreGLState ()
 Restore OpenGL state at end of the rendering.
 
- Protected Member Functions inherited from vtkRenderWindow
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkRenderWindow ()
 
 ~vtkRenderWindow () override
 
virtual void DoStereoRender ()
 
- Protected Member Functions inherited from vtkWindow
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkWindow ()
 
 ~vtkWindow () override
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events.
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events.
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void RegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
virtual void ObjectFinalize ()
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

bool VRInitialized = false
 
bool TrackHMD = true
 
std::vector< FramebufferDescFramebufferDescs
 
std::map< uint32_t, DeviceDataDeviceHandleToDeviceDataMap
 
uint32_t InvalidDeviceIndex = UINT32_MAX
 
bool BaseStationVisibility = false
 
vtkOpenGLRenderWindowHelperWindow
 
- Protected Attributes inherited from vtkOpenGLRenderWindow
FrameBlitModes FrameBlitMode
 
vtkOpenGLQuadHelperResolveQuad
 
vtkOpenGLQuadHelperDepthBlitQuad
 
vtkOpenGLQuadHelperFlipQuad
 
vtkOpenGLQuadHelperDepthReadQuad
 
bool FramebufferFlipY
 
bool OpenGLSupportTested
 
int OpenGLSupportResult
 
std::string OpenGLSupportMessage
 
vtkOpenGLFramebufferObjectRenderFramebuffer
 
vtkOpenGLFramebufferObjectDisplayFramebuffer
 
vtkOpenGLFramebufferObjectResolveFramebuffer
 
vtkOpenGLFramebufferObjectDepthFramebuffer
 
std::map< std::string, int > GLStateIntegers
 
vtkTypeBool OwnContext
 Flag telling if the context has been created here or was inherited.
 
vtkTimeStamp ContextCreationTime
 
vtkTextureObjectDrawPixelsTextureObject
 
bool Initialized
 
bool GlewInitValid
 
float MaximumHardwareLineWidth
 
char * Capabilities
 
vtkOpenGLBufferObjectTQuad2DVBO
 
vtkTextureObjectNoiseTextureObject
 
double FirstRenderTime
 
int LastMultiSamples
 
int RenderBufferTargetDepthSize
 
int ScreenSize [2]
 
- Protected Attributes inherited from vtkRenderWindow
vtkRendererCollectionRenderers
 
vtkNew< vtkRenderTimerLogRenderTimer
 
vtkTypeBool Borders
 
vtkTypeBool FullScreen
 
int OldScreen [5]
 
vtkTypeBool PointSmoothing
 
vtkTypeBool LineSmoothing
 
vtkTypeBool PolygonSmoothing
 
vtkTypeBool StereoRender
 
int StereoType
 
vtkTypeBool StereoCapableWindow
 
vtkTypeBool AlphaBitPlanes
 
vtkRenderWindowInteractorInteractor
 
vtkSmartPointer< vtkUnsignedCharArrayStereoBuffer
 
vtkSmartPointer< vtkUnsignedCharArrayResultFrame
 
vtkTypeBool SwapBuffers
 
double DesiredUpdateRate
 
int AbortRender
 
int InAbortCheck
 
int InRender
 
int NeverRendered
 
int NumberOfLayers
 
int CurrentCursor
 
float AnaglyphColorSaturation
 
int AnaglyphColorMask [2]
 
int MultiSamples
 
vtkTypeBool StencilCapable
 
int CapturingGL2PSSpecialProps
 
int DeviceIndex
 
bool UseSRGBColorSpace
 
char * CursorFileName
 
double AbortCheckTime
 The universal time since the last abort check occurred.
 
vtkRenderWindowSharedRenderWindow
 
double PhysicalViewDirection [3] = { 0.0, 0.0, -1.0 }
 
double PhysicalViewUp [3] = { 0.0, 1.0, 0.0 }
 
double PhysicalTranslation [3] = { 0.0, 0.0, 0.0 }
 
double PhysicalScale = 1.0
 
bool EnableTranslucentSurface = false
 
- Protected Attributes inherited from vtkWindow
char * WindowName
 
int Size [2]
 
int Position [2]
 
vtkTypeBool Mapped
 
bool ShowWindow
 
bool UseOffScreenBuffers
 
vtkTypeBool Erase
 
vtkTypeBool DoubleBuffer
 
int DPI
 
double TileViewport [4]
 
int TileSize [2]
 
int TileScale [2]
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
std::string ObjectName
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Additional Inherited Members

- Public Attributes inherited from vtkOpenGLRenderWindow
std::set< vtkGenericOpenGLResourceFreeCallback * > Resources
 
- Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction GetCurrentMallocFunction ()
 
static vtkReallocingFunction GetCurrentReallocFunction ()
 
static vtkFreeingFunction GetCurrentFreeFunction ()
 
static vtkFreeingFunction GetAlternateFreeFunction ()
 

Detailed Description

VR rendering window.

vtkVRRenderWindow is a abstract class to define a RenderWindow in a VR context.

VR provides HMD and controller positions in the "Physical" coordinate system. For room scale VR this is based on the room setup per the underlying VR API being used. Units are in meters.

Renderer shows actors in the World coordinate system. Transformation between Physical and World coordinate systems is defined by PhysicalToWorldMatrix. This matrix determines the user's position and orientation in the rendered scene and scaling (magnification) of rendered actors.

This class introduces the notion of DeviceHandles. A DeviceHandle is a uint32_t handle that represents a device in the underlying VR API such as OpenVR or OpenXR. Implementations of this class are responsible for mapping the actual devices from that API into unique DeviceHandles. Typically these devices are handheld controllers, HMDs, stylus etc. The subclass should call AddDeviceHandle when it first sees a new device.

This class also uses the term Device from vtkEventDataDevice to represent a generic device type that is used in the event handling system. Multiple DeviceHandles could point to the same Device though most often there is a one to one mapping. For example vtkEventDataDevice::LeftController will typically have one or zero DeviceHandles that map to it.

Most event processing works with generic devices and this class provides a number of methods to support that. This class also provides a number of methods that work on DeviceHandles which are typically used by VR classes and their subclasses.

Definition at line 57 of file vtkVRRenderWindow.h.

Member Typedef Documentation

◆ Superclass

Definition at line 66 of file vtkVRRenderWindow.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
LeftEye 
RightEye 

Definition at line 60 of file vtkVRRenderWindow.h.

Constructor & Destructor Documentation

◆ vtkVRRenderWindow()

vtkVRRenderWindow::vtkVRRenderWindow ( )
protected

◆ ~vtkVRRenderWindow()

vtkVRRenderWindow::~vtkVRRenderWindow ( )
overrideprotected

Member Function Documentation

◆ IsTypeOf()

static vtkTypeBool vtkVRRenderWindow::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool vtkVRRenderWindow::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkOpenGLRenderWindow.

Reimplemented in vtkOpenVRRenderWindow, vtkOpenXRRenderWindow, and vtkOpenXRRemotingRenderWindow.

◆ SafeDownCast()

static vtkVRRenderWindow * vtkVRRenderWindow::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase * vtkVRRenderWindow::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkVRRenderWindow * vtkVRRenderWindow::NewInstance ( ) const

◆ PrintSelf()

void vtkVRRenderWindow::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkOpenGLRenderWindow.

◆ MakeRenderWindowInteractor()

vtkRenderWindowInteractor * vtkVRRenderWindow::MakeRenderWindowInteractor ( )
overridepure virtual

Create an interactor to control renderers in this window.

Must be overridden to instantiate a specific interactor depending on the API

Reimplemented from vtkRenderWindow.

Implemented in vtkOpenVRRenderWindow, and vtkOpenXRRenderWindow.

◆ GetLeftResolveBufferId()

GLuint vtkVRRenderWindow::GetLeftResolveBufferId ( )
inline

Get the frame buffers used for rendering.

Definition at line 79 of file vtkVRRenderWindow.h.

◆ GetRightResolveBufferId()

GLuint vtkVRRenderWindow::GetRightResolveBufferId ( )
inline

Get the frame buffers used for rendering.

Definition at line 80 of file vtkVRRenderWindow.h.

◆ GetRenderBufferSize()

void vtkVRRenderWindow::GetRenderBufferSize ( int &  width,
int &  height 
)
inline

Get the frame buffers used for rendering.

Definition at line 81 of file vtkVRRenderWindow.h.

◆ GetModelForDevice()

vtkVRModel * vtkVRRenderWindow::GetModelForDevice ( vtkEventDataDevice  idx)

Get the VRModel corresponding to the device or device handle.

◆ GetModelForDeviceHandle()

vtkVRModel * vtkVRRenderWindow::GetModelForDeviceHandle ( uint32_t  handle)

Get the VRModel corresponding to the device or device handle.

◆ SetModelForDeviceHandle()

void vtkVRRenderWindow::SetModelForDeviceHandle ( uint32_t  handle,
vtkVRModel model 
)

Set the VRModel corresponding to the device handle.

◆ GetDeviceToPhysicalMatrixForDevice()

vtkMatrix4x4 * vtkVRRenderWindow::GetDeviceToPhysicalMatrixForDevice ( vtkEventDataDevice  idx)

Get the DeviceToPhysical matrix corresponding to the device or device handle.

e.g. 0,0,0,1 pushed through this matrix will give you the location of the device in physical coordinates.

◆ GetDeviceToPhysicalMatrixForDeviceHandle()

vtkMatrix4x4 * vtkVRRenderWindow::GetDeviceToPhysicalMatrixForDeviceHandle ( uint32_t  handle)

Get the DeviceToPhysical matrix corresponding to the device or device handle.

e.g. 0,0,0,1 pushed through this matrix will give you the location of the device in physical coordinates.

◆ GetDeviceHandleForDevice()

uint32_t vtkVRRenderWindow::GetDeviceHandleForDevice ( vtkEventDataDevice  dev,
uint32_t  index = 0 
)

◆ GetNumberOfDeviceHandlesForDevice()

uint32_t vtkVRRenderWindow::GetNumberOfDeviceHandlesForDevice ( vtkEventDataDevice  dev)

◆ AddDeviceHandle() [1/2]

void vtkVRRenderWindow::AddDeviceHandle ( uint32_t  handle)

◆ AddDeviceHandle() [2/2]

void vtkVRRenderWindow::AddDeviceHandle ( uint32_t  handle,
vtkEventDataDevice  device 
)

◆ GetDeviceForDeviceHandle()

vtkEventDataDevice vtkVRRenderWindow::GetDeviceForDeviceHandle ( uint32_t  handle)

◆ GetDeviceToWorldMatrixForDevice()

bool vtkVRRenderWindow::GetDeviceToWorldMatrixForDevice ( vtkEventDataDevice  device,
vtkMatrix4x4 deviceToWorldMatrix 
)
overridevirtual

Store in deviceToWorldMatrix the matrix that goes from device coordinates to world coordinates.

e.g. if you push 0,0,0,1 through this matrix you will get the location of the device in world coordinates. Return true if the query is valid, else false.

Reimplemented from vtkRenderWindow.

◆ GetDeviceToWorldMatrixForDeviceHandle()

virtual bool vtkVRRenderWindow::GetDeviceToWorldMatrixForDeviceHandle ( uint32_t  handle,
vtkMatrix4x4 deviceToWorldMatrix 
)
virtual

◆ InitializeViewFromCamera()

virtual void vtkVRRenderWindow::InitializeViewFromCamera ( vtkCamera cam)
virtual

Initialize the HMD to World setting and camera settings so that the VR world view most closely matched the view from the provided camera.

This method is useful for initializing a VR world from an existing on screen window and camera. The Renderer and its camera must already be created and set when this is called.

◆ AddRenderer()

void vtkVRRenderWindow::AddRenderer ( vtkRenderer )
overridevirtual

Add a renderer to the list of renderers.

Reimplemented from vtkRenderWindow.

◆ MakeCurrent()

void vtkVRRenderWindow::MakeCurrent ( )
overridevirtual

Make this windows OpenGL context the current context.

Reimplemented from vtkWindow.

◆ ReleaseCurrent()

void vtkVRRenderWindow::ReleaseCurrent ( )
overridevirtual

Release the current context.

Reimplemented from vtkWindow.

◆ IsCurrent()

bool vtkVRRenderWindow::IsCurrent ( )
overridevirtual

Tells if this window is the current OpenGL context for the calling thread.

Reimplemented from vtkRenderWindow.

◆ ReportCapabilities()

const char * vtkVRRenderWindow::ReportCapabilities ( )
inlineoverridevirtual

Get report of capabilities for the render window.

Reimplemented from vtkOpenGLRenderWindow.

Definition at line 188 of file vtkVRRenderWindow.h.

◆ IsDirect()

vtkTypeBool vtkVRRenderWindow::IsDirect ( )
inlineoverridevirtual

Is this render window using hardware acceleration? 0-false, 1-true.

Reimplemented from vtkRenderWindow.

Definition at line 193 of file vtkVRRenderWindow.h.

◆ GetEventPending()

vtkTypeBool vtkVRRenderWindow::GetEventPending ( )
inlineoverridevirtual

Check to see if a mouse button has been pressed or mouse wheel activated.

All other events are ignored by this method. Maybe should return 1 always?

Reimplemented from vtkRenderWindow.

Definition at line 200 of file vtkVRRenderWindow.h.

◆ GetScreenSize()

int * vtkVRRenderWindow::GetScreenSize ( )
overridevirtual

Get the current size of the screen in pixels.

Reimplemented from vtkWindow.

◆ SetSize() [1/2]

void vtkVRRenderWindow::SetSize ( int  width,
int  height 
)
overridevirtual

Set the size of the window in screen coordinates in pixels.

This resizes the operating system's window and redraws it.

If the size has changed, this method will fire vtkCommand::WindowResizeEvent.

Reimplemented from vtkWindow.

◆ SetSize() [2/2]

void vtkVRRenderWindow::SetSize ( int  a[2])
inlineoverridevirtual

Set the size of the window in screen coordinates in pixels.

This resizes the operating system's window and redraws it.

If the size has changed, this method will fire vtkCommand::WindowResizeEvent.

Reimplemented from vtkWindow.

Definition at line 216 of file vtkVRRenderWindow.h.

◆ GetGenericDisplayId()

void * vtkVRRenderWindow::GetGenericDisplayId ( )
inlineoverridevirtual

Implement required virtual functions.

Reimplemented from vtkRenderWindow.

Definition at line 223 of file vtkVRRenderWindow.h.

◆ GetGenericWindowId()

void * vtkVRRenderWindow::GetGenericWindowId ( )
inlineoverridevirtual

Implement required virtual functions.

Reimplemented from vtkRenderWindow.

Definition at line 224 of file vtkVRRenderWindow.h.

◆ GetGenericParentId()

void * vtkVRRenderWindow::GetGenericParentId ( )
inlineoverridevirtual

Implement required virtual functions.

Reimplemented from vtkRenderWindow.

Definition at line 225 of file vtkVRRenderWindow.h.

◆ GetGenericContext()

void * vtkVRRenderWindow::GetGenericContext ( )
inlineoverridevirtual

Implement required virtual functions.

Reimplemented from vtkRenderWindow.

Definition at line 226 of file vtkVRRenderWindow.h.

◆ GetGenericDrawable()

void * vtkVRRenderWindow::GetGenericDrawable ( )
inlineoverridevirtual

Implement required virtual functions.

Reimplemented from vtkRenderWindow.

Definition at line 227 of file vtkVRRenderWindow.h.

◆ SupportsOpenGL()

int vtkVRRenderWindow::SupportsOpenGL ( )
inlineoverridevirtual

Does this render window support OpenGL? 0-false, 1-true.

Reimplemented from vtkOpenGLRenderWindow.

Definition at line 233 of file vtkVRRenderWindow.h.

◆ Render()

void vtkVRRenderWindow::Render ( )
overridevirtual

Overridden to not release resources that would interfere with an external application's rendering.

Avoiding round trip.

Reimplemented from vtkOpenGLRenderWindow.

◆ GetHelperWindow()

virtual vtkOpenGLRenderWindow * vtkVRRenderWindow::GetHelperWindow ( )
virtual

Set/Get the window to use for the openGL context.

◆ SetHelperWindow()

void vtkVRRenderWindow::SetHelperWindow ( vtkOpenGLRenderWindow val)

Set/Get the window to use for the openGL context.

◆ GetState()

vtkOpenGLState * vtkVRRenderWindow::GetState ( )
overridevirtual

Get the state object used to keep track of OpenGL state.

Reimplemented from vtkOpenGLRenderWindow.

◆ ReleaseGraphicsResources()

void vtkVRRenderWindow::ReleaseGraphicsResources ( vtkWindow )
overridevirtual

Free up any graphics resources associated with this window a value of nullptr means the context may already be destroyed.

Reimplemented from vtkOpenGLRenderWindow.

◆ RenderModels()

virtual void vtkVRRenderWindow::RenderModels ( )
pure virtual

Render the controller and base station models.

Implemented in vtkOpenVRRenderWindow, and vtkOpenXRRenderWindow.

◆ SetTrackHMD()

virtual void vtkVRRenderWindow::SetTrackHMD ( bool  )
virtual

When on the camera will track the HMD position.

On is the default.

◆ GetTrackHMD()

virtual bool vtkVRRenderWindow::GetTrackHMD ( )
virtual

When on the camera will track the HMD position.

On is the default.

◆ GetBaseStationVisibility()

virtual bool vtkVRRenderWindow::GetBaseStationVisibility ( )
virtual

Set/Get the visibility of the base stations.

Defaults to false

◆ SetBaseStationVisibility()

virtual void vtkVRRenderWindow::SetBaseStationVisibility ( bool  )
virtual

Set/Get the visibility of the base stations.

Defaults to false

◆ BaseStationVisibilityOn()

virtual void vtkVRRenderWindow::BaseStationVisibilityOn ( )
virtual

Set/Get the visibility of the base stations.

Defaults to false

◆ BaseStationVisibilityOff()

virtual void vtkVRRenderWindow::BaseStationVisibilityOff ( )
virtual

Set/Get the visibility of the base stations.

Defaults to false

◆ UpdateHMDMatrixPose()

virtual void vtkVRRenderWindow::UpdateHMDMatrixPose ( )
inlinevirtual

Update the HMD pose.

Reimplemented in vtkOpenVRRenderWindow, and vtkOpenXRRenderWindow.

Definition at line 288 of file vtkVRRenderWindow.h.

◆ GetVRInitialized()

virtual bool vtkVRRenderWindow::GetVRInitialized ( )
virtual

Get whether the XR components of the window have been initialized successfully.

◆ CreateAWindow()

void vtkVRRenderWindow::CreateAWindow ( )
inlineoverrideprotectedvirtual

Create a not-off-screen window.

Implements vtkOpenGLRenderWindow.

Definition at line 307 of file vtkVRRenderWindow.h.

◆ DestroyWindow()

void vtkVRRenderWindow::DestroyWindow ( )
inlineoverrideprotectedvirtual

Destroy a not-off-screen window.

Implements vtkOpenGLRenderWindow.

Definition at line 308 of file vtkVRRenderWindow.h.

◆ GetSizeFromAPI()

virtual bool vtkVRRenderWindow::GetSizeFromAPI ( )
protectedpure virtual

Attempt to get the size of the display from the API and store it in this->Size.

If succeed, returns true, else false.

Implemented in vtkOpenVRRenderWindow, and vtkOpenXRRenderWindow.

◆ GetWindowTitleFromAPI()

virtual std::string vtkVRRenderWindow::GetWindowTitleFromAPI ( )
inlineprotectedvirtual

Reimplemented in vtkOpenVRRenderWindow.

Definition at line 317 of file vtkVRRenderWindow.h.

◆ CreateFramebuffers()

virtual bool vtkVRRenderWindow::CreateFramebuffers ( uint32_t  viewCount = 2)
protectedpure virtual

◆ RenderFramebuffer()

virtual void vtkVRRenderWindow::RenderFramebuffer ( FramebufferDesc framebufferDesc)
protectedpure virtual

Member Data Documentation

◆ VRInitialized

bool vtkVRRenderWindow::VRInitialized = false
protected

Definition at line 322 of file vtkVRRenderWindow.h.

◆ TrackHMD

bool vtkVRRenderWindow::TrackHMD = true
protected

Definition at line 325 of file vtkVRRenderWindow.h.

◆ FramebufferDescs

std::vector<FramebufferDesc> vtkVRRenderWindow::FramebufferDescs
protected

Definition at line 328 of file vtkVRRenderWindow.h.

◆ DeviceHandleToDeviceDataMap

std::map<uint32_t, DeviceData> vtkVRRenderWindow::DeviceHandleToDeviceDataMap
protected

Definition at line 339 of file vtkVRRenderWindow.h.

◆ InvalidDeviceIndex

uint32_t vtkVRRenderWindow::InvalidDeviceIndex = UINT32_MAX
protected

Definition at line 340 of file vtkVRRenderWindow.h.

◆ BaseStationVisibility

bool vtkVRRenderWindow::BaseStationVisibility = false
protected

Definition at line 342 of file vtkVRRenderWindow.h.

◆ HelperWindow

vtkOpenGLRenderWindow* vtkVRRenderWindow::HelperWindow
protected

Definition at line 344 of file vtkVRRenderWindow.h.


The documentation for this class was generated from the following file: