VTK
Classes | 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]

Classes

struct  FramebufferDesc
 

Public Types

enum  { PhysicalToWorldMatrixModified = vtkCommand::UserEvent + 200 }
 
typedef vtkOpenGLRenderWindow Superclass
 
- Public Types inherited from vtkOpenGLRenderWindow
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 PrintSelf (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
vr::IVRSystem * GetHMD ()
 Get the system pointer. More...
 
void RenderOverlay ()
 Draw the overlay. More...
 
void UpdateHMDMatrixPose ()
 Update the HMD pose based on hardware pose and physical to world transform. More...
 
vtkOpenVRModelGetTrackedDeviceModel (vtkEventDataDevice idx)
 Get the VRModel corresponding to the tracked device. More...
 
vtkOpenVRModelGetTrackedDeviceModel (vr::TrackedDeviceIndex_t idx)
 
vr::IVRRenderModels * GetOpenVRRenderModels ()
 Get the openVR Render Models. More...
 
vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForDevice (vtkEventDataDevice dev)
 Get the index corresponding to the tracked device. More...
 
void GetTrackedDevicePose (vtkEventDataDevice idx, vr::TrackedDevicePose_t **pose)
 Get the most recent pose corresponding to the tracked device. More...
 
vr::TrackedDevicePose_t & GetTrackedDevicePose (vr::TrackedDeviceIndex_t idx)
 
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...
 
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 (void)
 Begin the rendering process. 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...
 
void Frame (void)
 End the rendering process and display the image. More...
 
virtual void Initialize (void)
 Initialize the rendering window. More...
 
virtual void Finalize (void)
 Finalize the rendering window. More...
 
void MakeCurrent ()
 Make this windows OpenGL context the current context. More...
 
virtual bool IsCurrent ()
 Tells if this window is the current OpenGL context for the calling thread. More...
 
const char * ReportCapabilities ()
 Get report of capabilities for the render window. More...
 
int IsDirect ()
 Is this render window using hardware acceleration? 0-false, 1-true. More...
 
virtual int GetEventPending ()
 Check to see if a mouse button has been pressed or mouse wheel activated. More...
 
virtual intGetScreenSize ()
 Get the current size of the screen in pixels. More...
 
void SetWindowInfo (const char *)
 Dummy stubs for vtkWindow API. More...
 
void SetNextWindowInfo (const char *)
 Dummy stubs for vtkWindow API. More...
 
void SetParentInfo (const char *)
 Dummy stubs for vtkWindow API. More...
 
virtual void * GetGenericDisplayId ()
 Dummy stubs for vtkWindow API. More...
 
virtual void * GetGenericWindowId ()
 Dummy stubs for vtkWindow API. More...
 
virtual void * GetGenericParentId ()
 Dummy stubs for vtkWindow API. More...
 
virtual void * GetGenericContext ()
 Dummy stubs for vtkWindow API. More...
 
virtual void * GetGenericDrawable ()
 Dummy stubs for vtkWindow API. More...
 
virtual void SetDisplayId (void *)
 Dummy stubs for vtkWindow API. More...
 
void SetWindowId (void *)
 Dummy stubs for vtkWindow API. More...
 
void SetParentId (void *)
 Dummy stubs for vtkWindow API. More...
 
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...
 
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 SetFullScreen (vtkTypeBool)
 Turn on/off rendering full screen window size. More...
 
virtual void WindowRemap (void)
 Remap the rendering window. More...
 
virtual void SetNextWindowId (void *)
 Dummy stubs for vtkWindow API. More...
 
virtual int SupportsOpenGL ()
 Does this render window support OpenGL? 0-false, 1-true. More...
 
void Render ()
 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
 
virtual vtkOpenVROverlayGetDashboardOverlay ()
 Set/Get the overlay to use on the VR dashboard. More...
 
void SetDashboardOverlay (vtkOpenVROverlay *)
 Set/Get the overlay to use on the VR dashboard. More...
 
GLuint GetLeftRenderBufferId ()
 Get the frame buffers used for rendering. More...
 
GLuint GetLeftResolveBufferId ()
 Get the frame buffers used for rendering. More...
 
GLuint GetRightRenderBufferId ()
 Get the frame buffers used for rendering. More...
 
GLuint GetRightResolveBufferId ()
 Get the frame buffers used for rendering. More...
 
void GetRenderBufferSize (int &width, int &height)
 Get the frame buffers used for rendering. More...
 
virtual void SetPhysicalViewDirection (double, double, double)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void SetPhysicalViewDirection (double[3])
 Set/get physical coordinate system in world coordinate system. More...
 
virtual doubleGetPhysicalViewDirection ()
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void GetPhysicalViewDirection (double &, double &, double &)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void GetPhysicalViewDirection (double[3])
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void SetPhysicalViewUp (double, double, double)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void SetPhysicalViewUp (double[3])
 Set/get physical coordinate system in world coordinate system. More...
 
virtual doubleGetPhysicalViewUp ()
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void GetPhysicalViewUp (double &, double &, double &)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void GetPhysicalViewUp (double[3])
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void SetPhysicalTranslation (double, double, double)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void SetPhysicalTranslation (double[3])
 Set/get physical coordinate system in world coordinate system. More...
 
virtual doubleGetPhysicalTranslation ()
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void GetPhysicalTranslation (double &, double &, double &)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void GetPhysicalTranslation (double[3])
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void SetPhysicalScale (double)
 Set/get physical coordinate system in world coordinate system. More...
 
virtual double GetPhysicalScale ()
 Set/get physical coordinate system in world coordinate system. More...
 
virtual void SetTrackHMD (bool)
 When on the camera will track the HMD position. More...
 
virtual bool GetTrackHMD ()
 When on the camera will track the HMD position. More...
 
virtual void SetSize (int, int)
 Set the size of the window in pixels. More...
 
virtual void SetSize (int a[2])
 Set the size of the window in pixels. More...
 
virtual void SetPosition (int, int)
 Set the position of the window. More...
 
virtual void SetPosition (int a[2])
 Set the position of the window. More...
 
- Public Member Functions inherited from vtkOpenGLRenderWindow
vtkOpenGLRenderWindowNewInstance () const
 
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... More...
 
unsigned int GetBackLeftBuffer ()
 Return the OpenGL name of the back left buffer. More...
 
unsigned int GetBackRightBuffer ()
 Return the OpenGL name of the back right buffer. More...
 
unsigned int GetFrontLeftBuffer ()
 Return the OpenGL name of the front left buffer. More...
 
unsigned int GetFrontRightBuffer ()
 Return the OpenGL name of the front right buffer. More...
 
unsigned int GetBackBuffer ()
 Return the OpenGL name of the back left buffer. More...
 
unsigned int GetFrontBuffer ()
 Return the OpenGL name of the front left buffer. More...
 
virtual vtkMTimeType GetContextCreationTime ()
 Get the time when the OpenGL context was created. 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 SetUseOffScreenBuffers (bool offScreen) override
 Create and bind offscreen rendering buffers without destroying the current OpenGL context. More...
 
bool GetUseOffScreenBuffers () override
 
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 unsigned int GetDefaultFrameBufferId ()
 Returns the id for the frame buffer object, if any, used by the render window in which the window does all its rendering. More...
 
virtual bool SetSwapControl (int)
 Set the number of vertical syncs required between frames. More...
 
vtkOpenGLBufferObjectGetTQuad2DVBO ()
 
int GetNoiseTextureUnit ()
 
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... 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... 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... 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... More...
 
floatGetRGBAPixelData (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...
 
floatGetZbufferData (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 *z) 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...
 
virtual vtkOpenGLShaderCacheGetShaderCache ()
 Returns an Shader Cache object. More...
 
virtual vtkOpenGLVertexBufferObjectCacheGetVBOCache ()
 Returns an Shader Cache object. More...
 
virtual unsigned int GetFrameBufferObject ()
 Returns the current default FBO (0 when OffScreenRendering is inactive). More...
 
- Public Member Functions inherited from vtkRenderWindow
vtkRenderWindowNewInstance () const
 
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...
 
 vtkGetNewMacro (RenderTimer, vtkRenderTimerLog) vtkRendererCollection *GetRenderers()
 Get the render timer log for this window. More...
 
void CaptureGL2PSSpecialProps (vtkCollection *specialProps)
 The GL2PS exporter must handle certain props in a special way (e.g. 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...
 
const char * GetStereoTypeAsString ()
 
virtual vtkTypeBool GetIsPicking ()
 
virtual void SetIsPicking (vtkTypeBool)
 
virtual void IsPickingOn ()
 
virtual void IsPickingOff ()
 
virtual int CheckInRenderStatus ()
 Are we rendering at the moment. More...
 
virtual void ClearInRenderStatus ()
 Clear status (after an exception was thrown for example) More...
 
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 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 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 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...
 
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...
 
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 intGetAnaglyphColorMask ()
 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...
 
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...
 
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...
 
- Public Member Functions inherited from vtkWindow
vtkWindowNewInstance () const
 
intGetActualSize ()
 GetSize() returns the size * this->TileScale, whereas this method returns the size without multiplying with the tile scale. More...
 
virtual bool DetectDPI ()
 Attempt to detect and set the DPI of the display device by querying the system. More...
 
virtual intGetPosition ()
 Set/Get the position in screen coordinates of the rendering window. More...
 
virtual intGetSize ()
 Set/Get the size of the window in screen coordinates in pixels. More...
 
virtual void SetMapped (vtkTypeBool)
 Keep track of whether the rendering window has been mapped to screen. More...
 
virtual vtkTypeBool GetMapped ()
 Keep track of whether the rendering window has been mapped to screen. More...
 
virtual void MappedOn ()
 Keep track of whether the rendering window has been mapped to screen. More...
 
virtual void MappedOff ()
 Keep track of whether the rendering window has been mapped to screen. 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...
 
virtual void SetOffScreenRendering (vtkTypeBool)
 Create a window in memory instead of on the screen. More...
 
virtual vtkTypeBool GetOffScreenRendering ()
 Create a window in memory instead of on the screen. More...
 
virtual void OffScreenRenderingOn ()
 Create a window in memory instead of on the screen. More...
 
virtual void OffScreenRenderingOff ()
 Create a window in memory instead of on the screen. 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 intGetTileScale ()
 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 doubleGetTileViewport ()
 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 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 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...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. 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 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 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 vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkOpenVRRenderWindow ()
 
 ~vtkOpenVRRenderWindow ()
 
virtual void ReleaseGraphicsResources (vtkRenderWindow *)
 Free up any graphics resources associated with this window a value of nullptr means the context may already be destroyed. More...
 
virtual void CreateAWindow ()
 Create a not-off-screen window. More...
 
virtual void DestroyWindow ()
 Destroy a not-off-screen window. More...
 
bool CreateFrameBuffer (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)
 
void RenderModels ()
 
- Protected Member Functions inherited from vtkOpenGLRenderWindow
 vtkOpenGLRenderWindow ()
 
 ~vtkOpenGLRenderWindow () override
 
void InitializeTextureInternalFormats ()
 
virtual int ReadPixels (const vtkRecti &rect, int front, int glFormat, int glType, void *data, int right=0)
 
int CreateHardwareOffScreenWindow (int width, int height)
 Create an offScreen window based on OpenGL framebuffer extension. More...
 
int CreateHardwareOffScreenBuffers (int width, int height, bool bind=false)
 
void BindHardwareOffScreenBuffers ()
 
void DestroyHardwareOffScreenWindow ()
 Destroy an offscreen window based on OpenGL framebuffer extension. More...
 
void UnbindHardwareOffScreenBuffers ()
 
void DestroyHardwareOffScreenBuffers ()
 
void SetTextureUnitManager (vtkTextureUnitManager *textureUnitManager)
 Set the texture unit manager. 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
 vtkRenderWindow ()
 
 ~vtkRenderWindow () override
 
virtual void DoStereoRender ()
 
- Protected Member Functions inherited from vtkWindow
 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 CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

std::string m_strDriver
 
std::string m_strDisplay
 
vr::IVRSystem * HMD
 
vr::IVRRenderModels * OpenVRRenderModels
 
FramebufferDesc LeftEyeDesc
 
FramebufferDesc RightEyeDesc
 
std::vector< vtkOpenVRModel * > VTKRenderModels
 
vtkOpenVRModelTrackedDeviceToRenderModel [vr::k_unMaxTrackedDeviceCount]
 
vr::TrackedDevicePose_t TrackedDevicePose [vr::k_unMaxTrackedDeviceCount]
 
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...
 
vtkOpenVROverlayDashboardOverlay
 
bool TrackHMD
 
vtkOpenGLRenderWindowHelperWindow
 
- Protected Attributes inherited from vtkOpenGLRenderWindow
vtkOpenGLShaderCacheShaderCache
 
vtkOpenGLVertexBufferObjectCacheVBOCache
 
vtkOpenGLStateState
 
bool OpenGLSupportTested
 
int OpenGLSupportResult
 
std::string OpenGLSupportMessage
 
int TextureInternalFormats [VTK_UNICODE_STRING][3][5]
 
std::map< const vtkTextureObject *, intTextureResourceIds
 
int OffScreenUseFrameBuffer
 Flag telling if a framebuffer-based offscreen is currently in use. More...
 
std::map< std::string, intGLStateIntegers
 
unsigned int BackLeftBuffer
 
unsigned int BackRightBuffer
 
unsigned int FrontLeftBuffer
 
unsigned int FrontRightBuffer
 
unsigned int FrontBuffer
 
unsigned int BackBuffer
 
unsigned int DefaultFrameBufferId
 
int OwnContext
 Flag telling if the context has been created here or was inherited. More...
 
vtkTimeStamp ContextCreationTime
 
vtkTextureUnitManagerTextureUnitManager
 
vtkTextureObjectDrawPixelsTextureObject
 
bool Initialized
 
bool GlewInitValid
 
float MaximumHardwareLineWidth
 
char * Capabilities
 
vtkOpenGLBufferObjectTQuad2DVBO
 
vtkTextureObjectNoiseTextureObject
 
int NumberOfFrameBuffers
 Variables used by the framebuffer-based offscreen method. More...
 
unsigned int TextureObjects [4]
 Variables used by the framebuffer-based offscreen method. More...
 
unsigned int FrameBufferObject
 Variables used by the framebuffer-based offscreen method. More...
 
unsigned int DepthRenderBufferObject
 Variables used by the framebuffer-based offscreen method. More...
 
int HardwareBufferSize [2]
 Variables used by the framebuffer-based offscreen method. More...
 
bool HardwareOffScreenBuffersBind
 Variables used by the framebuffer-based offscreen method. More...
 
- 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
 
unsigned char * StereoBuffer
 
floatAccumulationBuffer
 
unsigned int AccumulationBufferSize
 
unsigned char * ResultFrame
 
vtkTypeBool SwapBuffers
 
double DesiredUpdateRate
 
int AbortRender
 
int InAbortCheck
 
int InRender
 
int NeverRendered
 
int NumberOfLayers
 
int CurrentCursor
 
vtkTypeBool IsPicking
 
float AnaglyphColorSaturation
 
int AnaglyphColorMask [2]
 
int MultiSamples
 
vtkTypeBool StencilCapable
 
int CapturingGL2PSSpecialProps
 
int DeviceIndex
 
bool UseSRGBColorSpace
 
double AbortCheckTime
 The universal time since the last abort check occurred. More...
 
vtkRenderWindowSharedRenderWindow
 
- Protected Attributes inherited from vtkWindow
vtkTypeBool OffScreenRendering
 
char * WindowName
 
int Size [2]
 
int Position [2]
 
vtkTypeBool Mapped
 
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
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Additional Inherited Members

- Public Attributes inherited from vtkOpenGLRenderWindow
std::set< vtkGenericOpenGLResourceFreeCallback * > Resources
 

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.

Tests:
vtkOpenVRRenderWindow (Tests)

Definition at line 73 of file vtkOpenVRRenderWindow.h.

Member Typedef Documentation

Definition at line 82 of file vtkOpenVRRenderWindow.h.

Member Enumeration Documentation

anonymous enum
Enumerator
PhysicalToWorldMatrixModified 

Definition at line 76 of file vtkOpenVRRenderWindow.h.

Constructor & Destructor Documentation

vtkOpenVRRenderWindow::vtkOpenVRRenderWindow ( )
protected
vtkOpenVRRenderWindow::~vtkOpenVRRenderWindow ( )
protected

Member Function Documentation

static vtkOpenVRRenderWindow* vtkOpenVRRenderWindow::New ( )
static
static vtkTypeBool vtkOpenVRRenderWindow::IsTypeOf ( const char *  type)
static
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 vtkOpenGLRenderWindow.

static vtkOpenVRRenderWindow* vtkOpenVRRenderWindow::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkOpenVRRenderWindow::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkOpenGLRenderWindow.

vtkOpenVRRenderWindow* vtkOpenVRRenderWindow::NewInstance ( ) const
void vtkOpenVRRenderWindow::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

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.

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

Get the system pointer.

Definition at line 88 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::RenderOverlay ( )

Draw the overlay.

virtual vtkOpenVROverlay* vtkOpenVRRenderWindow::GetDashboardOverlay ( )
virtual

Set/Get the overlay to use on the VR dashboard.

void vtkOpenVRRenderWindow::SetDashboardOverlay ( vtkOpenVROverlay )

Set/Get the overlay to use on the VR dashboard.

void vtkOpenVRRenderWindow::UpdateHMDMatrixPose ( )

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.
GLuint vtkOpenVRRenderWindow::GetLeftRenderBufferId ( )
inline

Get the frame buffers used for rendering.

Definition at line 114 of file vtkOpenVRRenderWindow.h.

GLuint vtkOpenVRRenderWindow::GetLeftResolveBufferId ( )
inline

Get the frame buffers used for rendering.

Definition at line 116 of file vtkOpenVRRenderWindow.h.

GLuint vtkOpenVRRenderWindow::GetRightRenderBufferId ( )
inline

Get the frame buffers used for rendering.

Definition at line 118 of file vtkOpenVRRenderWindow.h.

GLuint vtkOpenVRRenderWindow::GetRightResolveBufferId ( )
inline

Get the frame buffers used for rendering.

Definition at line 120 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::GetRenderBufferSize ( int width,
int height 
)
inline

Get the frame buffers used for rendering.

Definition at line 122 of file vtkOpenVRRenderWindow.h.

vtkOpenVRModel* vtkOpenVRRenderWindow::GetTrackedDeviceModel ( vtkEventDataDevice  idx)

Get the VRModel corresponding to the tracked device.

vtkOpenVRModel* vtkOpenVRRenderWindow::GetTrackedDeviceModel ( vr::TrackedDeviceIndex_t  idx)
inline

Definition at line 133 of file vtkOpenVRRenderWindow.h.

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

Get the openVR Render Models.

Definition at line 139 of file vtkOpenVRRenderWindow.h.

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

Get the index corresponding to the tracked device.

void vtkOpenVRRenderWindow::GetTrackedDevicePose ( vtkEventDataDevice  idx,
vr::TrackedDevicePose_t **  pose 
)

Get the most recent pose corresponding to the tracked device.

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

Definition at line 151 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::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.

This method is useful for initialing 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.

virtual void vtkOpenVRRenderWindow::SetPhysicalViewDirection ( double  ,
double  ,
double   
)
virtual

Set/get physical coordinate system in world coordinate system.

View direction is the -Z axis of the physical coordinate system in world coordinate system.

See also
SetPhysicalViewUp,
SetPhysicalTranslation,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::SetPhysicalViewDirection ( double  [3])
virtual

Set/get physical coordinate system in world coordinate system.

View direction is the -Z axis of the physical coordinate system in world coordinate system.

See also
SetPhysicalViewUp,
SetPhysicalTranslation,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual double* vtkOpenVRRenderWindow::GetPhysicalViewDirection ( )
virtual

Set/get physical coordinate system in world coordinate system.

View direction is the -Z axis of the physical coordinate system in world coordinate system.

See also
SetPhysicalViewUp,
SetPhysicalTranslation,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::GetPhysicalViewDirection ( double ,
double ,
double  
)
virtual

Set/get physical coordinate system in world coordinate system.

View direction is the -Z axis of the physical coordinate system in world coordinate system.

See also
SetPhysicalViewUp,
SetPhysicalTranslation,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::GetPhysicalViewDirection ( double  [3])
virtual

Set/get physical coordinate system in world coordinate system.

View direction is the -Z axis of the physical coordinate system in world coordinate system.

See also
SetPhysicalViewUp,
SetPhysicalTranslation,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::SetPhysicalViewUp ( double  ,
double  ,
double   
)
virtual

Set/get physical coordinate system in world coordinate system.

View up is the +Y axis of the physical coordinate system in world coordinate system.

See also
SetPhysicalViewDirection,
SetPhysicalTranslation,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::SetPhysicalViewUp ( double  [3])
virtual

Set/get physical coordinate system in world coordinate system.

View up is the +Y axis of the physical coordinate system in world coordinate system.

See also
SetPhysicalViewDirection,
SetPhysicalTranslation,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual double* vtkOpenVRRenderWindow::GetPhysicalViewUp ( )
virtual

Set/get physical coordinate system in world coordinate system.

View up is the +Y axis of the physical coordinate system in world coordinate system.

See also
SetPhysicalViewDirection,
SetPhysicalTranslation,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::GetPhysicalViewUp ( double ,
double ,
double  
)
virtual

Set/get physical coordinate system in world coordinate system.

View up is the +Y axis of the physical coordinate system in world coordinate system.

See also
SetPhysicalViewDirection,
SetPhysicalTranslation,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::GetPhysicalViewUp ( double  [3])
virtual

Set/get physical coordinate system in world coordinate system.

View up is the +Y axis of the physical coordinate system in world coordinate system.

See also
SetPhysicalViewDirection,
SetPhysicalTranslation,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::SetPhysicalTranslation ( double  ,
double  ,
double   
)
virtual

Set/get physical coordinate system in world coordinate system.

Position of the physical coordinate system origin in world coordinates.

See also
SetPhysicalViewDirection,
SetPhysicalViewUp,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::SetPhysicalTranslation ( double  [3])
virtual

Set/get physical coordinate system in world coordinate system.

Position of the physical coordinate system origin in world coordinates.

See also
SetPhysicalViewDirection,
SetPhysicalViewUp,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual double* vtkOpenVRRenderWindow::GetPhysicalTranslation ( )
virtual

Set/get physical coordinate system in world coordinate system.

Position of the physical coordinate system origin in world coordinates.

See also
SetPhysicalViewDirection,
SetPhysicalViewUp,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::GetPhysicalTranslation ( double ,
double ,
double  
)
virtual

Set/get physical coordinate system in world coordinate system.

Position of the physical coordinate system origin in world coordinates.

See also
SetPhysicalViewDirection,
SetPhysicalViewUp,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::GetPhysicalTranslation ( double  [3])
virtual

Set/get physical coordinate system in world coordinate system.

Position of the physical coordinate system origin in world coordinates.

See also
SetPhysicalViewDirection,
SetPhysicalViewUp,
SetPhysicalScale,
SetPhysicalToWorldMatrix
virtual void vtkOpenVRRenderWindow::SetPhysicalScale ( double  )
virtual

Set/get physical coordinate system in world coordinate system.

Ratio of distance in world coordinate and physical and system (PhysicalScale = distance_World / distance_Physical). Example: if world coordinate system is in mm then PhysicalScale = 1000.0 makes objects appear in real size. PhysicalScale = 100.0 makes objects appear 10x larger than real size.

virtual double vtkOpenVRRenderWindow::GetPhysicalScale ( )
virtual

Set/get physical coordinate system in world coordinate system.

Ratio of distance in world coordinate and physical and system (PhysicalScale = distance_World / distance_Physical). Example: if world coordinate system is in mm then PhysicalScale = 1000.0 makes objects appear in real size. PhysicalScale = 100.0 makes objects appear 10x larger than real size.

void vtkOpenVRRenderWindow::SetPhysicalToWorldMatrix ( vtkMatrix4x4 matrix)

Set physical to world transform matrix.

Members calculated and set from the matrix:

See also
PhysicalViewDirection,
PhysicalViewUp,
PhysicalTranslation,
PhysicalScale The x axis scale is used for
PhysicalScale
void vtkOpenVRRenderWindow::GetPhysicalToWorldMatrix ( vtkMatrix4x4 matrix)

Get physical to world transform matrix.

Members used to calculate the matrix:

See also
PhysicalViewDirection,
PhysicalViewUp,
PhysicalTranslation,
PhysicalScale
virtual void vtkOpenVRRenderWindow::SetTrackHMD ( bool  )
virtual

When on the camera will track the HMD position.

On is the default.

virtual bool vtkOpenVRRenderWindow::GetTrackHMD ( )
virtual

When on the camera will track the HMD position.

On is the default.

virtual void vtkOpenVRRenderWindow::AddRenderer ( vtkRenderer )
overridevirtual

Add a renderer to the list of renderers.

Reimplemented from vtkRenderWindow.

virtual void vtkOpenVRRenderWindow::Start ( void  )
virtual

Begin the rendering process.

Implements vtkRenderWindow.

virtual void vtkOpenVRRenderWindow::StereoUpdate ( )
virtual

Update the system, if needed, due to stereo rendering.

For some stereo methods, subclasses might need to switch some hardware settings here.

Reimplemented from vtkOpenGLRenderWindow.

virtual void vtkOpenVRRenderWindow::StereoMidpoint ( )
virtual

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

Reimplemented from vtkOpenGLRenderWindow.

virtual void vtkOpenVRRenderWindow::StereoRenderComplete ( )
virtual

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

Reimplemented from vtkRenderWindow.

void vtkOpenVRRenderWindow::Frame ( void  )
virtual

End the rendering process and display the image.

Implements vtkRenderWindow.

virtual void vtkOpenVRRenderWindow::Initialize ( void  )
virtual

Initialize the rendering window.

This will setup all system-specific resources. This method and Finalize() must be symmetric and it should be possible to call them multiple times, even changing WindowId in-between. This is what WindowRemap does.

Reimplemented from vtkOpenGLRenderWindow.

virtual void vtkOpenVRRenderWindow::Finalize ( void  )
virtual

Finalize the rendering window.

This will shutdown all system-specific resources. After having called this, it should be possible to destroy a window that was used for a SetWindowId() call without any ill effects.

Implements vtkRenderWindow.

void vtkOpenVRRenderWindow::MakeCurrent ( )
virtual

Make this windows OpenGL context the current context.

Implements vtkRenderWindow.

virtual bool vtkOpenVRRenderWindow::IsCurrent ( )
virtual

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

Implements vtkRenderWindow.

const char* vtkOpenVRRenderWindow::ReportCapabilities ( )
inlinevirtual

Get report of capabilities for the render window.

Reimplemented from vtkOpenGLRenderWindow.

Definition at line 302 of file vtkOpenVRRenderWindow.h.

int vtkOpenVRRenderWindow::IsDirect ( )
inlinevirtual

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

Reimplemented from vtkRenderWindow.

Definition at line 307 of file vtkOpenVRRenderWindow.h.

virtual int vtkOpenVRRenderWindow::GetEventPending ( )
inlinevirtual

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?

Implements vtkRenderWindow.

Definition at line 314 of file vtkOpenVRRenderWindow.h.

virtual int* vtkOpenVRRenderWindow::GetScreenSize ( )
virtual

Get the current size of the screen in pixels.

Implements vtkWindow.

virtual void vtkOpenVRRenderWindow::SetSize ( int  ,
int   
)
virtual

Set the size of the window in pixels.

Reimplemented from vtkOpenGLRenderWindow.

virtual void vtkOpenVRRenderWindow::SetSize ( int  a[2])
inlinevirtual

Set the size of the window in pixels.

Reimplemented from vtkOpenGLRenderWindow.

Definition at line 326 of file vtkOpenVRRenderWindow.h.

virtual void vtkOpenVRRenderWindow::SetPosition ( int  ,
int   
)
virtual

Set the position of the window.

Reimplemented from vtkWindow.

virtual void vtkOpenVRRenderWindow::SetPosition ( int  a[2])
inlinevirtual

Set the position of the window.

Reimplemented from vtkWindow.

Definition at line 334 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::SetWindowInfo ( const char *  )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 338 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::SetNextWindowInfo ( const char *  )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 339 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::SetParentInfo ( const char *  )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 340 of file vtkOpenVRRenderWindow.h.

virtual void* vtkOpenVRRenderWindow::GetGenericDisplayId ( )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 341 of file vtkOpenVRRenderWindow.h.

virtual void* vtkOpenVRRenderWindow::GetGenericWindowId ( )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 342 of file vtkOpenVRRenderWindow.h.

virtual void* vtkOpenVRRenderWindow::GetGenericParentId ( )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 343 of file vtkOpenVRRenderWindow.h.

virtual void* vtkOpenVRRenderWindow::GetGenericContext ( )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 344 of file vtkOpenVRRenderWindow.h.

virtual void* vtkOpenVRRenderWindow::GetGenericDrawable ( )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 345 of file vtkOpenVRRenderWindow.h.

virtual void vtkOpenVRRenderWindow::SetDisplayId ( void *  )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 346 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::SetWindowId ( void *  )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 347 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::SetParentId ( void *  )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 348 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::HideCursor ( )
inlinevirtual

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.

Set cursor position in window (note that (0,0) is the lower left corner).

Implements vtkRenderWindow.

Definition at line 349 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::ShowCursor ( )
inlinevirtual

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.

Set cursor position in window (note that (0,0) is the lower left corner).

Implements vtkRenderWindow.

Definition at line 350 of file vtkOpenVRRenderWindow.h.

virtual void vtkOpenVRRenderWindow::SetFullScreen ( vtkTypeBool  )
inlinevirtual

Turn on/off rendering full screen window size.

Implements vtkRenderWindow.

Definition at line 351 of file vtkOpenVRRenderWindow.h.

virtual void vtkOpenVRRenderWindow::WindowRemap ( void  )
inlinevirtual

Remap the rendering window.

This probably only works on UNIX right now. It is useful for changing properties that can't normally be changed once the window is up.

Implements vtkRenderWindow.

Definition at line 352 of file vtkOpenVRRenderWindow.h.

virtual void vtkOpenVRRenderWindow::SetNextWindowId ( void *  )
inlinevirtual

Dummy stubs for vtkWindow API.

Implements vtkRenderWindow.

Definition at line 353 of file vtkOpenVRRenderWindow.h.

virtual int vtkOpenVRRenderWindow::SupportsOpenGL ( )
inlinevirtual

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

Reimplemented from vtkOpenGLRenderWindow.

Definition at line 358 of file vtkOpenVRRenderWindow.h.

void vtkOpenVRRenderWindow::Render ( )
virtual

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

Avoiding round trip.

Reimplemented from vtkOpenGLRenderWindow.

virtual vtkOpenGLRenderWindow* vtkOpenVRRenderWindow::GetHelperWindow ( )
virtual

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

void vtkOpenVRRenderWindow::SetHelperWindow ( vtkOpenGLRenderWindow val)
vtkOpenGLState* vtkOpenVRRenderWindow::GetState ( )
overridevirtual

Reimplemented from vtkOpenGLRenderWindow.

virtual void vtkOpenVRRenderWindow::ReleaseGraphicsResources ( vtkRenderWindow )
protectedvirtual

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

Reimplemented from vtkOpenGLRenderWindow.

virtual void vtkOpenVRRenderWindow::CreateAWindow ( )
inlineprotectedvirtual

Create a not-off-screen window.

Implements vtkOpenGLRenderWindow.

Definition at line 386 of file vtkOpenVRRenderWindow.h.

virtual void vtkOpenVRRenderWindow::DestroyWindow ( )
inlineprotectedvirtual

Destroy a not-off-screen window.

Implements vtkOpenGLRenderWindow.

Definition at line 387 of file vtkOpenVRRenderWindow.h.

bool vtkOpenVRRenderWindow::CreateFrameBuffer ( int  nWidth,
int  nHeight,
FramebufferDesc framebufferDesc 
)
protected
std::string vtkOpenVRRenderWindow::GetTrackedDeviceString ( vr::IVRSystem *  pHmd,
vr::TrackedDeviceIndex_t  unDevice,
vr::TrackedDeviceProperty  prop,
vr::TrackedPropertyError *  peError = nullptr 
)
protected
vtkOpenVRModel* vtkOpenVRRenderWindow::FindOrLoadRenderModel ( const char *  modelName)
protected
void vtkOpenVRRenderWindow::RenderModels ( )
protected

Member Data Documentation

std::string vtkOpenVRRenderWindow::m_strDriver
protected

Definition at line 387 of file vtkOpenVRRenderWindow.h.

std::string vtkOpenVRRenderWindow::m_strDisplay
protected

Definition at line 390 of file vtkOpenVRRenderWindow.h.

vr::IVRSystem* vtkOpenVRRenderWindow::HMD
protected

Definition at line 391 of file vtkOpenVRRenderWindow.h.

vr::IVRRenderModels* vtkOpenVRRenderWindow::OpenVRRenderModels
protected

Definition at line 392 of file vtkOpenVRRenderWindow.h.

FramebufferDesc vtkOpenVRRenderWindow::LeftEyeDesc
protected

Definition at line 402 of file vtkOpenVRRenderWindow.h.

FramebufferDesc vtkOpenVRRenderWindow::RightEyeDesc
protected

Definition at line 403 of file vtkOpenVRRenderWindow.h.

std::vector<vtkOpenVRModel * > vtkOpenVRRenderWindow::VTKRenderModels
protected

Definition at line 418 of file vtkOpenVRRenderWindow.h.

vtkOpenVRModel* vtkOpenVRRenderWindow::TrackedDeviceToRenderModel[vr::k_unMaxTrackedDeviceCount]
protected

Definition at line 419 of file vtkOpenVRRenderWindow.h.

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

Definition at line 420 of file vtkOpenVRRenderWindow.h.

vtkTransform* vtkOpenVRRenderWindow::HMDTransform
protected

Definition at line 423 of file vtkOpenVRRenderWindow.h.

double vtkOpenVRRenderWindow::PhysicalViewDirection[3]
protected

-Z axis of the Physical to World matrix

Definition at line 425 of file vtkOpenVRRenderWindow.h.

double vtkOpenVRRenderWindow::PhysicalViewUp[3]
protected

Y axis of the Physical to World matrix.

Definition at line 427 of file vtkOpenVRRenderWindow.h.

double vtkOpenVRRenderWindow::PhysicalTranslation[3]
protected

Inverse of the translation component of the Physical to World matrix, in mm.

Definition at line 429 of file vtkOpenVRRenderWindow.h.

double vtkOpenVRRenderWindow::PhysicalScale
protected

Scale of the Physical to World matrix.

Definition at line 431 of file vtkOpenVRRenderWindow.h.

vtkOpenVROverlay* vtkOpenVRRenderWindow::DashboardOverlay
protected

Definition at line 434 of file vtkOpenVRRenderWindow.h.

bool vtkOpenVRRenderWindow::TrackHMD
protected

Definition at line 436 of file vtkOpenVRRenderWindow.h.

vtkOpenGLRenderWindow* vtkOpenVRRenderWindow::HelperWindow
protected

Definition at line 438 of file vtkOpenVRRenderWindow.h.


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