KiCad PCB EDA Suite
Loading...
Searching...
No Matches
TRACK_BALL Class Reference

#include <track_ball.h>

Inheritance diagram for TRACK_BALL:
CAMERA

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 SFVEC3FGetRight () const
 
const SFVEC3FGetUp () const
 
const SFVEC3FGetDir () const
 
const SFVEC3FGetPos () const
 
const SFVEC2FGetFocalLen () const
 
float GetNear () const
 
float GetFar () const
 
const CAMERA_FRUSTUMGetFrustum () const
 
const SFVEC3FGetLookAtPos () 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 SFVEC3FGetLookAtPos_T1 () const
 
const SFVEC3FGetCameraPos () const
 
const SFVEC3FGetCameraInitPos () 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< SFVEC3Fm_right_nX
 Precalc values array used to calc ray for each pixel, for X and Y axis of each new camera position.
 
std::vector< SFVEC3Fm_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]
 

Detailed Description

Definition at line 36 of file track_ball.h.

Constructor & Destructor Documentation

◆ TRACK_BALL() [1/2]

TRACK_BALL::TRACK_BALL ( float  aInitialDistance)
explicit

Definition at line 42 of file track_ball.cpp.

References initQuat(), and CAMERA::m_logTrace.

◆ TRACK_BALL() [2/2]

TRACK_BALL::TRACK_BALL ( SFVEC3F  aInitPos,
SFVEC3F  aLookat,
PROJECTION_TYPE  aProjectionType 
)
explicit

Definition at line 49 of file track_ball.cpp.

References initQuat(), and CAMERA::m_logTrace.

◆ ~TRACK_BALL()

virtual TRACK_BALL::~TRACK_BALL ( )
inlinevirtual

Definition at line 42 of file track_ball.h.

Member Function Documentation

◆ Drag()

void TRACK_BALL::Drag ( const wxPoint &  aNewMousePosition)
overridevirtual

◆ GetCameraInitPos()

const SFVEC3F & CAMERA::GetCameraInitPos ( ) const
inlineinherited

Definition at line 170 of file camera.h.

Referenced by RENDER_3D_RAYTRACE_BASE::Reload().

◆ GetCameraMinDimension()

float CAMERA::GetCameraMinDimension ( ) const
inherited

Definition at line 485 of file camera.cpp.

References CAMERA::m_camera_pos_init, CAMERA::m_frustum, and CAMERA_FRUSTUM::tang.

◆ GetCameraPos()

const SFVEC3F & CAMERA::GetCameraPos ( ) const
inlineinherited

Definition at line 169 of file camera.h.

Referenced by EDA_3D_CANVAS::DisplayStatus().

◆ GetCurMousePosition()

const wxPoint & CAMERA::GetCurMousePosition ( )
inlineinherited

Get the current mouse position.

Definition at line 197 of file camera.h.

◆ GetDir()

const SFVEC3F & CAMERA::GetDir ( ) const
inlineinherited

◆ GetFar()

float CAMERA::GetFar ( ) const
inlineinherited

Definition at line 139 of file camera.h.

◆ GetFocalLen()

const SFVEC2F & CAMERA::GetFocalLen ( ) const
inlineinherited

Definition at line 137 of file camera.h.

◆ GetFrustum()

◆ GetLookAtPos()

const SFVEC3F & CAMERA::GetLookAtPos ( ) const
inlineinherited

◆ GetLookAtPos_T1()

const SFVEC3F & CAMERA::GetLookAtPos_T1 ( ) const
inlineinherited

Definition at line 167 of file camera.h.

Referenced by PCBNEW_JOBS_HANDLER::JobExportRender(), and EDA_3D_CANVAS::render_pivot().

◆ GetMaxZoom()

float CAMERA::GetMaxZoom ( )
inlineinherited

Definition at line 230 of file camera.h.

◆ GetMinZoom()

float CAMERA::GetMinZoom ( )
inlineinherited

Definition at line 223 of file camera.h.

◆ GetNear()

float CAMERA::GetNear ( ) const
inlineinherited

Definition at line 138 of file camera.h.

◆ GetPos()

const SFVEC3F & CAMERA::GetPos ( ) const
inlineinherited

◆ GetProjection()

◆ GetProjectionMatrix()

const glm::mat4 & CAMERA::GetProjectionMatrix ( ) const
inherited

◆ GetProjectionMatrixInv()

const glm::mat4 & CAMERA::GetProjectionMatrixInv ( ) const
inherited

Definition at line 479 of file camera.cpp.

References CAMERA::m_projectionMatrixInv.

◆ GetRight()

const SFVEC3F & CAMERA::GetRight ( ) const
inlineinherited

Definition at line 133 of file camera.h.

◆ GetRotationMatrix()

glm::mat4 CAMERA::GetRotationMatrix ( ) const
inherited

Get the rotation matrix to be applied in a transformation camera.

Returns
the rotation matrix of the 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().

◆ GetUp()

const SFVEC3F & CAMERA::GetUp ( ) const
inlineinherited

Definition at line 134 of file camera.h.

◆ GetViewMatrix()

◆ GetViewMatrix_Inv()

const glm::mat4 & CAMERA::GetViewMatrix_Inv ( ) const
inherited

Definition at line 547 of file camera.cpp.

References CAMERA::m_viewMatrixInverse.

◆ GetZoom()

◆ initQuat()

void TRACK_BALL::initQuat ( )
private

Definition at line 57 of file track_ball.cpp.

References m_quat_t0, m_quat_t1, and trackball().

Referenced by TRACK_BALL().

◆ Interpolate()

void TRACK_BALL::Interpolate ( float  t)
overridevirtual

It will update the matrix to interpolate between T0 and T1 values.

Parameters
tthe 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().

◆ MakeRay() [1/2]

void CAMERA::MakeRay ( const SFVEC2F aWindowPos,
SFVEC3F aOutOrigin,
SFVEC3F aOutDirection 
) const
inherited

Make a ray based on a windows screen position, it will interpolate based on the aWindowPos.

Parameters
aWindowPosthe windows buffer position (float value).
aOutOriginout origin position of the ray.
aOutDirectionout 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.

◆ MakeRay() [2/2]

void CAMERA::MakeRay ( const SFVEC2I aWindowPos,
SFVEC3F aOutOrigin,
SFVEC3F aOutDirection 
) const
inherited

Make a ray based on a windows screen position.

Parameters
aWindowPosthe windows buffer position.
aOutOriginout origin position of the ray.
aOutDirectionout 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().

◆ MakeRayAtCurrentMousePosition()

void CAMERA::MakeRayAtCurrentMousePosition ( SFVEC3F aOutOrigin,
SFVEC3F aOutDirection 
) const
inherited

Make a ray based on the latest mouse position.

Parameters
aOutOriginout origin position of the ray.
aOutDirectionout 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().

◆ Pan() [1/2]

void TRACK_BALL::Pan ( const SFVEC3F aDeltaOffsetInc)
overridevirtual

◆ Pan() [2/2]

◆ Pan_T1()

void TRACK_BALL::Pan_T1 ( const SFVEC3F aDeltaOffsetInc)
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().

◆ ParametersChanged()

bool CAMERA::ParametersChanged ( )
inherited
Returns
true if some of the parameters in camera was changed, it will reset the flag.

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().

◆ ParametersChangedQuery()

bool CAMERA::ParametersChangedQuery ( ) const
inlineinherited
Returns
true if some of the parameters in camera was changed, it will NOT reset the flag.

Definition at line 277 of file camera.h.

◆ rebuildProjection()

◆ Reset()

◆ Reset_T1()

void TRACK_BALL::Reset_T1 ( )
overridevirtual

Reimplemented from CAMERA.

Definition at line 130 of file track_ball.cpp.

References m_quat_t1, CAMERA::Reset_T1(), and trackball().

◆ ResetXYpos()

void CAMERA::ResetXYpos ( )
inherited

◆ ResetXYpos_T1()

void CAMERA::ResetXYpos_T1 ( )
inherited

◆ RotateScreen()

void CAMERA::RotateScreen ( float  aAngleInRadians)
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().

◆ RotateX()

void CAMERA::RotateX ( float  aAngleInRadians)
inherited

Definition at line 658 of file camera.cpp.

References CAMERA::m_rotate_aux, and CAMERA::updateRotationMatrix().

Referenced by EDA_3D_CONTROLLER::RotateView().

◆ RotateX_T1()

void CAMERA::RotateX_T1 ( float  aAngleInRadians)
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().

◆ RotateY()

void CAMERA::RotateY ( float  aAngleInRadians)
inherited

Definition at line 665 of file camera.cpp.

References CAMERA::m_rotate_aux, and CAMERA::updateRotationMatrix().

Referenced by EDA_3D_CONTROLLER::RotateView().

◆ RotateY_T1()

void CAMERA::RotateY_T1 ( float  aAngleInRadians)
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().

◆ RotateZ()

void CAMERA::RotateZ ( float  aAngleInRadians)
inherited

Definition at line 672 of file camera.cpp.

References CAMERA::m_rotate_aux, and CAMERA::updateRotationMatrix().

Referenced by EDA_3D_CONTROLLER::RotateView().

◆ RotateZ_T1()

void CAMERA::RotateZ_T1 ( float  aAngleInRadians)
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().

◆ SetBoardLookAtPos()

void CAMERA::SetBoardLookAtPos ( const SFVEC3F aBoardPos)
inherited

◆ SetCurMousePosition()

void CAMERA::SetCurMousePosition ( const wxPoint &  aPosition)
inherited

◆ SetCurWindowSize()

bool CAMERA::SetCurWindowSize ( const wxSize &  aSize)
inherited

Update the windows size of the camera.

Returns
true if the windows size changed since last time.

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().

◆ SetInterpolateMode()

void CAMERA::SetInterpolateMode ( CAMERA_INTERPOLATION  aInterpolateMode)
inlineinherited

◆ SetLookAtPos_T1()

void CAMERA::SetLookAtPos_T1 ( const SFVEC3F aLookAtPos)
inlineinherited

◆ SetMaxZoom()

void CAMERA::SetMaxZoom ( float  maxZoom)
inlineinherited

Definition at line 231 of file camera.h.

Referenced by RENDER_3D_RAYTRACE_BASE::Reload().

◆ SetMinZoom()

void CAMERA::SetMinZoom ( float  minZoom)
inlineinherited

Definition at line 224 of file camera.h.

Referenced by RENDER_3D_RAYTRACE_BASE::Reload().

◆ SetProjection()

void CAMERA::SetProjection ( PROJECTION_TYPE  aProjection)
inlineinherited

◆ SetRotationMatrix()

void CAMERA::SetRotationMatrix ( const glm::mat4 &  aRotation)
inherited

Set the rotation matrix to be applied in a transformation camera, without making any new calculations on camera.

Parameters
aRotationis 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().

◆ SetT0_and_T1_current_T()

void TRACK_BALL::SetT0_and_T1_current_T ( )
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().

◆ SetViewMatrix()

void CAMERA::SetViewMatrix ( glm::mat4  aViewMatrix)
inherited

Set the affine matrix to be applied to a transformation camera.

Parameters
aViewMatrixis 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().

◆ ToggleProjection()

void CAMERA::ToggleProjection ( )
inherited

◆ Update()

void CAMERA::Update ( )
inlineinherited

Update the camera.

Definition at line 309 of file camera.h.

Referenced by NL_3D_VIEWER_PLUGIN_IMPL::SetCameraMatrix().

◆ updateFrustum()

◆ updateRotationMatrix()

◆ updateViewMatrix()

◆ ViewCommand_T1()

bool CAMERA::ViewCommand_T1 ( VIEW3D_TYPE  aRequestedView)
inherited

◆ Zoom()

◆ Zoom_T1()

bool CAMERA::Zoom_T1 ( float  aFactor)
inherited

◆ zoomChanged()

void CAMERA::zoomChanged ( )
protectedinherited

◆ ZoomReset()

void CAMERA::ZoomReset ( )
inherited

Member Data Documentation

◆ DEFAULT_MAX_ZOOM

const float CAMERA::DEFAULT_MAX_ZOOM = 2.0f
staticinherited

Definition at line 106 of file camera.h.

Referenced by CAMERA::CAMERA(), and RENDER_3D_RAYTRACE_BASE::Reload().

◆ DEFAULT_MIN_ZOOM

const float CAMERA::DEFAULT_MIN_ZOOM = 0.020f
staticinherited

Definition at line 105 of file camera.h.

Referenced by CAMERA::CAMERA().

◆ m_board_lookat_pos_init

SFVEC3F CAMERA::m_board_lookat_pos_init
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().

◆ m_camera_pos

◆ m_camera_pos_init

◆ m_camera_pos_t0

SFVEC3F CAMERA::m_camera_pos_t0
protectedinherited

Definition at line 361 of file camera.h.

Referenced by CAMERA::Interpolate(), CAMERA::Reset(), and CAMERA::SetT0_and_T1_current_T().

◆ m_camera_pos_t1

SFVEC3F CAMERA::m_camera_pos_t1
protectedinherited

◆ m_dir

SFVEC3F CAMERA::m_dir
protectedinherited

Definition at line 354 of file camera.h.

Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().

◆ m_focalLen

SFVEC2F CAMERA::m_focalLen
protectedinherited

Definition at line 357 of file camera.h.

Referenced by CAMERA::rebuildProjection().

◆ m_frustum

CAMERA_FRUSTUM CAMERA::m_frustum
protectedinherited

◆ m_interpolation_mode

CAMERA_INTERPOLATION CAMERA::m_interpolation_mode
protectedinherited

Definition at line 373 of file camera.h.

Referenced by CAMERA::CAMERA(), and Interpolate().

◆ m_lastPosition

wxPoint CAMERA::m_lastPosition
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().

◆ m_lookat_pos

◆ m_lookat_pos_t0

SFVEC3F CAMERA::m_lookat_pos_t0
protectedinherited

Definition at line 365 of file camera.h.

Referenced by CAMERA::Interpolate(), CAMERA::Reset(), and CAMERA::SetT0_and_T1_current_T().

◆ m_lookat_pos_t1

SFVEC3F CAMERA::m_lookat_pos_t1
protectedinherited

◆ m_maxZoom

float CAMERA::m_maxZoom
protectedinherited

◆ m_minZoom

float CAMERA::m_minZoom
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().

◆ m_parametersChanged

bool CAMERA::m_parametersChanged
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().

◆ m_pos

SFVEC3F CAMERA::m_pos
protectedinherited

Definition at line 355 of file camera.h.

Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().

◆ m_projectionMatrix

glm::mat4 CAMERA::m_projectionMatrix
protectedinherited

Definition at line 346 of file camera.h.

Referenced by CAMERA::GetProjectionMatrix(), CAMERA::rebuildProjection(), and CAMERA::Reset().

◆ m_projectionMatrixInv

glm::mat4 CAMERA::m_projectionMatrixInv
protectedinherited

◆ m_projectionType

PROJECTION_TYPE CAMERA::m_projectionType
protectedinherited

◆ m_quat_t0

double TRACK_BALL::m_quat_t0[4]
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().

◆ m_quat_t1

double TRACK_BALL::m_quat_t1[4]
private

Definition at line 67 of file track_ball.h.

Referenced by initQuat(), Interpolate(), Reset_T1(), and SetT0_and_T1_current_T().

◆ m_right

SFVEC3F CAMERA::m_right
protectedinherited

Definition at line 352 of file camera.h.

Referenced by CAMERA::updateFrustum().

◆ m_right_nX

std::vector< SFVEC3F > CAMERA::m_right_nX
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().

◆ m_rotate_aux

SFVEC3F CAMERA::m_rotate_aux
protectedinherited

◆ m_rotate_aux_t0

SFVEC3F CAMERA::m_rotate_aux_t0
protectedinherited

◆ m_rotate_aux_t1

◆ m_rotationMatrix

glm::mat4 CAMERA::m_rotationMatrix
protectedinherited

◆ m_rotationMatrixAux

glm::mat4 CAMERA::m_rotationMatrixAux
protectedinherited

◆ m_scr_nX

std::vector< float > CAMERA::m_scr_nX
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().

◆ m_scr_nY

std::vector< float > CAMERA::m_scr_nY
protectedinherited

Definition at line 379 of file camera.h.

Referenced by CAMERA::rebuildProjection(), CAMERA::Reset(), and CAMERA::updateFrustum().

◆ m_up

SFVEC3F CAMERA::m_up
protectedinherited

Definition at line 353 of file camera.h.

Referenced by CAMERA::updateFrustum().

◆ m_up_nY

std::vector< SFVEC3F > CAMERA::m_up_nY
protectedinherited

Definition at line 386 of file camera.h.

Referenced by CAMERA::MakeRay(), and CAMERA::updateFrustum().

◆ m_viewMatrix

glm::mat4 CAMERA::m_viewMatrix
protectedinherited

◆ m_viewMatrixInverse

glm::mat4 CAMERA::m_viewMatrixInverse
protectedinherited

Definition at line 345 of file camera.h.

Referenced by CAMERA::GetViewMatrix_Inv(), CAMERA::Reset(), and CAMERA::updateFrustum().

◆ m_windowSize

SFVEC2I CAMERA::m_windowSize
protectedinherited

◆ m_zoom

float CAMERA::m_zoom
protectedinherited

◆ m_zoom_t0

float CAMERA::m_zoom_t0
protectedinherited

Definition at line 323 of file camera.h.

Referenced by CAMERA::Interpolate(), CAMERA::Reset(), and CAMERA::SetT0_and_T1_current_T().

◆ m_zoom_t1

float CAMERA::m_zoom_t1
protectedinherited

The documentation for this class was generated from the following files: