OculusDisplaySettings.h
Go to the documentation of this file.
1 // This file is a part of the OpenSurgSim project.
2 // Copyright 2015, SimQuest Solutions Inc.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 
16 #ifndef SURGSIM_DEVICES_OCULUS_OCULUSDISPLAYSETTINGS_H
17 #define SURGSIM_DEVICES_OCULUS_OCULUSDISPLAYSETTINGS_H
18 
19 #include <osg/DisplaySettings>
20 
21 #include "SurgSim/Math/Matrix.h"
22 
23 namespace SurgSim
24 {
25 namespace Devices
26 {
27 
30 class OculusDisplaySettings : public osg::DisplaySettings
31 {
32 public:
35 
38  explicit OculusDisplaySettings(const osg::DisplaySettings* displaySettings);
39 
43 
47 
51 
55 
59  osg::Matrixd computeLeftEyeProjectionImplementation(const osg::Matrixd&) const override;
60 
64  osg::Matrixd computeRightEyeProjectionImplementation(const osg::Matrixd&) const override;
65 
66 private:
69 
72 };
73 
74 }; // namespace Devices
75 }; // namespace SurgSim
76 
77 #endif // SURGSIM_DEVICES_OCULUS_OCULUSDISPLAYSETTINGS_H
SurgSim::Devices::OculusDisplaySettings::setLeftEyeProjectionMatrix
void setLeftEyeProjectionMatrix(const SurgSim::Math::Matrix44d &matrix)
Set the projection matrix of the left eye.
Definition: OculusDisplaySettings.cpp:37
SurgSim::Devices::OculusDisplaySettings::m_rightEyeProjectionMatrix
osg::Matrixd m_rightEyeProjectionMatrix
Right eye projection matrix.
Definition: OculusDisplaySettings.h:71
Matrix.h
SurgSim::Devices::OculusDisplaySettings::m_leftEyeProjectionMatrix
osg::Matrixd m_leftEyeProjectionMatrix
Left eye projection matrix.
Definition: OculusDisplaySettings.h:68
SurgSim::Devices::OculusDisplaySettings::getRightEyeProjectionMatrix
SurgSim::Math::Matrix44d getRightEyeProjectionMatrix() const
Get the projection matrix of the right eye.
Definition: OculusDisplaySettings.cpp:52
SurgSim::Devices::OculusDisplaySettings::setRightEyeProjectionMatrix
void setRightEyeProjectionMatrix(const SurgSim::Math::Matrix44d &matrix)
Set the projection matrix of the right eye.
Definition: OculusDisplaySettings.cpp:47
SurgSim
Definition: CompoundShapeToGraphics.cpp:29
SurgSim::Devices::OculusDisplaySettings::OculusDisplaySettings
OculusDisplaySettings()
Constructor.
Definition: OculusDisplaySettings.cpp:25
SurgSim::Math::Matrix44d
Eigen::Matrix< double, 4, 4, Eigen::RowMajor > Matrix44d
A 4x4 matrix of doubles.
Definition: Matrix.h:55
SurgSim::Devices::OculusDisplaySettings::computeRightEyeProjectionImplementation
osg::Matrixd computeRightEyeProjectionImplementation(const osg::Matrixd &) const override
This method returns the projection matrix set by setRighttEyeProjectionMatrix() method.
Definition: OculusDisplaySettings.cpp:62
SurgSim::Devices::OculusDisplaySettings
A customized osg::DisplaySettings, to be used with Oculus device.
Definition: OculusDisplaySettings.h:30
SurgSim::Devices::OculusDisplaySettings::computeLeftEyeProjectionImplementation
osg::Matrixd computeLeftEyeProjectionImplementation(const osg::Matrixd &) const override
This method returns the projection matrix set by setLeftEyeProjectionMatrix() method.
Definition: OculusDisplaySettings.cpp:57
SurgSim::Devices::OculusDisplaySettings::getLeftEyeProjectionMatrix
SurgSim::Math::Matrix44d getLeftEyeProjectionMatrix() const
Get the projection matrix of the left eye.
Definition: OculusDisplaySettings.cpp:42