#include <camera.h>
◆ Camera() [1/2]
void setTarget(const Eigen::Vector3f &target)
Definition: camera.cpp:95
uint mVpX
Definition: camera.h:92
Eigen::Affine3f mViewMatrix
Definition: camera.h:97
uint mVpY
Definition: camera.h:92
bool mProjIsUptodate
Definition: camera.h:101
float mNearDist
Definition: camera.h:107
float mFovY
Definition: camera.h:106
void setPosition(const Eigen::Vector3f &pos)
Definition: camera.cpp:103
float mFarDist
Definition: camera.h:108
bool mViewIsUptodate
Definition: camera.h:100
#define M_PI
Definition: main.h:121
double Zero
Definition: pseudosolid_node_update_elements.cc:35
References M_PI, mFarDist, mFovY, mNearDist, mViewMatrix, mVpX, mVpY, setPosition(), setTarget(), and oomph::PseudoSolidHelper::Zero.
◆ Camera() [2/2]
Camera::Camera |
( |
const Camera & |
other | ) |
|
◆ ~Camera()
◆ activateGL()
void Camera::activateGL |
( |
void |
| ) |
|
Setup OpenGL matrices and viewport
uint vpHeight(void) const
Definition: camera.h:49
uint vpX(void) const
Definition: camera.h:46
uint vpWidth(void) const
Definition: camera.h:48
const Eigen::Matrix4f & projectionMatrix(void) const
Definition: camera.cpp:192
const Eigen::Affine3f & viewMatrix(void) const
Definition: camera.cpp:168
uint vpY(void) const
Definition: camera.h:47
void loadMatrix(const Eigen::Matrix< Scalar, 4, 4, Flags_, 4, 4 > &mat, GLenum matrixTarget)
Definition: gpuhelper.h:151
Eigen::Map< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor >, 0, Eigen::OuterStride<> > matrix(T *data, int rows, int cols, int stride)
Definition: common.h:85
GpuHelper gpu
Definition: gpuhelper.cpp:18
References gpu, GpuHelper::loadMatrix(), matrix(), projectionMatrix(), viewMatrix(), vpHeight(), vpWidth(), vpX(), and vpY().
◆ direction()
Vector3f Camera::direction |
( |
void |
| ) |
const |
◆ fovY()
float Camera::fovY |
( |
void |
| ) |
const |
|
inline |
◆ frame()
const Frame& Camera::frame |
( |
void |
| ) |
const |
|
inline |
Frame mFrame
Definition: camera.h:95
References mFrame.
◆ localRotate()
Eigen::Vector3f mTarget
Definition: camera.h:104
Eigen::Vector3f direction(void) const
Definition: camera.cpp:77
void setOrientation(const Eigen::Quaternionf &q)
Definition: camera.cpp:108
const Eigen::Vector3f & position(void) const
Definition: camera.h:55
EIGEN_DEVICE_FUNC const Scalar & q
Definition: SpecialFunctionsImpl.h:2019
References direction(), mTarget, mViewIsUptodate, orientation(), position(), Eigen::numext::q, and setOrientation().
◆ localTranslate()
void Camera::localTranslate |
( |
const Eigen::Vector3f & |
t | ) |
|
◆ operator=()
uint mVpHeight
Definition: camera.h:93
Eigen::Matrix4f mProjectionMatrix
Definition: camera.h:98
uint mVpWidth
Definition: camera.h:93
References mFarDist, mFovY, mNearDist, mProjectionMatrix, mProjIsUptodate, mTarget, mViewIsUptodate, mViewMatrix, mVpHeight, mVpWidth, mVpX, and mVpY.
◆ orientation()
◆ position()
const Eigen::Vector3f& Camera::position |
( |
void |
| ) |
const |
|
inline |
◆ projectionMatrix()
const Matrix4f & Camera::projectionMatrix |
( |
void |
| ) |
const |
◆ right()
Vector3f Camera::right |
( |
void |
| ) |
const |
◆ rotateAroundTarget()
119 Matrix4f mrot, mt, mtm;
void updateViewMatrix(void) const
Definition: camera.cpp:158
Translation< float, 3 > Translation3f
Definition: Translation.h:174
References mTarget, mViewIsUptodate, mViewMatrix, Eigen::numext::q, setOrientation(), setPosition(), plotPSD::t, and updateViewMatrix().
◆ setDirection()
void Camera::setDirection |
( |
const Eigen::Vector3f & |
newDirection | ) |
|
83 Vector3f
up = this->
up();
87 camAxes.col(2) = (-newDirection).normalized();
88 camAxes.col(0) =
up.cross(camAxes.col(2)).normalized();
89 camAxes.col(1) = camAxes.col(2).cross(camAxes.col(0)).normalized();
Eigen::Vector3f up(void) const
Definition: camera.cpp:78
Quaternion< float > Quaternionf
Definition: Eigen/Eigen/src/Geometry/Quaternion.h:384
References mViewIsUptodate, setOrientation(), and up().
Referenced by setTarget().
◆ setFovY()
void Camera::setFovY |
( |
float |
value | ) |
|
◆ setFrame()
void Camera::setFrame |
( |
const Frame & |
f | ) |
|
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
Definition: cxx11_tensor_map.cpp:237
References f(), mFrame, and mViewIsUptodate.
◆ setOrientation()
◆ setPosition()
void Camera::setPosition |
( |
const Eigen::Vector3f & |
pos | ) |
|
◆ setTarget()
void Camera::setTarget |
( |
const Eigen::Vector3f & |
target | ) |
|
◆ setUp()
void Camera::setUp |
( |
const Eigen::Vector3f & |
vectorUp | ) |
|
◆ setViewport() [1/2]
void Camera::setViewport |
( |
uint |
offsetx, |
|
|
uint |
offsety, |
|
|
uint |
width, |
|
|
uint |
height |
|
) |
| |
◆ setViewport() [2/2]
void Camera::setViewport |
( |
uint |
width, |
|
|
uint |
height |
|
) |
| |
◆ target()
const Eigen::Vector3f& Camera::target |
( |
void |
| ) |
|
|
inline |
◆ unProject() [1/2]
Eigen::Vector3f Camera::unProject |
( |
const Eigen::Vector2f & |
uv, |
|
|
float |
depth |
|
) |
| const |
◆ unProject() [2/2]
Eigen::Vector3f Camera::unProject |
( |
const Eigen::Vector2f & |
uv, |
|
|
float |
depth, |
|
|
const Eigen::Matrix4f & |
invModelview |
|
) |
| const |
◆ up()
Vector3f Camera::up |
( |
void |
| ) |
const |
◆ updateProjectionMatrix()
void Camera::updateProjectionMatrix |
( |
void |
| ) |
const |
|
protected |
◆ updateViewMatrix()
void Camera::updateViewMatrix |
( |
void |
| ) |
const |
|
protected |
◆ viewMatrix()
const Affine3f & Camera::viewMatrix |
( |
void |
| ) |
const |
◆ vpHeight()
uint Camera::vpHeight |
( |
void |
| ) |
const |
|
inline |
◆ vpWidth()
uint Camera::vpWidth |
( |
void |
| ) |
const |
|
inline |
◆ vpX()
uint Camera::vpX |
( |
void |
| ) |
const |
|
inline |
◆ vpY()
uint Camera::vpY |
( |
void |
| ) |
const |
|
inline |
◆ zoom()
void Camera::zoom |
( |
float |
d | ) |
|
◆ mFarDist
◆ mFovY
◆ mFrame
◆ mNearDist
◆ mProjectionMatrix
Eigen::Matrix4f Camera::mProjectionMatrix |
|
mutableprotected |
◆ mProjIsUptodate
bool Camera::mProjIsUptodate |
|
mutableprotected |
◆ mTarget
Eigen::Vector3f Camera::mTarget |
|
protected |
◆ mViewIsUptodate
bool Camera::mViewIsUptodate |
|
mutableprotected |
◆ mViewMatrix
◆ mVpHeight
◆ mVpWidth
◆ mVpX
◆ mVpY
The documentation for this class was generated from the following files: