VTK  9.1.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkOpenVRRenderWindow Class Reference

OpenVR rendering window. More...

#include <vtkOpenVRRenderWindow.h>

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

Public Types

typedef vtkVRRenderWindow Superclass
 
- Public Types inherited from vtkVRRenderWindow
enum  { PhysicalToWorldMatrixModified = vtkCommand::UserEvent + 200 }
 
enum  { LeftEye = 0 , RightEye }
 
typedef vtkOpenGLRenderWindow Superclass
 
- Public Types inherited from vtkOpenGLRenderWindow
enum  FrameBlitModes { BlitToHardware , BlitToCurrent , 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
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. More...
 
vtkOpenVRRenderWindowNewInstance () const
 
void Initialize (void) override
 Initialize the rendering window. More...
 
void ReleaseGraphicsResources (vtkWindow *renWin) override
 Free up any graphics resources associated with this window a value of NULL means the context may already be destroyed. More...
 
vr::IVRSystem * GetHMD ()
 Get the system pointer. More...
 
vtkRenderWindowInteractorMakeRenderWindowInteractor () override
 Create an interactor to control renderers in this window. More...
 
void Render () override
 Overridden to not release resources that would interfere with an external application's rendering. More...
 
void StereoMidpoint () override
 Intermediate method performs operations required between the rendering of the left and right eye. More...
 
void StereoRenderComplete () override
 Handles work required once both views have been rendered when using stereo rendering. More...
 
void RenderOverlay ()
 Draw the overlay. More...
 
virtual bool GetBaseStationVisibility ()
 Set/Get the visibility of the base stations. More...
 
virtual void SetBaseStationVisibility (bool)
 
virtual void BaseStationVisibilityOn ()
 
virtual void BaseStationVisibilityOff ()
 
void UpdateHMDMatrixPose () override
 Update the HMD pose based on hardware pose and physical to world transform. More...
 
vtkVRModelGetTrackedDeviceModel (vtkEventDataDevice idx, uint32_t index) override
 Get the VRModel corresponding to the tracked device. More...
 
vr::IVRRenderModels * GetOpenVRRenderModels ()
 Get the openVR Render Models. More...
 
vtkEventDataDevice GetDeviceFromDeviceIndex (vr::TrackedDeviceIndex_t index)
 Get the EventDataDevice corresponding to the OpenVR index. More...
 
vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForDevice (vtkEventDataDevice dev)
 Get the index corresponding to the tracked device. More...
 
vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForDevice (vtkEventDataDevice dev, uint32_t index)
 
uint32_t GetNumberOfTrackedDevicesForDevice (vtkEventDataDevice dev)
 
vr::TrackedDevicePose_t * GetTrackedDevicePose (vtkEventDataDevice idx)
 Get the most recent pose corresponding to the tracked device. More...
 
vr::TrackedDevicePose_t * GetTrackedDevicePose (vtkEventDataDevice idx, uint32_t index)
 
vr::TrackedDevicePose_t & GetTrackedDevicePose (vr::TrackedDeviceIndex_t idx)
 
void RenderModels () override
 Render the controller and base station models. More...
 
bool GetPoseMatrixWorldFromDevice (vtkEventDataDevice device, vtkMatrix4x4 *poseMatrixWorld) override
 Store in poseMatrixWorld the pose matrix in world coordinate from an event data device. More...
 
void ConvertOpenVRPoseToMatrices (const vr::TrackedDevicePose_t &tdPose, vtkMatrix4x4 *poseMatrixWorld, vtkMatrix4x4 *poseMatrixPhysical=nullptr)
 
vtkVRModelGetTrackedDeviceModel (vtkEventDataDevice idx)
 Get the VRModel corresponding to the tracked device. More...
 
vtkVRModelGetTrackedDeviceModel (uint32_t idx)
 
virtual vtkVRModelGetTrackedDeviceModel (vtkEventDataDevice idx, uint32_t index)=0
 
virtual vtkOpenVROverlayGetDashboardOverlay ()
 
void SetDashboardOverlay (vtkOpenVROverlay *)
 
- Public Member Functions inherited from vtkVRRenderWindow
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkVRRenderWindowNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
vtkRenderWindowInteractorMakeRenderWindowInteractor () override=0
 Create an interactor to control renderers in this window. More...
 
GLuint GetLeftResolveBufferId ()
 Get the frame buffers used for rendering. More...
 
GLuint GetRightResolveBufferId ()
 
void GetRenderBufferSize (int &width, int &height)
 
vtkVRModelGetTrackedDeviceModel (vtkEventDataDevice idx)
 Get the VRModel corresponding to the tracked device. More...
 
vtkVRModelGetTrackedDeviceModel (uint32_t idx)
 
virtual vtkVRModelGetTrackedDeviceModel (vtkEventDataDevice idx, uint32_t index)=0
 
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. More...
 
virtual void SetPhysicalViewDirection (double, double, double)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void SetPhysicalViewDirection (double[3])
 
virtual double * GetPhysicalViewDirection ()
 
virtual void GetPhysicalViewDirection (double &, double &, double &)
 
virtual void GetPhysicalViewDirection (double[3])
 
virtual void SetPhysicalViewUp (double, double, double)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void SetPhysicalViewUp (double[3])
 
virtual double * GetPhysicalViewUp ()
 
virtual void GetPhysicalViewUp (double &, double &, double &)
 
virtual void GetPhysicalViewUp (double[3])
 
virtual void SetPhysicalTranslation (double, double, double)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void SetPhysicalTranslation (double[3])
 
virtual double * GetPhysicalTranslation ()
 
virtual void GetPhysicalTranslation (double &, double &, double &)
 
virtual void GetPhysicalTranslation (double[3])
 
virtual void SetPhysicalScale (double)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual double GetPhysicalScale ()
 
void SetPhysicalToWorldMatrix (vtkMatrix4x4 *matrix)
 Set physical to world transform matrix. More...
 
void GetPhysicalToWorldMatrix (vtkMatrix4x4 *matrix)
 Get physical to world transform matrix. More...
 
virtual void AddRenderer (vtkRenderer *) override
 Add a renderer to the list of renderers. More...
 
virtual void Start () override
 Begin the rendering process. More...
 
virtual void Initialize () override
 Initialize the rendering window. More...
 
virtual void Finalize () override
 Finalize the rendering window. More...
 
void MakeCurrent () override
 Make this windows OpenGL context the current context. More...
 
void ReleaseCurrent () override
 Release the current context. More...
 
virtual bool IsCurrent () override
 Tells if this window is the current OpenGL context for the calling thread. More...
 
const char * ReportCapabilities () override
 Get report of capabilities for the render window. More...
 
vtkTypeBool IsDirect () override
 Is this render window using hardware acceleration? 0-false, 1-true. More...
 
virtual vtkTypeBool GetEventPending () override
 Check to see if a mouse button has been pressed or mouse wheel activated. More...
 
virtual int * GetScreenSize () override
 Get the current size of the screen in pixels. More...
 
virtual void * GetGenericDisplayId () override
 Dummy stubs for vtkWindow API. More...
 
virtual void * GetGenericWindowId () override
 Dummy stubs for vtkWindow API. More...
 
virtual void * GetGenericParentId () override
 Dummy stubs for vtkWindow API. More...
 
virtual void * GetGenericContext () override
 Dummy stubs for vtkWindow API. More...
 
virtual void * GetGenericDrawable () override
 Dummy stubs for vtkWindow API. More...
 
virtual int SupportsOpenGL () override
 Does this render window support OpenGL? 0-false, 1-true. More...
 
virtual void Render () override
 Overridden to not release resources that would interfere with an external application's rendering. More...
 
virtual vtkOpenGLRenderWindowGetHelperWindow ()
 Set/Get the window to use for the openGL context. More...
 
void SetHelperWindow (vtkOpenGLRenderWindow *val)
 
vtkOpenGLStateGetState () override
 
void ReleaseGraphicsResources (vtkWindow *) override
 Free up any graphics resources associated with this window a value of nullptr means the context may already be destroyed. More...
 
virtual void RenderModels ()=0
 Render the controller and base station models. More...
 
virtual bool GetPoseMatrixWorldFromDevice (vtkEventDataDevice device, vtkMatrix4x4 *poseMatrixWorld)=0
 Store in poseMatrixWorld the pose matrix in world coordinate from an event data device. More...
 
virtual void SetTrackHMD (bool)
 When on the camera will track the HMD position. More...
 
virtual bool GetTrackHMD ()
 
virtual void UpdateHMDMatrixPose ()
 
void SetSize (int width, int height) override
 Set the size of the window in screen coordinates in pixels. More...
 
void SetSize (int a[2]) override
 Set the size of the window in screen coordinates in pixels. More...
 
- 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. More...
 
vtkOpenGLRenderWindowNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
void Start (void) override
 Begin the rendering process. More...
 
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. More...
 
const char * GetRenderingBackend () override
 What rendering backend has the user requested. More...
 
void ActivateTexture (vtkTextureObject *)
 Activate a texture unit for this texture. More...
 
void DeactivateTexture (vtkTextureObject *)
 Deactivate a previously activated texture. More...
 
int GetTextureUnitForTexture (vtkTextureObject *)
 Get the texture unit for a given texture object. More...
 
int GetDepthBufferSize () override
 Get the size of the depth buffer. More...
 
bool GetUsingSRGBColorSpace ()
 Is this window/fo in sRGB colorspace. More...
 
int GetColorBufferSizes (int *rgba) override
 Get the size of the color buffer. More...
 
int GetColorBufferInternalFormat (int attachmentPoint)
 Get the internal format of current attached texture or render buffer. More...
 
virtual void OpenGLInit ()
 Initialize OpenGL for this window. More...
 
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. More...
 
virtual vtkMTimeType GetContextCreationTime ()
 Get the time when the OpenGL context was created. More...
 
vtkOpenGLShaderCacheGetShaderCache ()
 Returns an Shader Cache object. More...
 
vtkOpenGLVertexBufferObjectCacheGetVBOCache ()
 Returns the VBO Cache. More...
 
virtual vtkOpenGLFramebufferObjectGetDisplayFramebuffer ()
 Returns the display framebuffer object. More...
 
vtkTextureUnitManagerGetTextureUnitManager ()
 Returns its texture unit manager object. More...
 
void WaitForCompletion () override
 Block the thread until the actual rendering is finished(). More...
 
virtual void DrawPixels (int x1, int y1, int x2, int y2, int numComponents, int dataType, void *data)
 Replacement for the old glDrawPixels function. More...
 
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. More...
 
virtual void DrawPixels (int srcWidth, int srcHeight, int numComponents, int dataType, void *data)
 Replacement for the old glDrawPixels function. More...
 
virtual float GetMaximumHardwareLineWidth ()
 Return the largest line width supported by the hardware. More...
 
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) More...
 
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. More...
 
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. More...
 
int SupportsOpenGL () override
 Does this render window support OpenGL? 0-false, 1-true. More...
 
const char * ReportCapabilities () override
 Get report of capabilities for the render window. More...
 
virtual void Initialize (void)
 Initialize the rendering window. More...
 
void RegisterGraphicsResources (vtkGenericOpenGLResourceFreeCallback *cb)
 
void UnregisterGraphicsResources (vtkGenericOpenGLResourceFreeCallback *cb)
 
virtual void PushContext ()
 Ability to push and pop this window's context as the current context. More...
 
virtual void PopContext ()
 
bool InitializeFromCurrentContext () override
 Initialize the render window from the information associated with the currently activated OpenGL context. More...
 
virtual bool SetSwapControl (int)
 Set the number of vertical syncs required between frames. More...
 
virtual vtkOpenGLStateGetState ()
 
vtkOpenGLBufferObjectGetTQuad2DVBO ()
 
int GetNoiseTextureUnit ()
 
void End () override
 Update the system, if needed, at end of render process. More...
 
void Render () override
 Handle opengl specific code and calls superclass. More...
 
void StereoMidpoint () override
 Intermediate method performs operations required between the rendering of the left and right eye. More...
 
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. More...
 
void BlitDisplayFramebuffer ()
 Blit a display framebuffer into a currently bound draw destination. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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... More...
 
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... More...
 
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... More...
 
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... More...
 
void ReleaseRGBAPixelData (float *data) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA... More...
 
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... More...
 
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... More...
 
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... More...
 
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... More...
 
float * GetZbufferData (int x1, int y1, int x2, int y2) override
 Set/Get the zbuffer data from an image. More...
 
int GetZbufferData (int x1, int y1, int x2, int y2, float *z) override
 Set/Get the zbuffer data from an image. More...
 
int GetZbufferData (int x1, int y1, int x2, int y2, vtkFloatArray *buffer) override
 Set/Get the zbuffer data from an image. More...
 
int SetZbufferData (int x1, int y1, int x2, int y2, float *buffer) override
 Set/Get the zbuffer data from an image. More...
 
int SetZbufferData (int x1, int y1, int x2, int y2, vtkFloatArray *buffer) override
 Set/Get the zbuffer data from an image. More...
 
unsigned int GetBackLeftBuffer ()
 
unsigned int GetBackRightBuffer ()
 
unsigned int GetFrontLeftBuffer ()
 
unsigned int GetFrontRightBuffer ()
 
unsigned int GetBackBuffer ()
 
unsigned int GetFrontBuffer ()
 
virtual vtkOpenGLFramebufferObjectGetRenderFramebuffer ()
 Returns the render framebuffer object. More...
 
vtkOpenGLFramebufferObjectGetOffScreenFramebuffer ()
 Returns the render framebuffer object. More...
 
void BlitToRenderFramebuffer (bool includeDepth)
 Blit the currently bound read buffer to the renderbuffer. More...
 
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. More...
 
virtual void SetFrameBlitMode (FrameBlitModes)
 SetGet how to handle blits at the end of a Frame() call. More...
 
virtual FrameBlitModes GetFrameBlitMode ()
 SetGet how to handle blits at the end of a Frame() call. More...
 
void SetFrameBlitModeToBlitToHardware ()
 SetGet how to handle blits at the end of a Frame() call. More...
 
void SetFrameBlitModeToBlitToCurrent ()
 SetGet how to handle blits at the end of a Frame() call. More...
 
void SetFrameBlitModeToNoBlit ()
 SetGet how to handle blits at the end of a Frame() call. More...
 
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. More...
 
vtkRenderWindowNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void AddRenderer (vtkRenderer *)
 Add a renderer to the list of renderers. More...
 
void RemoveRenderer (vtkRenderer *)
 Remove a renderer from the list of renderers. More...
 
int HasRenderer (vtkRenderer *)
 Query if a renderer is in the list of renderers. More...
 
virtual const char * GetRenderingBackend ()
 What rendering backend has the user requested. More...
 
 vtkGetNewMacro (RenderTimer, vtkRenderTimerLog)
 Get the render timer log for this window. More...
 
vtkRendererCollectionGetRenderers ()
 Return the collection of renderers in the render window. More...
 
void CaptureGL2PSSpecialProps (vtkCollection *specialProps)
 The GL2PS exporter must handle certain props in a special way (e.g. More...
 
void Render () override
 Ask each renderer owned by this RenderWindow to render its image and synchronize this process. More...
 
virtual void Start ()
 Start the rendering process for a frame. More...
 
virtual void End ()
 Update the system, if needed, at end of render process. More...
 
virtual void Finalize ()
 Finalize the rendering process. More...
 
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. More...
 
virtual void WaitForCompletion ()
 Block the thread until the actual rendering is finished(). More...
 
virtual void CopyResultFrame ()
 Performed at the end of the rendering process to generate image. More...
 
virtual vtkRenderWindowInteractorMakeRenderWindowInteractor ()
 Create an interactor to control renderers in this window. More...
 
virtual void StereoUpdate ()
 Update the system, if needed, due to stereo rendering. More...
 
virtual void StereoMidpoint ()
 Intermediate method performs operations required between the rendering of the left and right eye. More...
 
virtual void StereoRenderComplete ()
 Handles work required once both views have been rendered when using stereo rendering. More...
 
virtual void WindowRemap ()
 Remap the rendering window. More...
 
virtual vtkTypeBool GetEventPending ()
 Check to see if a mouse button has been pressed. More...
 
virtual int CheckInRenderStatus ()
 Are we rendering at the moment. More...
 
virtual void ClearInRenderStatus ()
 Clear status (after an exception was thrown for example) More...
 
virtual void SetInteractor (vtkRenderWindowInteractor *)
 Set the interactor to the render window. More...
 
void UnRegister (vtkObjectBase *o) override
 This Method detects loops of RenderWindow<->Interactor, so objects are freed properly. More...
 
virtual bool InitializeFromCurrentContext ()
 Initialize the render window from the information associated with the currently activated OpenGL context. More...
 
virtual bool IsCurrent ()
 Tells if this window is the current graphics context for the calling thread. More...
 
virtual bool IsDrawable ()
 Test if the window has a valid drawable. More...
 
virtual void SetForceMakeCurrent ()
 If called, allow MakeCurrent() to skip cache-check when called. More...
 
virtual const char * ReportCapabilities ()
 Get report of capabilities for the render window. More...
 
virtual int SupportsOpenGL ()
 Does this render window support OpenGL? 0-false, 1-true. More...
 
virtual vtkTypeBool IsDirect ()
 Is this render window using hardware acceleration? 0-false, 1-true. More...
 
virtual int GetDepthBufferSize ()
 This method should be defined by the subclass. More...
 
virtual int GetColorBufferSizes (int *)
 Get the size of the color buffer. More...
 
virtual int GetNumberOfDevices ()
 Returns the number of devices (graphics cards) on a system. More...
 
virtual int GetCapturingGL2PSSpecialProps ()
 Returns true if the render process is capturing text actors. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void SetCurrentCursor (int)
 Change the shape of the cursor. More...
 
virtual int GetCurrentCursor ()
 Change the shape of the cursor. More...
 
 vtkSetFilePathMacro (CursorFileName)
 Set/Get the full path to the custom cursor. More...
 
 vtkGetFilePathMacro (CursorFileName)
 Set/Get the full path to the custom cursor. More...
 
virtual void SetFullScreen (vtkTypeBool)
 Turn on/off rendering full screen window size. More...
 
virtual vtkTypeBool GetFullScreen ()
 Turn on/off rendering full screen window size. More...
 
virtual void FullScreenOn ()
 Turn on/off rendering full screen window size. More...
 
virtual void FullScreenOff ()
 Turn on/off rendering full screen window size. More...
 
virtual void SetBorders (vtkTypeBool)
 Turn on/off window manager borders. More...
 
virtual vtkTypeBool GetBorders ()
 Turn on/off window manager borders. More...
 
virtual void BordersOn ()
 Turn on/off window manager borders. More...
 
virtual void BordersOff ()
 Turn on/off window manager borders. More...
 
virtual vtkTypeBool GetStereoCapableWindow ()
 Prescribe that the window be created in a stereo-capable mode. More...
 
virtual void StereoCapableWindowOn ()
 Prescribe that the window be created in a stereo-capable mode. More...
 
virtual void StereoCapableWindowOff ()
 Prescribe that the window be created in a stereo-capable mode. More...
 
virtual void SetStereoCapableWindow (vtkTypeBool capable)
 Prescribe that the window be created in a stereo-capable mode. More...
 
virtual vtkTypeBool GetStereoRender ()
 Turn on/off stereo rendering. More...
 
void SetStereoRender (vtkTypeBool stereo)
 Turn on/off stereo rendering. More...
 
virtual void StereoRenderOn ()
 Turn on/off stereo rendering. More...
 
virtual void StereoRenderOff ()
 Turn on/off stereo rendering. More...
 
virtual void SetAlphaBitPlanes (vtkTypeBool)
 Turn on/off the use of alpha bitplanes. More...
 
virtual vtkTypeBool GetAlphaBitPlanes ()
 Turn on/off the use of alpha bitplanes. More...
 
virtual void AlphaBitPlanesOn ()
 Turn on/off the use of alpha bitplanes. More...
 
virtual void AlphaBitPlanesOff ()
 Turn on/off the use of alpha bitplanes. More...
 
virtual void SetPointSmoothing (vtkTypeBool)
 Turn on/off point smoothing. More...
 
virtual vtkTypeBool GetPointSmoothing ()
 Turn on/off point smoothing. More...
 
virtual void PointSmoothingOn ()
 Turn on/off point smoothing. More...
 
virtual void PointSmoothingOff ()
 Turn on/off point smoothing. More...
 
virtual void SetLineSmoothing (vtkTypeBool)
 Turn on/off line smoothing. More...
 
virtual vtkTypeBool GetLineSmoothing ()
 Turn on/off line smoothing. More...
 
virtual void LineSmoothingOn ()
 Turn on/off line smoothing. More...
 
virtual void LineSmoothingOff ()
 Turn on/off line smoothing. More...
 
virtual void SetPolygonSmoothing (vtkTypeBool)
 Turn on/off polygon smoothing. More...
 
virtual vtkTypeBool GetPolygonSmoothing ()
 Turn on/off polygon smoothing. More...
 
virtual void PolygonSmoothingOn ()
 Turn on/off polygon smoothing. More...
 
virtual void PolygonSmoothingOff ()
 Turn on/off polygon smoothing. More...
 
virtual int GetStereoType ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoType (int)
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToCrystalEyes ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToRedBlue ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToInterlaced ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToLeft ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToRight ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToDresden ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToAnaglyph ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToCheckerboard ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToSplitViewportHorizontal ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToFake ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoTypeToEmulate ()
 Set/Get what type of stereo rendering to use. More...
 
virtual void SetAnaglyphColorSaturation (float)
 Set/get the anaglyph color saturation factor. More...
 
virtual float GetAnaglyphColorSaturation ()
 Set/get the anaglyph color saturation factor. More...
 
virtual void SetAnaglyphColorMask (int, int)
 Set/get the anaglyph color mask values. More...
 
void SetAnaglyphColorMask (int[2])
 Set/get the anaglyph color mask values. More...
 
virtual int * GetAnaglyphColorMask ()
 Set/get the anaglyph color mask values. More...
 
virtual void GetAnaglyphColorMask (int data[2])
 Set/get the anaglyph color mask values. More...
 
virtual void SetSwapBuffers (vtkTypeBool)
 Turn on/off buffer swapping between images. More...
 
virtual vtkTypeBool GetSwapBuffers ()
 Turn on/off buffer swapping between images. More...
 
virtual void SwapBuffersOn ()
 Turn on/off buffer swapping between images. More...
 
virtual void SwapBuffersOff ()
 Turn on/off buffer swapping between images. More...
 
float GetZbufferDataAtPoint (int x, int y)
 Set/Get the zbuffer data from the frame buffer. More...
 
virtual int GetNeverRendered ()
 This flag is set if the window hasn't rendered since it was created. More...
 
virtual int GetAbortRender ()
 This is a flag that can be set to interrupt a rendering that is in progress. More...
 
virtual void SetAbortRender (int)
 This is a flag that can be set to interrupt a rendering that is in progress. More...
 
virtual int GetInAbortCheck ()
 This is a flag that can be set to interrupt a rendering that is in progress. More...
 
virtual void SetInAbortCheck (int)
 This is a flag that can be set to interrupt a rendering that is in progress. More...
 
virtual int CheckAbortStatus ()
 This is a flag that can be set to interrupt a rendering that is in progress. More...
 
vtkTypeBool GetIsPicking ()
 
void SetIsPicking (vtkTypeBool)
 
void IsPickingOn ()
 
void IsPickingOff ()
 
virtual void SetDesiredUpdateRate (double)
 Set/Get the desired update rate. More...
 
virtual double GetDesiredUpdateRate ()
 Set/Get the desired update rate. More...
 
virtual int GetNumberOfLayers ()
 Get the number of layers for renderers. More...
 
virtual void SetNumberOfLayers (int)
 Get the number of layers for renderers. More...
 
virtual vtkRenderWindowInteractorGetInteractor ()
 Get the interactor associated with this render window. More...
 
void SetDisplayId (void *) override
 Dummy stubs for vtkWindow API. More...
 
void SetWindowId (void *) override
 Dummy stubs for vtkWindow API. More...
 
virtual void SetNextWindowId (void *)
 Dummy stubs for vtkWindow API. More...
 
void SetParentId (void *) override
 Dummy stubs for vtkWindow API. More...
 
void SetWindowInfo (const char *) override
 Dummy stubs for vtkWindow API. More...
 
virtual void SetNextWindowInfo (const char *)
 Dummy stubs for vtkWindow API. More...
 
void SetParentInfo (const char *) override
 Dummy stubs for vtkWindow API. More...
 
virtual void SetSharedRenderWindow (vtkRenderWindow *)
 Set/Get an already existing window that this window should share data with if possible. More...
 
virtual vtkRenderWindowGetSharedRenderWindow ()
 Set/Get an already existing window that this window should share data with if possible. More...
 
virtual bool GetPlatformSupportsRenderWindowSharing ()
 Set/Get an already existing window that this window should share data with if possible. More...
 
virtual void SetMultiSamples (int)
 Set / Get the number of multisamples to use for hardware antialiasing. More...
 
virtual int GetMultiSamples ()
 Set / Get the number of multisamples to use for hardware antialiasing. More...
 
virtual void SetStencilCapable (vtkTypeBool)
 Set / Get the availability of the stencil buffer. More...
 
virtual vtkTypeBool GetStencilCapable ()
 Set / Get the availability of the stencil buffer. More...
 
virtual void StencilCapableOn ()
 Set / Get the availability of the stencil buffer. More...
 
virtual void StencilCapableOff ()
 Set / Get the availability of the stencil buffer. More...
 
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. More...
 
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. More...
 
virtual bool GetUseSRGBColorSpace ()
 Set/Get if we want this window to use the sRGB color space. More...
 
virtual void SetUseSRGBColorSpace (bool)
 Set/Get if we want this window to use the sRGB color space. More...
 
virtual void UseSRGBColorSpaceOn ()
 Set/Get if we want this window to use the sRGB color space. More...
 
virtual void UseSRGBColorSpaceOff ()
 Set/Get if we want this window to use the sRGB color space. More...
 
const char * GetStereoTypeAsString ()
 Returns the stereo type as a string. More...
 
- 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. More...
 
vtkWindowNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
int * GetActualSize ()
 GetSize() returns the size * this->TileScale, whereas this method returns the size without multiplying with the tile scale. More...
 
virtual int * GetScreenSize ()
 Get the current size of the screen in pixels. More...
 
virtual void SetIcon (vtkImageData *)
 Set the icon used in title bar and task bar. More...
 
virtual void Render ()
 Ask each viewport owned by this Window to render its image and synchronize this process. More...
 
virtual void ReleaseGraphicsResources (vtkWindow *)
 Release any graphics resources that are being consumed by this texture. More...
 
virtual bool DetectDPI ()
 Attempt to detect and set the DPI of the display device by querying the system. More...
 
vtkTypeBool GetOffScreenRendering ()
 Deprecated, directly use GetShowWindow and GetOffScreenBuffers instead. More...
 
virtual void MakeCurrent ()
 Make the window current. More...
 
virtual void ReleaseCurrent ()
 Release the current context. More...
 
virtual int * GetPosition ()
 Get the position (x and y) of the rendering window in screen coordinates (in pixels). More...
 
virtual void SetPosition (int x, int y)
 Set the position (x and y) of the rendering window in screen coordinates (in pixels). More...
 
virtual void SetPosition (int a[2])
 Get the position (x and y) of the rendering window in screen coordinates (in pixels). More...
 
virtual int * GetSize ()
 Get the size (width and height) of the rendering window in screen coordinates (in pixels). More...
 
virtual vtkTypeBool GetMapped ()
 Keep track of whether the rendering window has been mapped to screen. More...
 
virtual bool GetShowWindow ()
 Show or not Show the window. More...
 
virtual void SetShowWindow (bool)
 Show or not Show the window. More...
 
virtual void ShowWindowOn ()
 Show or not Show the window. More...
 
virtual void ShowWindowOff ()
 Show or not Show the window. More...
 
virtual void SetUseOffScreenBuffers (bool)
 Render to an offscreen destination such as a framebuffer. More...
 
virtual bool GetUseOffScreenBuffers ()
 Render to an offscreen destination such as a framebuffer. More...
 
virtual void UseOffScreenBuffersOn ()
 Render to an offscreen destination such as a framebuffer. More...
 
virtual void UseOffScreenBuffersOff ()
 Render to an offscreen destination such as a framebuffer. More...
 
virtual void SetErase (vtkTypeBool)
 Turn on/off erasing the screen between images. More...
 
virtual vtkTypeBool GetErase ()
 Turn on/off erasing the screen between images. More...
 
virtual void EraseOn ()
 Turn on/off erasing the screen between images. More...
 
virtual void EraseOff ()
 Turn on/off erasing the screen between images. More...
 
virtual void SetDoubleBuffer (vtkTypeBool)
 Keep track of whether double buffering is on or off. More...
 
virtual vtkTypeBool GetDoubleBuffer ()
 Keep track of whether double buffering is on or off. More...
 
virtual void DoubleBufferOn ()
 Keep track of whether double buffering is on or off. More...
 
virtual void DoubleBufferOff ()
 Keep track of whether double buffering is on or off. More...
 
virtual char * GetWindowName ()
 Get name of rendering window. More...
 
virtual void SetWindowName (const char *)
 Get name of rendering window. More...
 
virtual int GetDPI ()
 Return a best estimate to the dots per inch of the display device being rendered (or printed). More...
 
virtual void SetDPI (int)
 Return a best estimate to the dots per inch of the display device being rendered (or printed). More...
 
void SetOffScreenRendering (vtkTypeBool val)
 Convenience to set SHowWindow and UseOffScreenBuffers in one call. More...
 
virtual void OffScreenRenderingOn ()
 Convenience to set SHowWindow and UseOffScreenBuffers in one call. More...
 
virtual void OffScreenRenderingOff ()
 Convenience to set SHowWindow and UseOffScreenBuffers in one call. More...
 
virtual void SetTileScale (int, int)
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling. More...
 
void SetTileScale (int[2])
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling. More...
 
virtual int * GetTileScale ()
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling. More...
 
virtual void GetTileScale (int &, int &)
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling. More...
 
virtual void GetTileScale (int[2])
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling. More...
 
void SetTileScale (int s)
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling. More...
 
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. More...
 
virtual void SetTileViewport (double[4])
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling. More...
 
virtual double * GetTileViewport ()
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling. More...
 
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. More...
 
virtual void GetTileViewport (double[4])
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
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)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
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. More...
 
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. More...
 
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. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual vtkTypeBool IsA (const char *name)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
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). More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

Static Public Member Functions

static vtkOpenVRRenderWindowNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkOpenVRRenderWindowSafeDownCast (vtkObjectBase *o)
 
static bool IsHMDPresent ()
 
- Static Public Member Functions inherited from vtkVRRenderWindow
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. More...
 
static int GetGlobalMaximumNumberOfMultiSamples ()
 Set/Get the maximum number of multisamples. More...
 
- 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. More...
 
static const char * GetRenderLibrary ()
 What rendering library has the user requested. More...
 
static const char * GetStereoTypeAsString (int type)
 Returns the stereo type as a string. More...
 
- 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. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- 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. More...
 
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). More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More...
 
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. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkOpenVRRenderWindow ()
 
 ~vtkOpenVRRenderWindow () override
 
std::string GetWindowTitleFromAPI () override
 
bool GetSizeFromAPI () override
 Attempt to get the size of the display from the API and store it in this->Size. More...
 
bool CreateFramebuffers () override
 
bool CreateOneFramebuffer (int nWidth, int nHeight, FramebufferDesc &framebufferDesc)
 
std::string GetTrackedDeviceString (vr::IVRSystem *pHmd, vr::TrackedDeviceIndex_t unDevice, vr::TrackedDeviceProperty prop, vr::TrackedPropertyError *peError=nullptr)
 
vtkOpenVRModelFindOrLoadRenderModel (const char *modelName)
 
- Protected Member Functions inherited from vtkVRRenderWindow
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkVRRenderWindow ()
 
 ~vtkVRRenderWindow () override
 
virtual void CreateAWindow () override
 Create a not-off-screen window. More...
 
virtual void DestroyWindow () override
 Destroy a not-off-screen window. More...
 
virtual bool GetSizeFromAPI ()=0
 Attempt to get the size of the display from the API and store it in this->Size. More...
 
virtual std::string GetWindowTitleFromAPI ()
 
virtual bool CreateFramebuffers ()=0
 
void RenderFramebuffer (FramebufferDesc &framebufferDesc)
 
- Protected Member Functions inherited from vtkOpenGLRenderWindow
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkOpenGLRenderWindow ()
 
 ~vtkOpenGLRenderWindow () override
 
virtual void BlitDisplayFramebuffersToHardware ()
 
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 framebuffer Return if the creation was successful or not. More...
 
virtual void CreateAWindow ()=0
 Create a not-off-screen window. More...
 
virtual void DestroyWindow ()=0
 Destroy a not-off-screen window. More...
 
void SaveGLState ()
 Query and save OpenGL state. More...
 
void RestoreGLState ()
 Restore OpenGL state at end of the rendering. More...
 
- 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. More...
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events. More...
 
- 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 *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

bool BaseStationVisibility
 
vr::IVRSystem * HMD
 
vr::IVRRenderModels * OpenVRRenderModels
 
vr::TrackedDevicePose_t TrackedDevicePose [vr::k_unMaxTrackedDeviceCount]
 
vtkOpenVROverlayDashboardOverlay
 
- Protected Attributes inherited from vtkVRRenderWindow
std::vector< FramebufferDescFramebufferDescs
 
bool TrackHMD
 
std::vector< vtkVRModel * > VTKRenderModels
 
std::vector< vtkVRModel * > TrackedDeviceToRenderModel
 
vtkTransformHMDTransform
 
double PhysicalViewDirection [3]
 -Z axis of the Physical to World matrix More...
 
double PhysicalViewUp [3]
 Y axis of the Physical to World matrix. More...
 
double PhysicalTranslation [3]
 Inverse of the translation component of the Physical to World matrix, in mm. More...
 
double PhysicalScale
 Scale of the Physical to World matrix. More...
 
vtkOpenGLRenderWindowHelperWindow
 
- Protected Attributes inherited from vtkOpenGLRenderWindow
FrameBlitModes FrameBlitMode
 
vtkOpenGLQuadHelperResolveQuad
 
vtkOpenGLQuadHelperDepthBlitQuad
 
bool OpenGLSupportTested
 
int OpenGLSupportResult
 
std::string OpenGLSupportMessage
 
vtkOpenGLFramebufferObjectRenderFramebuffer
 
vtkOpenGLFramebufferObjectDisplayFramebuffer
 
vtkOpenGLFramebufferObjectResolveFramebuffer
 
std::map< std::string, int > GLStateIntegers
 
vtkTypeBool OwnContext
 Flag telling if the context has been created here or was inherited. More...
 
vtkTimeStamp ContextCreationTime
 
vtkTextureObjectDrawPixelsTextureObject
 
bool Initialized
 
bool GlewInitValid
 
float MaximumHardwareLineWidth
 
char * Capabilities
 
vtkOpenGLBufferObjectTQuad2DVBO
 
vtkTextureObjectNoiseTextureObject
 
double FirstRenderTime
 
int LastMultiSamples
 
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. More...
 
vtkRenderWindowSharedRenderWindow
 
- 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
 
- 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

OpenVR rendering window.

vtkOpenVRRenderWindow is a concrete implementation of the abstract class vtkRenderWindow. vtkOpenVRRenderer interfaces to the OpenVR graphics library

This class and its similar classes are designed to be drop in replacements for VTK. If you link to this module and turn on the CMake option VTK_OPENVR_OBJECT_FACTORY, the object factory mechanism should replace the core rendering classes such as RenderWindow with OpenVR specialized versions. The goal is for VTK programs to be able to use the OpenVR library with little to no changes.

This class handles the bulk of interfacing to OpenVR. It supports one renderer currently. The renderer is assumed to cover the entire window which is what makes sense to VR. Overlay renderers can probably be made to work with this but consider how overlays will appear in a HMD if they do not track the viewpoint etc. This class is based on sample code from the OpenVR project.

OpenVR provides HMD and controller positions in "Physical" coordinate system. Origin: user's eye position at the time of calibration. Axis directions: x = user's right; y = user's up; z = user's back. Unit: meter.

Renderer shows actors in 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.

Online Examples:

Definition at line 159 of file vtkOpenVRRenderWindow.h.

Member Typedef Documentation

◆ Superclass

Definition at line 163 of file vtkOpenVRRenderWindow.h.

Constructor & Destructor Documentation

◆ vtkOpenVRRenderWindow()

vtkOpenVRRenderWindow::vtkOpenVRRenderWindow ( )
protected

◆ ~vtkOpenVRRenderWindow()

vtkOpenVRRenderWindow::~vtkOpenVRRenderWindow ( )
overrideprotected

Member Function Documentation

◆ New()

static vtkOpenVRRenderWindow * vtkOpenVRRenderWindow::New ( )
static

◆ IsTypeOf()

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

◆ IsA()

virtual vtkTypeBool vtkOpenVRRenderWindow::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 vtkVRRenderWindow.

◆ SafeDownCast()

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

◆ NewInstanceInternal()

virtual vtkObjectBase * vtkOpenVRRenderWindow::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkVRRenderWindow.

◆ NewInstance()

vtkOpenVRRenderWindow * vtkOpenVRRenderWindow::NewInstance ( ) const

◆ Initialize()

void vtkOpenVRRenderWindow::Initialize ( void  )
overridevirtual

Initialize the rendering window.

Reimplemented from vtkVRRenderWindow.

◆ ReleaseGraphicsResources()

void vtkOpenVRRenderWindow::ReleaseGraphicsResources ( vtkWindow )
overridevirtual

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

Reimplemented from vtkOpenGLRenderWindow.

◆ GetHMD()

vr::IVRSystem * vtkOpenVRRenderWindow::GetHMD ( )
inline

Get the system pointer.

Definition at line 172 of file vtkOpenVRRenderWindow.h.

◆ IsHMDPresent()

static bool vtkOpenVRRenderWindow::IsHMDPresent ( )
static

◆ MakeRenderWindowInteractor()

vtkRenderWindowInteractor * vtkOpenVRRenderWindow::MakeRenderWindowInteractor ( )
overridevirtual

Create an interactor to control renderers in this window.

Creates one specific to OpenVR

Implements vtkVRRenderWindow.

◆ Render()

void vtkOpenVRRenderWindow::Render ( )
overridevirtual

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

Avoiding round trip.

Reimplemented from vtkVRRenderWindow.

◆ StereoMidpoint()

void vtkOpenVRRenderWindow::StereoMidpoint ( )
overridevirtual

Intermediate method performs operations required between the rendering of the left and right eye.

Reimplemented from vtkOpenGLRenderWindow.

◆ StereoRenderComplete()

void vtkOpenVRRenderWindow::StereoRenderComplete ( )
overridevirtual

Handles work required once both views have been rendered when using stereo rendering.

Reimplemented from vtkRenderWindow.

◆ RenderOverlay()

void vtkOpenVRRenderWindow::RenderOverlay ( )

Draw the overlay.

◆ GetDashboardOverlay()

virtual vtkOpenVROverlay * vtkOpenVRRenderWindow::GetDashboardOverlay ( )
virtual

◆ SetDashboardOverlay()

void vtkOpenVRRenderWindow::SetDashboardOverlay ( vtkOpenVROverlay )

◆ GetBaseStationVisibility()

virtual bool vtkOpenVRRenderWindow::GetBaseStationVisibility ( )
virtual

Set/Get the visibility of the base stations.

Defaults to false

◆ SetBaseStationVisibility()

virtual void vtkOpenVRRenderWindow::SetBaseStationVisibility ( bool  )
virtual

◆ BaseStationVisibilityOn()

virtual void vtkOpenVRRenderWindow::BaseStationVisibilityOn ( )
virtual

◆ BaseStationVisibilityOff()

virtual void vtkOpenVRRenderWindow::BaseStationVisibilityOff ( )
virtual

◆ UpdateHMDMatrixPose()

void vtkOpenVRRenderWindow::UpdateHMDMatrixPose ( )
overridevirtual

Update the HMD pose based on hardware pose and physical to world transform.

VR camera properties are directly modified based on physical to world to simulate

See also
PhysicalTranslation,
PhysicalScale, etc.

Reimplemented from vtkVRRenderWindow.

◆ GetTrackedDeviceModel() [1/4]

vtkVRModel * vtkOpenVRRenderWindow::GetTrackedDeviceModel ( vtkEventDataDevice  idx,
uint32_t  index 
)
overridevirtual

Get the VRModel corresponding to the tracked device.

Implements vtkVRRenderWindow.

◆ GetOpenVRRenderModels()

vr::IVRRenderModels * vtkOpenVRRenderWindow::GetOpenVRRenderModels ( )
inline

Get the openVR Render Models.

Definition at line 235 of file vtkOpenVRRenderWindow.h.

◆ GetDeviceFromDeviceIndex()

vtkEventDataDevice vtkOpenVRRenderWindow::GetDeviceFromDeviceIndex ( vr::TrackedDeviceIndex_t  index)

Get the EventDataDevice corresponding to the OpenVR index.

◆ GetTrackedDeviceIndexForDevice() [1/2]

vr::TrackedDeviceIndex_t vtkOpenVRRenderWindow::GetTrackedDeviceIndexForDevice ( vtkEventDataDevice  dev)
inline

Get the index corresponding to the tracked device.

Definition at line 245 of file vtkOpenVRRenderWindow.h.

◆ GetTrackedDeviceIndexForDevice() [2/2]

vr::TrackedDeviceIndex_t vtkOpenVRRenderWindow::GetTrackedDeviceIndexForDevice ( vtkEventDataDevice  dev,
uint32_t  index 
)

◆ GetNumberOfTrackedDevicesForDevice()

uint32_t vtkOpenVRRenderWindow::GetNumberOfTrackedDevicesForDevice ( vtkEventDataDevice  dev)

◆ GetTrackedDevicePose() [1/3]

vr::TrackedDevicePose_t * vtkOpenVRRenderWindow::GetTrackedDevicePose ( vtkEventDataDevice  idx)
inline

Get the most recent pose corresponding to the tracked device.

Definition at line 255 of file vtkOpenVRRenderWindow.h.

◆ GetTrackedDevicePose() [2/3]

vr::TrackedDevicePose_t * vtkOpenVRRenderWindow::GetTrackedDevicePose ( vtkEventDataDevice  idx,
uint32_t  index 
)

◆ GetTrackedDevicePose() [3/3]

vr::TrackedDevicePose_t & vtkOpenVRRenderWindow::GetTrackedDevicePose ( vr::TrackedDeviceIndex_t  idx)
inline

Definition at line 260 of file vtkOpenVRRenderWindow.h.

◆ RenderModels()

void vtkOpenVRRenderWindow::RenderModels ( )
overridevirtual

Render the controller and base station models.

Implements vtkVRRenderWindow.

◆ GetPoseMatrixWorldFromDevice()

bool vtkOpenVRRenderWindow::GetPoseMatrixWorldFromDevice ( vtkEventDataDevice  device,
vtkMatrix4x4 poseMatrixWorld 
)
overridevirtual

Store in poseMatrixWorld the pose matrix in world coordinate from an event data device.

Must be defined in subclasses depending on the backend API Return true if the pose is valid, else false.

Implements vtkVRRenderWindow.

◆ ConvertOpenVRPoseToMatrices()

void vtkOpenVRRenderWindow::ConvertOpenVRPoseToMatrices ( const vr::TrackedDevicePose_t &  tdPose,
vtkMatrix4x4 poseMatrixWorld,
vtkMatrix4x4 poseMatrixPhysical = nullptr 
)

◆ GetWindowTitleFromAPI()

std::string vtkOpenVRRenderWindow::GetWindowTitleFromAPI ( )
overrideprotectedvirtual

Reimplemented from vtkVRRenderWindow.

◆ GetSizeFromAPI()

bool vtkOpenVRRenderWindow::GetSizeFromAPI ( )
overrideprotectedvirtual

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

If succeed, returns true, else false.

Implements vtkVRRenderWindow.

◆ CreateFramebuffers()

bool vtkOpenVRRenderWindow::CreateFramebuffers ( )
overrideprotectedvirtual

Implements vtkVRRenderWindow.

◆ CreateOneFramebuffer()

bool vtkOpenVRRenderWindow::CreateOneFramebuffer ( int  nWidth,
int  nHeight,
FramebufferDesc framebufferDesc 
)
protected

◆ GetTrackedDeviceString()

std::string vtkOpenVRRenderWindow::GetTrackedDeviceString ( vr::IVRSystem *  pHmd,
vr::TrackedDeviceIndex_t  unDevice,
vr::TrackedDeviceProperty  prop,
vr::TrackedPropertyError *  peError = nullptr 
)
protected

◆ FindOrLoadRenderModel()

vtkOpenVRModel * vtkOpenVRRenderWindow::FindOrLoadRenderModel ( const char *  modelName)
protected

◆ GetTrackedDeviceModel() [2/4]

vtkVRModel * vtkVRRenderWindow::GetTrackedDeviceModel ( vtkEventDataDevice  idx)
inline

Get the VRModel corresponding to the tracked device.

Definition at line 92 of file vtkVRRenderWindow.h.

◆ GetTrackedDeviceModel() [3/4]

vtkVRModel * vtkVRRenderWindow::GetTrackedDeviceModel ( uint32_t  idx)
inline

Definition at line 96 of file vtkVRRenderWindow.h.

◆ GetTrackedDeviceModel() [4/4]

virtual vtkVRModel * vtkVRRenderWindow::GetTrackedDeviceModel ( vtkEventDataDevice  idx,
uint32_t  index 
)
virtual

Implements vtkVRRenderWindow.

Member Data Documentation

◆ BaseStationVisibility

bool vtkOpenVRRenderWindow::BaseStationVisibility
protected

Definition at line 284 of file vtkOpenVRRenderWindow.h.

◆ HMD

vr::IVRSystem* vtkOpenVRRenderWindow::HMD
protected

Definition at line 286 of file vtkOpenVRRenderWindow.h.

◆ OpenVRRenderModels

vr::IVRRenderModels* vtkOpenVRRenderWindow::OpenVRRenderModels
protected

Definition at line 287 of file vtkOpenVRRenderWindow.h.

◆ TrackedDevicePose

vr::TrackedDevicePose_t vtkOpenVRRenderWindow::TrackedDevicePose[vr::k_unMaxTrackedDeviceCount]
protected

Definition at line 301 of file vtkOpenVRRenderWindow.h.

◆ DashboardOverlay

vtkOpenVROverlay* vtkOpenVRRenderWindow::DashboardOverlay
protected

Definition at line 303 of file vtkOpenVRRenderWindow.h.


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