51 #ifndef vtkOpenVRRenderWindow_h 52 #define vtkOpenVRRenderWindow_h 55 #include "vtkRenderingOpenVRModule.h" 85 vr::IVRSystem*
GetHMD() {
return this->HMD; }
111 void UpdateHMDMatrixPose();
121 width = this->Size[0];
131 return this->GetTrackedDeviceModel(idx, 0);
135 return this->TrackedDeviceToRenderModel[idx];
149 return this->GetTrackedDeviceIndexForDevice(dev, 0);
159 return this->GetTrackedDevicePose(idx, 0, pose);
164 return this->TrackedDevicePose[idx];
175 void InitializeViewFromCamera(
vtkCamera* cam);
186 virtual void SetPhysicalViewDirection(
double,
double,
double);
187 virtual void SetPhysicalViewDirection(
double[3]);
188 vtkGetVector3Macro(PhysicalViewDirection,
double);
200 virtual void SetPhysicalViewUp(
double,
double,
double);
201 virtual void SetPhysicalViewUp(
double[3]);
202 vtkGetVector3Macro(PhysicalViewUp,
double);
214 virtual void SetPhysicalTranslation(
double,
double,
double);
215 virtual void SetPhysicalTranslation(
double[3]);
216 vtkGetVector3Macro(PhysicalTranslation,
double);
229 virtual void SetPhysicalScale(
double);
230 vtkGetMacro(PhysicalScale,
double);
250 vtkSetMacro(TrackHMD,
bool);
251 vtkGetMacro(TrackHMD,
bool);
262 virtual void Start(
void);
415 bool CreateFrameBuffer(
int nWidth,
int nHeight,
FramebufferDesc& framebufferDesc);
418 std::string GetTrackedDeviceString(vr::IVRSystem* pHmd, vr::TrackedDeviceIndex_t unDevice,
419 vr::TrackedDeviceProperty prop, vr::TrackedPropertyError* peError =
nullptr);
427 vr::TrackedDevicePose_t TrackedDevicePose[vr::k_unMaxTrackedDeviceCount];
432 double PhysicalViewDirection[3];
434 double PhysicalViewUp[3];
436 double PhysicalTranslation[3];
FramebufferDesc RightEyeDesc
GLuint m_nResolveFramebufferId
represent and manipulate 4x4 transformation matrices
vr::TrackedDevicePose_t & GetTrackedDevicePose(vr::TrackedDeviceIndex_t idx)
virtual void * GetGenericParentId()
Dummy stubs for vtkWindow API.
vtkTypeBool IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
void Start(void) override
Begin the rendering process.
void Render() override
Handle opengl specific code and calls superclass.
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on...
void MakeCurrent() override
Attempt to make this window the current graphics context for the calling thread.
virtual void SetNextWindowId(void *)
Dummy stubs for vtkWindow API.
vr::IVRRenderModels * OpenVRRenderModels
virtual void SetDisplayId(void *)
Dummy stubs for vtkWindow API.
vtkOpenVROverlay * DashboardOverlay
vtkOpenVRModel * GetTrackedDeviceModel(vr::TrackedDeviceIndex_t idx)
abstract specification for renderers
virtual int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
virtual void AddRenderer(vtkRenderer *)
Add a renderer to the list of renderers.
virtual vtkRenderWindowInteractor * MakeRenderWindowInteractor()
Create an interactor to control renderers in this window.
virtual void SetPosition(int x, int y)
Set the position (x and y) of the rendering window in screen coordinates (in pixels).
virtual bool IsCurrent()
Tells if this window is the current graphics context for the calling thread.
virtual void Finalize()
Finalize the rendering process.
void GetRenderBufferSize(int &width, int &height)
Get the frame buffers used for rendering.
virtual void WindowRemap(void)
Remap the rendering window.
virtual void DestroyWindow()
Destroy a not-off-screen window.
void SetWindowId(void *)
Dummy stubs for vtkWindow API.
void ShowCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
virtual vtkTypeBool GetEventPending()
Check to see if a mouse button has been pressed or mouse wheel activated.
double PhysicalScale
Scale of the Physical to World matrix.
window superclass for vtkRenderWindow
platform-independent render window interaction including picking and frame rate control.
void SetParentId(void *)
Dummy stubs for vtkWindow API.
vr::IVRRenderModels * GetOpenVRRenderModels()
Get the openVR Render Models.
virtual void CreateAWindow()
Create a not-off-screen window.
GLuint GetRightResolveBufferId()
Get the frame buffers used for rendering.
void SetPosition(int a[2]) override
Set the position (x and y) of the rendering window in screen coordinates (in pixels).
a simple class to control print indentation
a virtual camera for 3D rendering
vtkTransform * HMDTransform
const char * ReportCapabilities()
Get report of capabilities for the render window.
virtual int * GetScreenSize()
Get the current size of the screen in pixels.
void SetSize(int a[2]) override
Set the size of the window in screen coordinates in pixels.
virtual void StereoUpdate()
Update the system, if needed, due to stereo rendering.
vtkEventDataDevice
platform-independent event data structures
vtkOpenGLRenderWindow * HelperWindow
void SetSize(int width, int height) override
Set the size (width and height) of the rendering window in screen coordinates (in pixels)...
void SetParentInfo(const char *)
Dummy stubs for vtkWindow API.
void SetNextWindowInfo(const char *)
Dummy stubs for vtkWindow API.
void GetTrackedDevicePose(vtkEventDataDevice idx, vr::TrackedDevicePose_t **pose)
Get the most recent pose corresponding to the tracked device.
void SetWindowInfo(const char *)
Dummy stubs for vtkWindow API.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void StereoRenderComplete()
Handles work required once both views have been rendered when using stereo rendering.
virtual void SetFullScreen(vtkTypeBool)
Turn on/off rendering full screen window size.
virtual void * GetGenericContext()
Dummy stubs for vtkWindow API.
virtual void * GetGenericDrawable()
Dummy stubs for vtkWindow API.
std::vector< vtkOpenVRModel * > VTKRenderModels
vtkOpenVRModel * GetTrackedDeviceModel(vtkEventDataDevice idx)
Get the VRModel corresponding to the tracked device.
GLuint GetLeftResolveBufferId()
Get the frame buffers used for rendering.
virtual vtkOpenGLState * GetState()
virtual void * GetGenericDisplayId()
Dummy stubs for vtkWindow API.
virtual void Initialize(void)
Initialize the rendering window.
void ReleaseGraphicsResources(vtkWindow *) override
Free up any graphics resources associated with this window a value of NULL means the context may alre...
virtual void * GetGenericWindowId()
Dummy stubs for vtkWindow API.
FramebufferDesc LeftEyeDesc
void StereoMidpoint() override
Intermediate method performs operations required between the rendering of the left and right eye...
vr::IVRSystem * GetHMD()
Get the system pointer.
void HideCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForDevice(vtkEventDataDevice dev)
Get the index corresponding to the tracked device.
GLuint m_nResolveTextureId