VTK
9.0.1
Rendering
OpenVR
vtkOpenVRModel.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
5
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
6
All rights reserved.
7
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
8
9
This software is distributed WITHOUT ANY WARRANTY; without even
10
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11
PURPOSE. See the above copyright notice for more information.
12
13
=========================================================================*/
23
#ifndef vtkOpenVRModel_h
24
#define vtkOpenVRModel_h
25
26
#include "
vtkNew.h
"
// for ivar
27
#include "
vtkObject.h
"
28
#include "
vtkOpenGLHelper.h
"
// ivar
29
#include "vtkRenderingOpenVRModule.h"
// For export macro
30
#include <openvr.h>
// for ivars
31
32
class
vtkOpenVRRenderWindow
;
33
class
vtkRenderWindow
;
34
class
vtkOpenGLVertexBufferObject
;
35
class
vtkTextureObject
;
36
class
vtkMatrix4x4
;
37
class
vtkOpenVRRay
;
38
39
class
VTKRENDERINGOPENVR_EXPORT
vtkOpenVRModel
:
public
vtkObject
40
{
41
public
:
42
static
vtkOpenVRModel
*
New
();
43
vtkTypeMacro(
vtkOpenVRModel
,
vtkObject
);
44
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
45
46
bool
Build(
vtkOpenVRRenderWindow
* win);
47
void
Render(
vtkOpenVRRenderWindow
* win,
const
vr::TrackedDevicePose_t& pose);
48
49
const
std::string
&
GetName
()
const
{
return
this->ModelName; }
50
void
SetName
(
const
std::string
& modelName) { this->ModelName = modelName; }
51
52
// show the model
53
void
SetVisibility
(
bool
v) { this->Visibility = v; }
54
bool
GetVisibility
() {
return
this->Visibility; }
55
56
// Set Ray parameters
57
void
SetShowRay(
bool
v);
58
void
SetRayLength(
double
length
);
59
void
SetRayColor(
double
r,
double
g,
double
b);
60
vtkOpenVRRay
*
GetRay
() {
return
this->Ray; }
61
62
void
ReleaseGraphicsResources(
vtkWindow
* win);
63
64
// the tracked device this model represents if any
65
vr::TrackedDeviceIndex_t
TrackedDevice
;
66
67
vr::RenderModel_t*
RawModel
;
68
69
protected
:
70
vtkOpenVRModel
();
71
~
vtkOpenVRModel
()
override
;
72
73
std::string
ModelName
;
74
75
bool
Visibility
;
76
bool
Loaded
;
77
bool
FailedToLoad
;
78
79
vr::RenderModel_TextureMap_t*
RawTexture
;
80
vtkOpenGLHelper
ModelHelper
;
81
vtkOpenGLVertexBufferObject
*
ModelVBO
;
82
vtkNew<vtkTextureObject>
TextureObject
;
83
vtkNew<vtkMatrix4x4>
PoseMatrix
;
84
85
// Controller ray
86
vtkNew<vtkOpenVRRay>
Ray
;
87
88
private
:
89
vtkOpenVRModel
(
const
vtkOpenVRModel
&) =
delete
;
90
void
operator=(
const
vtkOpenVRModel
&) =
delete
;
91
};
92
93
#endif
vtkOpenVRModel::GetName
const std::string & GetName() const
Definition:
vtkOpenVRModel.h:49
vtkOpenVRRay
OpenVR device model.
Definition:
vtkOpenVRRay.h:35
vtkOpenVRModel::TrackedDevice
vr::TrackedDeviceIndex_t TrackedDevice
Definition:
vtkOpenVRModel.h:65
vtkOpenVRModel::SetName
void SetName(const std::string &modelName)
Definition:
vtkOpenVRModel.h:50
vtkOpenVRModel::RawTexture
vr::RenderModel_TextureMap_t * RawTexture
Definition:
vtkOpenVRModel.h:79
vtkOpenVRModel::Visibility
bool Visibility
Definition:
vtkOpenVRModel.h:75
vtkOpenVRModel::PoseMatrix
vtkNew< vtkMatrix4x4 > PoseMatrix
Definition:
vtkOpenVRModel.h:83
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkOpenGLHelper.h
vtkObject
abstract base class for most VTK objects
Definition:
vtkObject.h:62
vtkX3D::length
@ length
Definition:
vtkX3D.h:399
vtkOpenVRModel::TextureObject
vtkNew< vtkTextureObject > TextureObject
Definition:
vtkOpenVRModel.h:82
vtkOpenVRModel::GetRay
vtkOpenVRRay * GetRay()
Definition:
vtkOpenVRModel.h:60
vtkOpenVRModel::ModelHelper
vtkOpenGLHelper ModelHelper
Definition:
vtkOpenVRModel.h:80
vtkWindow
window superclass for vtkRenderWindow
Definition:
vtkWindow.h:37
vtkOpenVRModel
OpenVR device model.
Definition:
vtkOpenVRModel.h:39
vtkOpenVRModel::Ray
vtkNew< vtkOpenVRRay > Ray
Definition:
vtkOpenVRModel.h:86
vtkOpenGLHelper
Definition:
vtkOpenGLHelper.h:30
vtkOpenVRModel::FailedToLoad
bool FailedToLoad
Definition:
vtkOpenVRModel.h:77
vtkOpenVRModel::ModelVBO
vtkOpenGLVertexBufferObject * ModelVBO
Definition:
vtkOpenVRModel.h:81
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:33
vtkTextureObject
abstracts an OpenGL texture object.
Definition:
vtkTextureObject.h:40
vtkOpenVRRenderWindow
OpenVR rendering window.
Definition:
vtkOpenVRRenderWindow.h:70
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition:
vtkMatrix4x4.h:35
vtkOpenGLVertexBufferObject
Definition:
vtkOpenGLVertexBufferObject.h:36
vtkNew< vtkTextureObject >
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOpenVRModel::SetVisibility
void SetVisibility(bool v)
Definition:
vtkOpenVRModel.h:53
vtkObject.h
vtkX3D::string
@ string
Definition:
vtkX3D.h:496
vtkNew.h
vtkOpenVRModel::GetVisibility
bool GetVisibility()
Definition:
vtkOpenVRModel.h:54
vtkOpenVRModel::Loaded
bool Loaded
Definition:
vtkOpenVRModel.h:76
vtkRenderWindow
create a window for renderers to draw into
Definition:
vtkRenderWindow.h:93
vtkOpenVRModel::RawModel
vr::RenderModel_t * RawModel
Definition:
vtkOpenVRModel.h:67
vtkOpenVRModel::ModelName
std::string ModelName
Definition:
vtkOpenVRModel.h:73
Generated on Thu Jun 24 2021 15:17:26 for VTK by
1.8.17