#include <ProjectionVRCamera.H>
Public Types | |
enum | EyeProjectionType { LeftEye, RightEye, Cyclops } |
Public Member Functions | |
ProjectionVRCamera (DisplayTile dispTile, CoordinateFrame initHeadFrame, double interOcularDist=0.2083) | |
virtual | ~ProjectionVRCamera () |
void | applyProjection (RenderDevice *rd, EyeProjectionType whichEye) |
CoordinateFrame | getHeadFrame () |
CoordinateFrame | getLeftEyeFrame () |
CoordinateFrame | getRightEyeFrame () |
Vector3 | getHeadPos () |
Vector3 | getCameraPos () |
Vector3 | getLookVec () |
DisplayTile | getTile () |
void | updateHeadFrame (CoordinateFrame frame) |
void | setDisplayTile (DisplayTile dispTile) |
void | set_iod (double val) |
double | get_iod () const |
Public Attributes | |
double | iod |
Inter-ocular distance, default = 2.5 inches = 0.2083 feet. | |
DisplayTile | tile |
CoordinateFrame | headFrame |
VRG3D::ProjectionVRCamera::ProjectionVRCamera | ( | DisplayTile | dispTile, | |
CoordinateFrame | initHeadFrame, | |||
double | interOcularDist = 0.2083 | |||
) |
Inter-ocular distance defaults to 2.5 inches = 0.2083 feet, this assumes your virtual coordinates are reported in feet.
virtual VRG3D::ProjectionVRCamera::~ProjectionVRCamera | ( | ) | [virtual] |
void VRG3D::ProjectionVRCamera::applyProjection | ( | RenderDevice * | rd, | |
EyeProjectionType | whichEye | |||
) |
Sets the projection matrix and the camera to world matrix for the RenderDevice based on the current DisplayTile, HeadFrame, and which eye is about to be rendered.
CoordinateFrame VRG3D::ProjectionVRCamera::getHeadFrame | ( | ) | [inline] |
References headFrame.
CoordinateFrame VRG3D::ProjectionVRCamera::getLeftEyeFrame | ( | ) |
CoordinateFrame VRG3D::ProjectionVRCamera::getRightEyeFrame | ( | ) |
Vector3 VRG3D::ProjectionVRCamera::getHeadPos | ( | ) | [inline] |
References headFrame.
Vector3 VRG3D::ProjectionVRCamera::getCameraPos | ( | ) | [inline] |
References headFrame.
Vector3 VRG3D::ProjectionVRCamera::getLookVec | ( | ) |
DisplayTile VRG3D::ProjectionVRCamera::getTile | ( | ) | [inline] |
References tile.
void VRG3D::ProjectionVRCamera::updateHeadFrame | ( | CoordinateFrame | frame | ) | [inline] |
References headFrame.
void VRG3D::ProjectionVRCamera::setDisplayTile | ( | DisplayTile | dispTile | ) | [inline] |
References tile.
void VRG3D::ProjectionVRCamera::set_iod | ( | double | val | ) | [inline] |
References iod.
double VRG3D::ProjectionVRCamera::get_iod | ( | ) | const [inline] |
References iod.
Referenced by getTile(), and setDisplayTile().
CoordinateFrame VRG3D::ProjectionVRCamera::headFrame |
Referenced by getCameraPos(), getHeadFrame(), getHeadPos(), and updateHeadFrame().