KiCad PCB EDA Suite
|
#include <track_ball.h>
Public Member Functions | |
TRACK_BALL (float aInitialDistance) | |
virtual | ~TRACK_BALL () |
void | Drag (const wxPoint &aNewMousePosition) override |
Calculate a new mouse drag position. More... | |
void | Pan (const wxPoint &aNewMousePosition) override |
void | Pan (const SFVEC3F &aDeltaOffsetInc) override |
void | Pan_T1 (const SFVEC3F &aDeltaOffsetInc) override |
void | Reset_T1 () override |
void | SetT0_and_T1_current_T () override |
This will set T0 and T1 with the current values. More... | |
void | Interpolate (float t) override |
It will update the matrix to interpolate between T0 and T1 values. More... | |
glm::mat4 | GetRotationMatrix () const |
Get the rotation matrix to be applied in a transformation camera. More... | |
const glm::mat4 & | GetViewMatrix () const |
const glm::mat4 & | GetViewMatrix_Inv () const |
const glm::mat4 & | GetProjectionMatrix () const |
const glm::mat4 & | GetProjectionMatrixInv () const |
const SFVEC3F & | GetRight () const |
const SFVEC3F & | GetUp () const |
const SFVEC3F & | GetDir () const |
const SFVEC3F & | GetPos () const |
const SFVEC2F & | GetFocalLen () const |
float | GetNear () const |
float | GetFar () const |
const CAMERA_FRUSTUM & | GetFrustum () const |
const SFVEC3F & | GetLookAtPos () const |
void | SetRotationMatrix (const glm::mat4 &aRotation) |
Set the rotation matrix to be applied in a transformation camera, without making any new calculations on camera. More... | |
void | SetViewMatrix (glm::mat4 aViewMatrix) |
Set the affine matrix to be applied to a transformation camera. More... | |
void | SetBoardLookAtPos (const SFVEC3F &aBoardPos) |
void | SetLookAtPos_T1 (const SFVEC3F &aLookAtPos) |
const SFVEC3F & | GetLookAtPos_T1 () const |
const SFVEC3F & | GetCameraPos () const |
const SFVEC3F & | GetCameraInitPos () const |
float | GetCameraMinDimension () const |
virtual void | Reset () |
Reset the camera to initial state. More... | |
void | ResetXYpos () |
void | ResetXYpos_T1 () |
const wxPoint & | GetCurMousePosition () |
Get the current mouse position. More... | |
void | SetCurMousePosition (const wxPoint &aPosition) |
Update the current mouse position without make any new calculations on camera. More... | |
void | ToggleProjection () |
PROJECTION_TYPE | GetProjection () |
void | SetProjection (PROJECTION_TYPE aProjection) |
bool | SetCurWindowSize (const wxSize &aSize) |
Update the windows size of the camera. More... | |
void | ZoomReset () |
bool | Zoom (float aFactor) |
bool | Zoom_T1 (float aFactor) |
float | GetZoom () const |
float | GetMinZoom () |
void | SetMinZoom (float minZoom) |
float | GetMaxZoom () |
void | SetMaxZoom (float maxZoom) |
void | RotateX (float aAngleInRadians) |
void | RotateY (float aAngleInRadians) |
void | RotateZ (float aAngleInRadians) |
void | RotateX_T1 (float aAngleInRadians) |
void | RotateY_T1 (float aAngleInRadians) |
void | RotateZ_T1 (float aAngleInRadians) |
void | SetInterpolateMode (CAMERA_INTERPOLATION aInterpolateMode) |
bool | ParametersChanged () |
bool | ParametersChangedQuery () const |
void | MakeRay (const SFVEC2I &aWindowPos, SFVEC3F &aOutOrigin, SFVEC3F &aOutDirection) const |
Make a ray based on a windows screen position. More... | |
void | MakeRay (const SFVEC2F &aWindowPos, SFVEC3F &aOutOrigin, SFVEC3F &aOutDirection) const |
Make a ray based on a windows screen position, it will interpolate based on the aWindowPos. More... | |
void | MakeRayAtCurrentMousePosition (SFVEC3F &aOutOrigin, SFVEC3F &aOutDirection) const |
Make a ray based on the latest mouse position. More... | |
void | Update () |
Update the camera. More... | |
Static Public Attributes | |
static const float | DEFAULT_MIN_ZOOM = 0.020f |
static const float | DEFAULT_MAX_ZOOM = 2.0f |
Protected Member Functions | |
void | zoomChanged () |
void | rebuildProjection () |
void | updateFrustum () |
void | updateViewMatrix () |
void | updateRotationMatrix () |
Protected Attributes | |
float | m_zoom |
3D zoom value – Z-distance is scaled by it More... | |
float | m_zoom_t0 |
float | m_zoom_t1 |
float | m_minZoom |
Possible 3D zoom range. More... | |
float | m_maxZoom |
SFVEC2I | m_windowSize |
The window size that this camera is working. More... | |
wxPoint | m_lastPosition |
The last mouse position in the screen. More... | |
glm::mat4 | m_rotationMatrix |
glm::mat4 | m_rotationMatrixAux |
glm::mat4 | m_viewMatrix |
glm::mat4 | m_viewMatrixInverse |
glm::mat4 | m_projectionMatrix |
glm::mat4 | m_projectionMatrixInv |
PROJECTION_TYPE | m_projectionType |
CAMERA_FRUSTUM | m_frustum |
SFVEC3F | m_right |
SFVEC3F | m_up |
SFVEC3F | m_dir |
SFVEC3F | m_pos |
SFVEC2F | m_focalLen |
SFVEC3F | m_camera_pos_init |
SFVEC3F | m_camera_pos |
SFVEC3F | m_camera_pos_t0 |
SFVEC3F | m_camera_pos_t1 |
SFVEC3F | m_lookat_pos |
SFVEC3F | m_lookat_pos_t0 |
SFVEC3F | m_lookat_pos_t1 |
SFVEC3F | m_board_lookat_pos_init |
Default boardlookat position (the board center). More... | |
SFVEC3F | m_rotate_aux |
Stores the rotation angle auxiliary. More... | |
SFVEC3F | m_rotate_aux_t0 |
SFVEC3F | m_rotate_aux_t1 |
CAMERA_INTERPOLATION | m_interpolation_mode |
std::vector< float > | m_scr_nX |
Precalc values array used to calc ray for each pixel (constant for the same window size). More... | |
std::vector< float > | m_scr_nY |
std::vector< SFVEC3F > | m_right_nX |
Precalc values array used to calc ray for each pixel, for X and Y axis of each new camera position. More... | |
std::vector< SFVEC3F > | m_up_nY |
bool | m_parametersChanged |
Set to true if any of the parameters in the camera was changed. More... | |
Static Protected Attributes | |
static const wxChar * | m_logTrace = wxT( "KI_TRACE_CAMERA" ) |
Trace mask used to enable or disable the trace output of this class. More... | |
Private Attributes | |
double | m_quat_t0 [4] |
interpolate quaternions of the trackball More... | |
double | m_quat_t1 [4] |
Definition at line 36 of file track_ball.h.
|
explicit |
Definition at line 41 of file track_ball.cpp.
References CAMERA::m_logTrace, m_quat_t0, m_quat_t1, and trackball().
|
inlinevirtual |
Definition at line 41 of file track_ball.h.
|
overridevirtual |
Calculate a new mouse drag position.
Implements CAMERA.
Definition at line 53 of file track_ball.cpp.
References build_rotmatrix(), CAMERA::m_lastPosition, CAMERA::m_parametersChanged, CAMERA::m_rotationMatrix, CAMERA::m_windowSize, trackball(), CAMERA::updateFrustum(), CAMERA::updateViewMatrix(), and zoom.
Referenced by EDA_3D_MODEL_VIEWER::OnMouseMove().
|
inlineinherited |
Definition at line 145 of file camera.h.
Referenced by RENDER_3D_RAYTRACE::Reload().
|
inherited |
Definition at line 426 of file camera.cpp.
References CAMERA::m_camera_pos_init, CAMERA::m_frustum, and CAMERA_FRUSTUM::tang.
|
inlineinherited |
Definition at line 144 of file camera.h.
Referenced by EDA_3D_CANVAS::DisplayStatus().
|
inlineinherited |
|
inlineinherited |
Definition at line 110 of file camera.h.
Referenced by RENDER_3D_RAYTRACE::Redraw(), and RENDER_3D_RAYTRACE::render().
|
inlineinherited |
|
inlineinherited |
Definition at line 115 of file camera.h.
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::GetViewExtents(), NL_3D_VIEWER_PLUGIN_IMPL::GetViewFOV(), NL_3D_VIEWER_PLUGIN_IMPL::GetViewFrustum(), and NL_3D_VIEWER_PLUGIN_IMPL::SetViewExtents().
|
inlineinherited |
Definition at line 116 of file camera.h.
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::GetPivotPosition(), and NL_3D_VIEWER_PLUGIN_IMPL::SetCameraMatrix().
|
inlineinherited |
Definition at line 142 of file camera.h.
Referenced by EDA_3D_CANVAS::render_pivot().
|
inlineinherited |
Definition at line 111 of file camera.h.
Referenced by RENDER_3D_OPENGL::Redraw(), and RENDER_3D_OPENGL::renderTransparentModels().
|
inlineinherited |
Definition at line 180 of file camera.h.
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::GetIsViewPerspective(), EDA_3D_CANVAS::GetProjectionMode(), NL_3D_VIEWER_PLUGIN_IMPL::GetViewExtents(), NL_3D_VIEWER_PLUGIN_IMPL::GetViewFrustum(), NL_3D_VIEWER_PLUGIN_IMPL::SetCameraMatrix(), and EDA_3D_VIEWER_FRAME::setupUIConditions().
|
inherited |
Definition at line 414 of file camera.cpp.
References CAMERA::m_projectionMatrix.
Referenced by EDA_3D_MODEL_VIEWER::OnPaint(), RENDER_3D_OPENGL::Redraw(), EDA_3D_CANVAS::render3dmousePivot(), and EDA_3D_CANVAS::render_pivot().
|
inherited |
Definition at line 420 of file camera.cpp.
References CAMERA::m_projectionMatrixInv.
|
inherited |
Get the rotation matrix to be applied in a transformation camera.
Definition at line 182 of file camera.cpp.
References CAMERA::m_rotationMatrix, and CAMERA::m_rotationMatrixAux.
Referenced by EDA_3D_MODEL_VIEWER::OnPaint(), and RENDER_3D_OPENGL::render3dArrows().
|
inherited |
Definition at line 450 of file camera.cpp.
References CAMERA::m_viewMatrix.
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::GetCameraMatrix(), EDA_3D_MODEL_VIEWER::OnPaint(), APPEARANCE_CONTROLS_3D::onUpdateViewportsCb(), APPEARANCE_CONTROLS_3D::onViewportChanged(), RENDER_3D_OPENGL::Redraw(), EDA_3D_CANVAS::render3dmousePivot(), EDA_3D_CANVAS::render_pivot(), NL_3D_VIEWER_PLUGIN_IMPL::SetCameraMatrix(), and NL_3D_VIEWER_PLUGIN_IMPL::SetViewExtents().
|
inherited |
Definition at line 488 of file camera.cpp.
References CAMERA::m_viewMatrixInverse.
|
inlineinherited |
Definition at line 196 of file camera.h.
Referenced by EDA_3D_CANVAS::DisplayStatus(), EDA_3D_CANVAS::DoRePaint(), HIDPI_GL_3D_CANVAS::OnMouseWheelCamera(), EDA_3D_CANVAS::SetView3D(), and NL_3D_VIEWER_PLUGIN_IMPL::SetViewExtents().
|
overridevirtual |
It will update the matrix to interpolate between T0 and T1 values.
t | the interpolation time, between 0.0f and 1.0f (it will clamp if >1). |
Reimplemented from CAMERA.
Definition at line 138 of file track_ball.cpp.
References BezierBlend(), build_rotmatrix(), CAMERA::Interpolate(), CAMERA::m_interpolation_mode, m_quat_t0, m_quat_t1, CAMERA::m_rotationMatrix, and QuadricEasingInOut().
|
inherited |
Make a ray based on a windows screen position, it will interpolate based on the aWindowPos.
aWindowPos | the windows buffer position (float value). |
aOutOrigin | out origin position of the ray. |
aOutDirection | out direction. |
Definition at line 370 of file camera.cpp.
References CAMERA::m_dir, CAMERA::m_frustum, CAMERA::m_pos, CAMERA::m_projectionType, CAMERA::m_right_nX, CAMERA::m_up_nY, CAMERA::m_windowSize, and CAMERA_FRUSTUM::nc.
|
inherited |
Make a ray based on a windows screen position.
aWindowPos | the windows buffer position. |
aOutOrigin | out origin position of the ray. |
aOutDirection | out direction |
Definition at line 348 of file camera.cpp.
References CAMERA::m_dir, CAMERA::m_frustum, CAMERA::m_pos, CAMERA::m_projectionType, CAMERA::m_right_nX, CAMERA::m_up_nY, CAMERA::m_windowSize, and CAMERA_FRUSTUM::nc.
Referenced by CAMERA::MakeRayAtCurrentMousePosition(), RAYPACKET::RAYPACKET(), RAYPACKET_InitRays(), and RAYPACKET_InitRays_with2DDisplacement().
|
inherited |
Make a ray based on the latest mouse position.
aOutOrigin | out origin position of the ray. |
aOutDirection | out direction. |
Definition at line 402 of file camera.cpp.
References CAMERA::m_lastPosition, CAMERA::m_windowSize, and CAMERA::MakeRay().
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::GetPointerPosition(), and EDA_3D_CANVAS::getRayAtCurrentMousePosition().
|
overridevirtual |
Implements CAMERA.
Definition at line 101 of file track_ball.cpp.
References CAMERA::m_camera_pos, CAMERA::m_parametersChanged, CAMERA::updateFrustum(), and CAMERA::updateViewMatrix().
|
overridevirtual |
Implements CAMERA.
Definition at line 77 of file track_ball.cpp.
References CAMERA::m_camera_pos, CAMERA::m_frustum, CAMERA::m_lastPosition, CAMERA::m_parametersChanged, CAMERA::m_projectionType, CAMERA::m_windowSize, CAMERA_FRUSTUM::nh, CAMERA_FRUSTUM::nw, CAMERA_FRUSTUM::ratio, CAMERA_FRUSTUM::tang, CAMERA::updateFrustum(), and CAMERA::updateViewMatrix().
|
overridevirtual |
Implements CAMERA.
Definition at line 111 of file track_ball.cpp.
References CAMERA::m_camera_pos, and CAMERA::m_camera_pos_t1.
|
inherited |
Definition at line 662 of file camera.cpp.
References CAMERA::m_parametersChanged.
Referenced by EDA_3D_CANVAS::DoRePaint(), and RENDER_3D_RAYTRACE::Redraw().
|
inlineinherited |
|
protectedinherited |
Definition at line 196 of file camera.cpp.
References CAMERA_FRUSTUM::angle, CAMERA_FRUSTUM::farD, CAMERA_FRUSTUM::fh, CAMERA_FRUSTUM::fw, CAMERA::m_camera_pos_init, CAMERA::m_focalLen, CAMERA::m_frustum, CAMERA::m_maxZoom, CAMERA::m_projectionMatrix, CAMERA::m_projectionMatrixInv, CAMERA::m_projectionType, CAMERA::m_scr_nX, CAMERA::m_scr_nY, CAMERA::m_windowSize, CAMERA::m_zoom, CAMERA_FRUSTUM::nearD, CAMERA_FRUSTUM::nh, CAMERA_FRUSTUM::nw, CAMERA_FRUSTUM::ratio, CAMERA_FRUSTUM::tang, and CAMERA::updateFrustum().
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::SetCurWindowSize(), CAMERA::ToggleProjection(), CAMERA::Zoom(), CAMERA::zoomChanged(), and CAMERA::ZoomReset().
|
virtualinherited |
Reset the camera to initial state.
Definition at line 70 of file camera.cpp.
References CAMERA::m_board_lookat_pos_init, CAMERA::m_camera_pos, CAMERA::m_camera_pos_init, CAMERA::m_camera_pos_t0, CAMERA::m_camera_pos_t1, CAMERA::m_lastPosition, CAMERA::m_lookat_pos, CAMERA::m_lookat_pos_t0, CAMERA::m_lookat_pos_t1, CAMERA::m_parametersChanged, CAMERA::m_projectionMatrix, CAMERA::m_projectionMatrixInv, CAMERA::m_rotate_aux, CAMERA::m_rotate_aux_t0, CAMERA::m_rotate_aux_t1, CAMERA::m_rotationMatrix, CAMERA::m_rotationMatrixAux, CAMERA::m_scr_nX, CAMERA::m_scr_nY, CAMERA::m_viewMatrix, CAMERA::m_viewMatrixInverse, CAMERA::m_zoom, CAMERA::m_zoom_t0, CAMERA::m_zoom_t1, CAMERA::rebuildProjection(), CAMERA::updateRotationMatrix(), and CAMERA::updateViewMatrix().
Referenced by CAMERA::CAMERA().
|
overridevirtual |
Reimplemented from CAMERA.
Definition at line 116 of file track_ball.cpp.
References m_quat_t1, CAMERA::Reset_T1(), and trackball().
|
inherited |
Definition at line 432 of file camera.cpp.
References CAMERA::m_camera_pos, CAMERA::m_parametersChanged, CAMERA::updateFrustum(), and CAMERA::updateViewMatrix().
|
inherited |
Definition at line 443 of file camera.cpp.
References CAMERA::m_camera_pos_t1.
Referenced by EDA_3D_CANVAS::move_pivot_based_on_cur_mouse_position().
|
inherited |
Definition at line 591 of file camera.cpp.
References CAMERA::m_rotate_aux, and CAMERA::updateRotationMatrix().
Referenced by EDA_3D_CONTROLLER::RotateView().
|
inherited |
Definition at line 612 of file camera.cpp.
References CAMERA::m_rotate_aux_t1.
Referenced by EDA_3D_CANVAS::SetView3D().
|
inherited |
Definition at line 598 of file camera.cpp.
References CAMERA::m_rotate_aux, and CAMERA::updateRotationMatrix().
Referenced by EDA_3D_CONTROLLER::RotateView().
|
inherited |
Definition at line 618 of file camera.cpp.
References CAMERA::m_rotate_aux_t1.
Referenced by EDA_3D_CANVAS::SetView3D().
|
inherited |
Definition at line 605 of file camera.cpp.
References CAMERA::m_rotate_aux, and CAMERA::updateRotationMatrix().
Referenced by EDA_3D_CONTROLLER::RotateView().
|
inherited |
Definition at line 624 of file camera.cpp.
References CAMERA::m_rotate_aux_t1.
Referenced by EDA_3D_CANVAS::SetView3D().
|
inherited |
Definition at line 123 of file camera.cpp.
References CAMERA::m_board_lookat_pos_init, CAMERA::m_lookat_pos, CAMERA::m_parametersChanged, CAMERA::updateFrustum(), and CAMERA::updateViewMatrix().
Referenced by RENDER_3D_OPENGL::reload(), and RENDER_3D_RAYTRACE::Reload().
|
inherited |
Update the current mouse position without make any new calculations on camera.
Definition at line 494 of file camera.cpp.
References CAMERA::m_lastPosition.
Referenced by EDA_3D_MODEL_VIEWER::OnMouseMove(), HIDPI_GL_3D_CANVAS::OnMouseMoveCamera(), EDA_3D_MODEL_VIEWER::OnMouseWheel(), and HIDPI_GL_3D_CANVAS::OnMouseWheelCamera().
|
inherited |
Update the windows size of the camera.
Definition at line 511 of file camera.cpp.
References CAMERA::m_windowSize, and CAMERA::rebuildProjection().
Referenced by EDA_3D_CANVAS::DoRePaint(), EDA_3D_MODEL_VIEWER::OnMouseMove(), HIDPI_GL_3D_CANVAS::OnMouseMoveCamera(), and EDA_3D_MODEL_VIEWER::OnPaint().
|
inlineinherited |
Definition at line 232 of file camera.h.
Referenced by EDA_3D_CANVAS::move_pivot_based_on_cur_mouse_position(), and EDA_3D_CANVAS::SetView3D().
|
inlineinherited |
Definition at line 137 of file camera.h.
Referenced by EDA_3D_CANVAS::move_pivot_based_on_cur_mouse_position(), and NL_3D_VIEWER_PLUGIN_IMPL::SetPivotPosition().
|
inlineinherited |
Definition at line 206 of file camera.h.
Referenced by RENDER_3D_RAYTRACE::Reload().
|
inlineinherited |
Definition at line 199 of file camera.h.
Referenced by RENDER_3D_RAYTRACE::Reload().
|
inlineinherited |
Definition at line 181 of file camera.h.
Referenced by EDA_3D_CANVAS::SetProjectionMode().
|
inherited |
Set the rotation matrix to be applied in a transformation camera, without making any new calculations on camera.
aRotation | is the total rotation matrix of the camera. |
Definition at line 188 of file camera.cpp.
References CAMERA::m_parametersChanged, CAMERA::m_rotationMatrix, and CAMERA::m_rotationMatrixAux.
Referenced by CAMERA::SetViewMatrix().
|
overridevirtual |
This will set T0 and T1 with the current values.
Reimplemented from CAMERA.
Definition at line 124 of file track_ball.cpp.
References m_quat_t0, m_quat_t1, CAMERA::m_rotationMatrix, and CAMERA::SetT0_and_T1_current_T().
|
inherited |
Set the affine matrix to be applied to a transformation camera.
aViewMatrix | is the affine matrix of the camera. The affine matrix maps coordinates in the world frame to those in the camera frame. |
Definition at line 456 of file camera.cpp.
References CAMERA::m_camera_pos, CAMERA::m_camera_pos_init, CAMERA::m_logTrace, CAMERA::m_lookat_pos, CAMERA::m_maxZoom, CAMERA::m_minZoom, CAMERA::m_rotationMatrix, CAMERA::m_rotationMatrixAux, CAMERA::m_viewMatrix, CAMERA::m_zoom, and CAMERA::SetRotationMatrix().
Referenced by APPEARANCE_CONTROLS_3D::doApplyViewport(), and NL_3D_VIEWER_PLUGIN_IMPL::SetCameraMatrix().
|
inherited |
Definition at line 500 of file camera.cpp.
References CAMERA::m_projectionType, and CAMERA::rebuildProjection().
Referenced by EDA_3D_CONTROLLER::ToggleOrtho(), and PANEL_PREVIEW_3D_MODEL::View3DISO().
|
inlineinherited |
Update the camera.
Definition at line 277 of file camera.h.
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::SetCameraMatrix().
|
protectedinherited |
Definition at line 289 of file camera.cpp.
References CAMERA_FRUSTUM::farD, CAMERA_FRUSTUM::fbl, CAMERA_FRUSTUM::fbr, CAMERA_FRUSTUM::fc, CAMERA_FRUSTUM::fh, CAMERA_FRUSTUM::ftl, CAMERA_FRUSTUM::ftr, CAMERA_FRUSTUM::fw, CAMERA::m_dir, CAMERA::m_frustum, CAMERA::m_pos, CAMERA::m_right, CAMERA::m_right_nX, CAMERA::m_scr_nX, CAMERA::m_scr_nY, CAMERA::m_up, CAMERA::m_up_nY, CAMERA::m_viewMatrix, CAMERA::m_viewMatrixInverse, CAMERA::m_windowSize, CAMERA_FRUSTUM::nbl, CAMERA_FRUSTUM::nbr, CAMERA_FRUSTUM::nc, CAMERA_FRUSTUM::nearD, CAMERA_FRUSTUM::nh, CAMERA_FRUSTUM::ntl, CAMERA_FRUSTUM::ntr, and CAMERA_FRUSTUM::nw.
Referenced by Drag(), Pan(), CAMERA::rebuildProjection(), CAMERA::ResetXYpos(), CAMERA::SetBoardLookAtPos(), and CAMERA::updateRotationMatrix().
|
protectedinherited |
Definition at line 161 of file camera.cpp.
References CAMERA::m_parametersChanged, CAMERA::m_rotate_aux, CAMERA::m_rotationMatrixAux, normalise2PI(), CAMERA::updateFrustum(), and CAMERA::updateViewMatrix().
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::RotateX(), CAMERA::RotateY(), and CAMERA::RotateZ().
|
protectedinherited |
Definition at line 153 of file camera.cpp.
References CAMERA::m_camera_pos, CAMERA::m_lookat_pos, CAMERA::m_rotationMatrix, CAMERA::m_rotationMatrixAux, and CAMERA::m_viewMatrix.
Referenced by Drag(), Pan(), CAMERA::Reset(), CAMERA::ResetXYpos(), CAMERA::SetBoardLookAtPos(), CAMERA::updateRotationMatrix(), CAMERA::Zoom(), CAMERA::zoomChanged(), and CAMERA::ZoomReset().
|
inherited |
Definition at line 538 of file camera.cpp.
References CAMERA::m_camera_pos, CAMERA::m_maxZoom, CAMERA::m_minZoom, CAMERA::m_zoom, CAMERA::rebuildProjection(), CAMERA::updateViewMatrix(), and zoom.
Referenced by EDA_3D_CANVAS::OnMagnify(), EDA_3D_MODEL_VIEWER::OnMouseWheel(), HIDPI_GL_3D_CANVAS::OnMouseWheelCamera(), and NL_3D_VIEWER_PLUGIN_IMPL::SetViewExtents().
|
inherited |
Definition at line 569 of file camera.cpp.
References CAMERA::m_camera_pos_init, CAMERA::m_camera_pos_t1, CAMERA::m_maxZoom, CAMERA::m_minZoom, CAMERA::m_zoom, and CAMERA::m_zoom_t1.
Referenced by EDA_3D_CANVAS::SetView3D().
|
protectedinherited |
Definition at line 138 of file camera.cpp.
References CAMERA::m_camera_pos, CAMERA::m_camera_pos_init, CAMERA::m_maxZoom, CAMERA::m_minZoom, CAMERA::m_zoom, CAMERA::rebuildProjection(), and CAMERA::updateViewMatrix().
|
inherited |
Definition at line 527 of file camera.cpp.
References CAMERA::m_camera_pos, CAMERA::m_camera_pos_init, CAMERA::m_zoom, CAMERA::rebuildProjection(), and CAMERA::updateViewMatrix().
|
staticinherited |
Definition at line 82 of file camera.h.
Referenced by CAMERA::CAMERA(), and RENDER_3D_RAYTRACE::Reload().
|
staticinherited |
Definition at line 81 of file camera.h.
Referenced by CAMERA::CAMERA().
|
protectedinherited |
Default boardlookat position (the board center).
Definition at line 335 of file camera.h.
Referenced by CAMERA::CAMERA(), CAMERA::Reset(), CAMERA::Reset_T1(), and CAMERA::SetBoardLookAtPos().
|
protectedinherited |
Definition at line 328 of file camera.h.
Referenced by CAMERA::Interpolate(), Pan(), Pan_T1(), CAMERA::Reset(), CAMERA::ResetXYpos(), CAMERA::SetT0_and_T1_current_T(), CAMERA::SetViewMatrix(), CAMERA::updateViewMatrix(), CAMERA::Zoom(), CAMERA::zoomChanged(), and CAMERA::ZoomReset().
|
protectedinherited |
Definition at line 327 of file camera.h.
Referenced by CAMERA::CAMERA(), CAMERA::GetCameraMinDimension(), CAMERA::rebuildProjection(), CAMERA::Reset(), CAMERA::Reset_T1(), CAMERA::SetViewMatrix(), CAMERA::Zoom_T1(), CAMERA::zoomChanged(), and CAMERA::ZoomReset().
|
protectedinherited |
Definition at line 329 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 330 of file camera.h.
Referenced by CAMERA::Interpolate(), Pan_T1(), CAMERA::Reset(), CAMERA::Reset_T1(), CAMERA::ResetXYpos_T1(), CAMERA::SetT0_and_T1_current_T(), and CAMERA::Zoom_T1().
|
protectedinherited |
Definition at line 322 of file camera.h.
Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 325 of file camera.h.
Referenced by CAMERA::rebuildProjection().
|
protectedinherited |
Definition at line 318 of file camera.h.
Referenced by CAMERA::GetCameraMinDimension(), CAMERA::MakeRay(), Pan(), CAMERA::rebuildProjection(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 341 of file camera.h.
Referenced by CAMERA::CAMERA(), and Interpolate().
|
protectedinherited |
The last mouse position in the screen.
Definition at line 308 of file camera.h.
Referenced by Drag(), CAMERA::MakeRayAtCurrentMousePosition(), Pan(), CAMERA::Reset(), and CAMERA::SetCurMousePosition().
|
protectedinherited |
Definition at line 332 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::SetBoardLookAtPos(), CAMERA::SetT0_and_T1_current_T(), CAMERA::SetViewMatrix(), and CAMERA::updateViewMatrix().
|
protectedinherited |
Definition at line 333 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 334 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::Reset_T1(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 298 of file camera.h.
Referenced by CAMERA::CAMERA(), CAMERA::rebuildProjection(), CAMERA::SetViewMatrix(), CAMERA::Zoom(), CAMERA::Zoom_T1(), and CAMERA::zoomChanged().
|
protectedinherited |
Possible 3D zoom range.
Definition at line 297 of file camera.h.
Referenced by CAMERA::CAMERA(), CAMERA::SetViewMatrix(), CAMERA::Zoom(), CAMERA::Zoom_T1(), and CAMERA::zoomChanged().
|
protectedinherited |
Set to true if any of the parameters in the camera was changed.
Definition at line 359 of file camera.h.
Referenced by Drag(), CAMERA::Interpolate(), Pan(), CAMERA::ParametersChanged(), CAMERA::Reset(), CAMERA::ResetXYpos(), CAMERA::SetBoardLookAtPos(), CAMERA::SetRotationMatrix(), and CAMERA::updateRotationMatrix().
|
protectedinherited |
Definition at line 323 of file camera.h.
Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 314 of file camera.h.
Referenced by CAMERA::GetProjectionMatrix(), CAMERA::rebuildProjection(), and CAMERA::Reset().
|
protectedinherited |
Definition at line 315 of file camera.h.
Referenced by CAMERA::GetProjectionMatrixInv(), CAMERA::rebuildProjection(), and CAMERA::Reset().
|
protectedinherited |
Definition at line 316 of file camera.h.
Referenced by CAMERA::CAMERA(), CAMERA::MakeRay(), Pan(), CAMERA::rebuildProjection(), and CAMERA::ToggleProjection().
|
private |
interpolate quaternions of the trackball
Definition at line 63 of file track_ball.h.
Referenced by Interpolate(), SetT0_and_T1_current_T(), and TRACK_BALL().
|
private |
Definition at line 64 of file track_ball.h.
Referenced by Interpolate(), Reset_T1(), SetT0_and_T1_current_T(), and TRACK_BALL().
|
protectedinherited |
Definition at line 320 of file camera.h.
Referenced by CAMERA::updateFrustum().
|
protectedinherited |
Precalc values array used to calc ray for each pixel, for X and Y axis of each new camera position.
Definition at line 353 of file camera.h.
Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().
|
protectedinherited |
Stores the rotation angle auxiliary.
Definition at line 337 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::RotateX(), CAMERA::RotateY(), CAMERA::RotateZ(), CAMERA::SetT0_and_T1_current_T(), and CAMERA::updateRotationMatrix().
|
protectedinherited |
Definition at line 338 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::Reset_T1(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 339 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::Reset_T1(), CAMERA::RotateX_T1(), CAMERA::RotateY_T1(), CAMERA::RotateZ_T1(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 310 of file camera.h.
Referenced by Drag(), CAMERA::GetRotationMatrix(), Interpolate(), CAMERA::Reset(), CAMERA::SetRotationMatrix(), SetT0_and_T1_current_T(), CAMERA::SetViewMatrix(), and CAMERA::updateViewMatrix().
|
protectedinherited |
Definition at line 311 of file camera.h.
Referenced by CAMERA::GetRotationMatrix(), CAMERA::Reset(), CAMERA::SetRotationMatrix(), CAMERA::SetViewMatrix(), CAMERA::updateRotationMatrix(), and CAMERA::updateViewMatrix().
|
protectedinherited |
Precalc values array used to calc ray for each pixel (constant for the same window size).
Definition at line 346 of file camera.h.
Referenced by CAMERA::rebuildProjection(), CAMERA::Reset(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 347 of file camera.h.
Referenced by CAMERA::rebuildProjection(), CAMERA::Reset(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 321 of file camera.h.
Referenced by CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 354 of file camera.h.
Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 312 of file camera.h.
Referenced by CAMERA::GetViewMatrix(), CAMERA::Reset(), CAMERA::SetViewMatrix(), CAMERA::updateFrustum(), and CAMERA::updateViewMatrix().
|
protectedinherited |
Definition at line 313 of file camera.h.
Referenced by CAMERA::GetViewMatrix_Inv(), CAMERA::Reset(), and CAMERA::updateFrustum().
|
protectedinherited |
The window size that this camera is working.
Definition at line 303 of file camera.h.
Referenced by CAMERA::CAMERA(), Drag(), CAMERA::MakeRay(), CAMERA::MakeRayAtCurrentMousePosition(), Pan(), CAMERA::rebuildProjection(), CAMERA::SetCurWindowSize(), and CAMERA::updateFrustum().
|
protectedinherited |
3D zoom value – Z-distance is scaled by it
Definition at line 290 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::rebuildProjection(), CAMERA::Reset(), CAMERA::SetT0_and_T1_current_T(), CAMERA::SetViewMatrix(), CAMERA::Zoom(), CAMERA::Zoom_T1(), CAMERA::zoomChanged(), and CAMERA::ZoomReset().
|
protectedinherited |
Definition at line 291 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 292 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::Reset_T1(), CAMERA::SetT0_and_T1_current_T(), and CAMERA::Zoom_T1().