KiCad PCB EDA Suite
|
#include <track_ball.h>
Public Member Functions | |
TRACK_BALL (float aInitialDistance) | |
TRACK_BALL (SFVEC3F aInitPos, SFVEC3F aLookat, PROJECTION_TYPE aProjectionType) | |
virtual | ~TRACK_BALL () |
void | Drag (const wxPoint &aNewMousePosition) override |
Calculate a new mouse drag position. | |
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. | |
void | Interpolate (float t) override |
It will update the matrix to interpolate between T0 and T1 values. | |
glm::mat4 | GetRotationMatrix () const |
Get the rotation matrix to be applied in a transformation camera. | |
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. | |
void | SetViewMatrix (glm::mat4 aViewMatrix) |
Set the affine matrix to be applied to a transformation camera. | |
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. | |
void | ResetXYpos () |
void | ResetXYpos_T1 () |
const wxPoint & | GetCurMousePosition () |
Get the current mouse position. | |
void | SetCurMousePosition (const wxPoint &aPosition) |
Update the current mouse position without make any new calculations on camera. | |
void | ToggleProjection () |
PROJECTION_TYPE | GetProjection () |
void | SetProjection (PROJECTION_TYPE aProjection) |
bool | SetCurWindowSize (const wxSize &aSize) |
Update the windows size of the camera. | |
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) |
bool | ViewCommand_T1 (VIEW3D_TYPE aRequestedView) |
void | RotateScreen (float aAngleInRadians) |
Rotates the camera in screen plane. | |
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. | |
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. | |
void | MakeRayAtCurrentMousePosition (SFVEC3F &aOutOrigin, SFVEC3F &aOutDirection) const |
Make a ray based on the latest mouse position. | |
void | Update () |
Update the camera. | |
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 | |
float | m_zoom_t0 |
float | m_zoom_t1 |
float | m_minZoom |
Possible 3D zoom range. | |
float | m_maxZoom |
SFVEC2I | m_windowSize |
The window size that this camera is working. | |
wxPoint | m_lastPosition |
The last mouse position in the screen. | |
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). | |
SFVEC3F | m_rotate_aux |
Stores the rotation angle auxiliary. | |
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). | |
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. | |
std::vector< SFVEC3F > | m_up_nY |
bool | m_parametersChanged |
Set to true if any of the parameters in the camera was changed. | |
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. | |
Private Member Functions | |
void | initQuat () |
Private Attributes | |
double | m_quat_t0 [4] |
interpolate quaternions of the trackball | |
double | m_quat_t1 [4] |
Definition at line 36 of file track_ball.h.
|
explicit |
Definition at line 42 of file track_ball.cpp.
References initQuat(), and CAMERA::m_logTrace.
|
explicit |
Definition at line 49 of file track_ball.cpp.
References initQuat(), and CAMERA::m_logTrace.
|
inlinevirtual |
Definition at line 42 of file track_ball.h.
|
overridevirtual |
Calculate a new mouse drag position.
Implements CAMERA.
Definition at line 67 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 170 of file camera.h.
Referenced by RENDER_3D_RAYTRACE_BASE::Reload().
|
inherited |
Definition at line 485 of file camera.cpp.
References CAMERA::m_camera_pos_init, CAMERA::m_frustum, and CAMERA_FRUSTUM::tang.
|
inlineinherited |
Definition at line 169 of file camera.h.
Referenced by EDA_3D_CANVAS::DisplayStatus().
|
inlineinherited |
|
inlineinherited |
Definition at line 135 of file camera.h.
Referenced by RENDER_3D_RAYTRACE_GL::Redraw(), RENDER_3D_RAYTRACE_RAM::Redraw(), RENDER_3D_RAYTRACE_BASE::render(), and CAMERA::RotateScreen().
|
inlineinherited |
|
inlineinherited |
Definition at line 140 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 141 of file camera.h.
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::GetPivotPosition(), and NL_3D_VIEWER_PLUGIN_IMPL::SetCameraMatrix().
|
inlineinherited |
Definition at line 167 of file camera.h.
Referenced by PCBNEW_JOBS_HANDLER::JobExportRender(), and EDA_3D_CANVAS::render_pivot().
|
inlineinherited |
Definition at line 136 of file camera.h.
Referenced by RENDER_3D_OPENGL::Redraw(), and RENDER_3D_OPENGL::renderTransparentModels().
|
inlineinherited |
Definition at line 205 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 473 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 479 of file camera.cpp.
References CAMERA::m_projectionMatrixInv.
|
inherited |
Get the rotation matrix to be applied in a transformation camera.
Definition at line 241 of file camera.cpp.
References CAMERA::m_rotationMatrix, and CAMERA::m_rotationMatrixAux.
Referenced by EDA_3D_MODEL_VIEWER::OnPaint(), RENDER_3D_OPENGL::render3dArrows(), and CAMERA::RotateScreen().
|
inherited |
Definition at line 509 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 547 of file camera.cpp.
References CAMERA::m_viewMatrixInverse.
|
inlineinherited |
Definition at line 221 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().
|
private |
Definition at line 57 of file track_ball.cpp.
References m_quat_t0, m_quat_t1, and trackball().
Referenced by TRACK_BALL().
|
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 152 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().
Referenced by PCBNEW_JOBS_HANDLER::JobExportRender().
|
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 429 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 407 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 461 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 115 of file track_ball.cpp.
References CAMERA::m_camera_pos, CAMERA::m_parametersChanged, CAMERA::updateFrustum(), and CAMERA::updateViewMatrix().
|
overridevirtual |
Implements CAMERA.
Definition at line 91 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 125 of file track_ball.cpp.
References CAMERA::m_camera_pos, and CAMERA::m_camera_pos_t1.
Referenced by PCBNEW_JOBS_HANDLER::JobExportRender().
|
inherited |
Definition at line 729 of file camera.cpp.
References CAMERA::m_parametersChanged.
Referenced by EDA_3D_CANVAS::DoRePaint(), PCBNEW_JOBS_HANDLER::JobExportRender(), RENDER_3D_RAYTRACE_GL::Redraw(), and RENDER_3D_RAYTRACE_RAM::Redraw().
|
inlineinherited |
|
protectedinherited |
Definition at line 255 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 78 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 130 of file track_ball.cpp.
References m_quat_t1, CAMERA::Reset_T1(), and trackball().
|
inherited |
Definition at line 491 of file camera.cpp.
References CAMERA::m_camera_pos, CAMERA::m_parametersChanged, CAMERA::updateFrustum(), and CAMERA::updateViewMatrix().
|
inherited |
Definition at line 502 of file camera.cpp.
References CAMERA::m_camera_pos_t1.
Referenced by EDA_3D_CANVAS::move_pivot_based_on_cur_mouse_position().
|
inherited |
Rotates the camera in screen plane.
Definition at line 650 of file camera.cpp.
References CAMERA::GetDir(), CAMERA::GetRotationMatrix(), CAMERA::SetRotationMatrix(), and CAMERA::updateRotationMatrix().
Referenced by EDA_3D_CANVAS::OnRotateGesture().
|
inherited |
Definition at line 658 of file camera.cpp.
References CAMERA::m_rotate_aux, and CAMERA::updateRotationMatrix().
Referenced by EDA_3D_CONTROLLER::RotateView().
|
inherited |
Definition at line 679 of file camera.cpp.
References CAMERA::m_rotate_aux_t1.
Referenced by PCBNEW_JOBS_HANDLER::JobExportRender(), and CAMERA::ViewCommand_T1().
|
inherited |
Definition at line 665 of file camera.cpp.
References CAMERA::m_rotate_aux, and CAMERA::updateRotationMatrix().
Referenced by EDA_3D_CONTROLLER::RotateView().
|
inherited |
Definition at line 685 of file camera.cpp.
References CAMERA::m_rotate_aux_t1.
Referenced by PCBNEW_JOBS_HANDLER::JobExportRender(), and CAMERA::ViewCommand_T1().
|
inherited |
Definition at line 672 of file camera.cpp.
References CAMERA::m_rotate_aux, and CAMERA::updateRotationMatrix().
Referenced by EDA_3D_CONTROLLER::RotateView().
|
inherited |
Definition at line 691 of file camera.cpp.
References CAMERA::m_rotate_aux_t1.
Referenced by PCBNEW_JOBS_HANDLER::JobExportRender(), and CAMERA::ViewCommand_T1().
|
inherited |
Definition at line 182 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_BASE::Reload().
|
inherited |
Update the current mouse position without make any new calculations on camera.
Definition at line 553 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(), HIDPI_GL_3D_CANVAS::OnMouseWheelCamera(), EDA_3D_CANVAS::OnPanGesture(), EDA_3D_CANVAS::OnRotateGesture(), and EDA_3D_CANVAS::OnZoomGesture().
|
inherited |
Update the windows size of the camera.
Definition at line 570 of file camera.cpp.
References CAMERA::m_windowSize, and CAMERA::rebuildProjection().
Referenced by EDA_3D_CANVAS::DoRePaint(), PCBNEW_JOBS_HANDLER::JobExportRender(), EDA_3D_MODEL_VIEWER::OnMouseMove(), HIDPI_GL_3D_CANVAS::OnMouseMoveCamera(), and EDA_3D_MODEL_VIEWER::OnPaint().
|
inlineinherited |
Definition at line 264 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 162 of file camera.h.
Referenced by PCBNEW_JOBS_HANDLER::JobExportRender(), EDA_3D_CANVAS::move_pivot_based_on_cur_mouse_position(), and NL_3D_VIEWER_PLUGIN_IMPL::SetPivotPosition().
|
inlineinherited |
Definition at line 231 of file camera.h.
Referenced by RENDER_3D_RAYTRACE_BASE::Reload().
|
inlineinherited |
Definition at line 224 of file camera.h.
Referenced by RENDER_3D_RAYTRACE_BASE::Reload().
|
inlineinherited |
Definition at line 206 of file camera.h.
Referenced by PCBNEW_JOBS_HANDLER::JobExportRender(), and 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 247 of file camera.cpp.
References CAMERA::m_parametersChanged, CAMERA::m_rotationMatrix, and CAMERA::m_rotationMatrixAux.
Referenced by CAMERA::RotateScreen(), and CAMERA::SetViewMatrix().
|
overridevirtual |
This will set T0 and T1 with the current values.
Reimplemented from CAMERA.
Definition at line 138 of file track_ball.cpp.
References m_quat_t0, m_quat_t1, CAMERA::m_rotationMatrix, and CAMERA::SetT0_and_T1_current_T().
Referenced by PCBNEW_JOBS_HANDLER::JobExportRender().
|
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 515 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 559 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 309 of file camera.h.
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::SetCameraMatrix().
|
protectedinherited |
Definition at line 348 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 220 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::RotateScreen(), CAMERA::RotateX(), CAMERA::RotateY(), and CAMERA::RotateZ().
|
protectedinherited |
Definition at line 212 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 110 of file camera.cpp.
References CAMERA::Reset_T1(), CAMERA::RotateX_T1(), CAMERA::RotateY_T1(), CAMERA::RotateZ_T1(), and CAMERA::SetT0_and_T1_current_T().
Referenced by PCBNEW_JOBS_HANDLER::JobExportRender(), and EDA_3D_CANVAS::SetView3D().
|
inherited |
Definition at line 597 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(), EDA_3D_CANVAS::OnZoomGesture(), and NL_3D_VIEWER_PLUGIN_IMPL::SetViewExtents().
|
inherited |
Definition at line 628 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 PCBNEW_JOBS_HANDLER::JobExportRender(), and EDA_3D_CANVAS::SetView3D().
|
protectedinherited |
Definition at line 197 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 586 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 106 of file camera.h.
Referenced by CAMERA::CAMERA(), and RENDER_3D_RAYTRACE_BASE::Reload().
|
staticinherited |
Definition at line 105 of file camera.h.
Referenced by CAMERA::CAMERA().
|
protectedinherited |
Default boardlookat position (the board center).
Definition at line 367 of file camera.h.
Referenced by CAMERA::CAMERA(), CAMERA::Reset(), CAMERA::Reset_T1(), and CAMERA::SetBoardLookAtPos().
|
protectedinherited |
Definition at line 360 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 359 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 361 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 362 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 354 of file camera.h.
Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 357 of file camera.h.
Referenced by CAMERA::rebuildProjection().
|
protectedinherited |
Definition at line 350 of file camera.h.
Referenced by CAMERA::GetCameraMinDimension(), CAMERA::MakeRay(), Pan(), CAMERA::rebuildProjection(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 373 of file camera.h.
Referenced by CAMERA::CAMERA(), and Interpolate().
|
protectedinherited |
The last mouse position in the screen.
Definition at line 340 of file camera.h.
Referenced by Drag(), CAMERA::MakeRayAtCurrentMousePosition(), Pan(), CAMERA::Reset(), and CAMERA::SetCurMousePosition().
|
protectedinherited |
Definition at line 364 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 365 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 366 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::Reset_T1(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 330 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 329 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 391 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 355 of file camera.h.
Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 346 of file camera.h.
Referenced by CAMERA::GetProjectionMatrix(), CAMERA::rebuildProjection(), and CAMERA::Reset().
|
protectedinherited |
Definition at line 347 of file camera.h.
Referenced by CAMERA::GetProjectionMatrixInv(), CAMERA::rebuildProjection(), and CAMERA::Reset().
|
protectedinherited |
Definition at line 348 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 66 of file track_ball.h.
Referenced by initQuat(), Interpolate(), and SetT0_and_T1_current_T().
|
private |
Definition at line 67 of file track_ball.h.
Referenced by initQuat(), Interpolate(), Reset_T1(), and SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 352 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 385 of file camera.h.
Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().
|
protectedinherited |
Stores the rotation angle auxiliary.
Definition at line 369 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 370 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::Reset_T1(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 371 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 342 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 343 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 378 of file camera.h.
Referenced by CAMERA::rebuildProjection(), CAMERA::Reset(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 379 of file camera.h.
Referenced by CAMERA::rebuildProjection(), CAMERA::Reset(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 353 of file camera.h.
Referenced by CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 386 of file camera.h.
Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().
|
protectedinherited |
Definition at line 344 of file camera.h.
Referenced by CAMERA::GetViewMatrix(), CAMERA::Reset(), CAMERA::SetViewMatrix(), CAMERA::updateFrustum(), and CAMERA::updateViewMatrix().
|
protectedinherited |
Definition at line 345 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 335 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 322 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 323 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), and CAMERA::SetT0_and_T1_current_T().
|
protectedinherited |
Definition at line 324 of file camera.h.
Referenced by CAMERA::Interpolate(), CAMERA::Reset(), CAMERA::Reset_T1(), CAMERA::SetT0_and_T1_current_T(), and CAMERA::Zoom_T1().