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

Implement a canvas based on a wxGLCanvas. More...

#include <eda_3d_canvas.h>

Inheritance diagram for EDA_3D_CANVAS:
HIDPI_GL_3D_CANVAS HIDPI_GL_CANVAS

Public Member Functions

 EDA_3D_CANVAS (wxWindow *aParent, const wxGLAttributes &aGLAttribs, BOARD_ADAPTER &aSettings, CAMERA &aCamera, S3D_CACHE *a3DCachePointer)
 Create a new 3D Canvas with an attribute list.
 
 ~EDA_3D_CANVAS () override
 
void SetEventDispatcher (TOOL_DISPATCHER *aEventDispatcher)
 Set a dispatcher that processes events and forwards them to tools.
 
void SetStatusBar (wxStatusBar *aStatusBar)
 
void SetInfoBar (WX_INFOBAR *aInfoBar)
 
void ReloadRequest (BOARD *aBoard=nullptr, S3D_CACHE *aCachePointer=nullptr)
 
bool IsReloadRequestPending () const
 Query if there is a pending reload request.
 
RENDER_3D_BASEGetCurrentRender () const
 
void RenderRaytracingRequest ()
 Request to render the current view in Raytracing mode.
 
void GetScreenshot (wxImage &aDstImage)
 Request a screenshot and output it to the aDstImage.
 
bool SetView3D (VIEW3D_TYPE aRequestedView)
 Select a specific 3D view or operation.
 
void SetAnimationEnabled (bool aEnable)
 Enable or disable camera animation when switching to a pre-defined view.
 
bool GetAnimationEnabled () const
 
void SetMovingSpeedMultiplier (int aMultiplier)
 Set the camera animation moving speed multiplier option.
 
int GetMovingSpeedMultiplier () const
 
int GetProjectionMode () const
 
void SetProjectionMode (int aMode)
 
void RenderEngineChanged ()
 Notify that the render engine was changed.
 
void DisplayStatus ()
 Update the status bar with the position information.
 
void Request_refresh (bool aRedrawImmediately=true)
 Schedule a refresh update of the canvas.
 
void OnEvent (wxEvent &aEvent)
 Used to forward events to the canvas from popups, etc.
 
const BOARD_ADAPTERGetBoardAdapter () const
 Get information used to display 3D board.
 
bool GetRenderPivot ()
 Get a value indicating whether to render the pivot.
 
void SetRenderPivot (bool aValue)
 Set aValue indicating whether to render the pivot.
 
bool GetRender3dmousePivot ()
 Get a value indicating whether to render the 3dmouse pivot.
 
void SetRender3dmousePivot (bool aValue)
 Set aValue indicating whether to render the 3dmouse pivot.
 
void Set3dmousePivotPos (const SFVEC3F &aPos)
 Set the position of the the 3dmouse pivot.
 
void DoRePaint ()
 The actual function to repaint the canvas.
 
void RenderToFrameBuffer (unsigned char *aBuffer, int aWidth, int aHeight)
 
void OnCloseWindow (wxCloseEvent &event)
 
CAMERAGetCamera ()
 Get the canvas camera.
 
void OnMouseMoveCamera (wxMouseEvent &event)
 
void OnMouseWheelCamera (wxMouseEvent &event, bool aPan)
 
virtual wxSize GetNativePixelSize () const
 
wxPoint GetNativePosition (const wxPoint &aPoint) const
 Convert the given point from client coordinates to native pixel coordinates.
 
double GetScaleFactor () const
 Get the current scale factor.
 
void SetVcSettings (const KIGFX::VC_SETTINGS &aVcSettings)
 

Public Attributes

bool m_mouse_is_moving
 
bool m_mouse_was_moved
 
bool m_camera_is_moving
 
CAMERAm_camera
 

Static Public Attributes

static const float m_delta_move_step_factor = 0.7f
 

Protected Attributes

KIGFX::VC_SETTINGS m_settings
 < Current VIEW_CONTROLS settings.
 

Private Member Functions

void OnPaint (wxPaintEvent &aEvent)
 
void OnEraseBackground (wxEraseEvent &event)
 
void OnRefreshRequest (wxEvent &aEvent)
 
void OnMouseWheel (wxMouseEvent &event)
 
void OnMagnify (wxMouseEvent &event)
 
void OnMouseMove (wxMouseEvent &event)
 
void OnLeftDown (wxMouseEvent &event)
 
void OnLeftUp (wxMouseEvent &event)
 
void OnMiddleUp (wxMouseEvent &event)
 
void OnMiddleDown (wxMouseEvent &event)
 
void OnRightUp (wxMouseEvent &event)
 
void OnRightDown (wxMouseEvent &event)
 
void OnTimerTimeout_Editing (wxTimerEvent &event)
 
void OnResize (wxSizeEvent &event)
 
void OnTimerTimeout_Redraw (wxTimerEvent &event)
 
void OnZoomGesture (wxZoomGestureEvent &event)
 
void OnPanGesture (wxPanGestureEvent &event)
 
void OnRotateGesture (wxRotateGestureEvent &event)
 
void stop_editingTimeOut_Timer ()
 Stop the editing time so it will not timeout.
 
void restart_editingTimeOut_Timer ()
 Reset the editing timer.
 
void request_start_moving_camera (float aMovingSpeed=2.0f, bool aRenderPivot=true)
 Start a camera movement.
 
void move_pivot_based_on_cur_mouse_position ()
 This function hits a ray to the board and start a movement.
 
void render_pivot (float t, float aScale)
 Render the pivot cursor.
 
void render3dmousePivot (float aScale)
 Render the 3dmouse pivot cursor.
 
bool initializeOpenGL ()
 
void releaseOpenGL ()
 Free created targets and openGL context.
 
RAY getRayAtCurrentMousePosition ()
 

Private Attributes

TOOL_DISPATCHERm_eventDispatcher = nullptr
 
wxStatusBar * m_parentStatusBar = nullptr
 
WX_INFOBARm_parentInfoBar = nullptr
 
wxGLContext * m_glRC = nullptr
 
bool m_is_opengl_initialized = false
 
bool m_is_opengl_version_supported = true
 
wxTimer m_editing_timeout_timer
 
wxTimer m_redraw_trigger_timer
 
std::atomic_flag m_is_currently_painting = ATOMIC_FLAG_INIT
 
bool m_render_pivot = false
 
float m_camera_moving_speed = 1.0f
 
int64_t m_strtime_camera_movement = 0
 
bool m_animation_enabled = true
 
int m_moving_speed_multiplier = 3
 
BOARD_ADAPTERm_boardAdapter
 
RENDER_3D_BASEm_3d_render = nullptr
 
RENDER_3D_RAYTRACE_GLm_3d_render_raytracing
 
RENDER_3D_OPENGLm_3d_render_opengl
 
bool m_opengl_supports_raytracing = true
 
bool m_render_raytracing_was_requested = false
 
ACCELERATOR_3Dm_accelerator3DShapes = nullptr
 
BOARD_ITEMm_currentRollOverItem = nullptr
 
bool m_render3dmousePivot = false
 
SFVEC3F m_3dmousePivotPos
 
double m_gestureLastZoomFactor = 1.0
 Used to track gesture events.
 
double m_gestureLastAngle = 0.0
 

Static Private Attributes

static const wxChar * m_logTrace = wxT( "KI_TRACE_EDA_3D_CANVAS" )
 Trace mask used to enable or disable the trace output of this class.
 

Detailed Description

Implement a canvas based on a wxGLCanvas.

Definition at line 50 of file eda_3d_canvas.h.

Constructor & Destructor Documentation

◆ EDA_3D_CANVAS()

EDA_3D_CANVAS::EDA_3D_CANVAS ( wxWindow * aParent,
const wxGLAttributes & aGLAttribs,
BOARD_ADAPTER & aSettings,
CAMERA & aCamera,
S3D_CACHE * a3DCachePointer )

Create a new 3D Canvas with an attribute list.

Parameters
aParentthe parent creator of this canvas.
aGLAttribsopenGL attributes created by OGL_ATT_LIST::GetAttributesList.
aBoardThe board.
aSettingsthe settings options to be used by this canvas.

Definition at line 100 of file eda_3d_canvas.cpp.

References EDA_3D_CANVAS(), EDA_3D_CANVAS_ID, HIDPI_GL_3D_CANVAS::HIDPI_GL_3D_CANVAS(), m_3d_render, m_3d_render_opengl, m_3d_render_raytracing, m_boardAdapter, HIDPI_GL_3D_CANVAS::m_camera, m_editing_timeout_timer, m_eventDispatcher, m_is_currently_painting, m_logTrace, m_redraw_trigger_timer, OnEvent(), OnTimerTimeout_Editing(), and OnTimerTimeout_Redraw().

Referenced by EDA_3D_CANVAS().

◆ ~EDA_3D_CANVAS()

EDA_3D_CANVAS::~EDA_3D_CANVAS ( )
override

Definition at line 171 of file eda_3d_canvas.cpp.

References m_accelerator3DShapes, m_logTrace, and releaseOpenGL().

Member Function Documentation

◆ DisplayStatus()

void EDA_3D_CANVAS::DisplayStatus ( )

Update the status bar with the position information.

Definition at line 332 of file eda_3d_canvas.cpp.

References HIDPI_GL_3D_CANVAS::m_camera, m_parentStatusBar, X_POS, Y_POS, and ZOOM_LEVEL.

Referenced by DoRePaint(), OnMagnify(), OnMouseMove(), OnMouseWheel(), OnPanGesture(), OnRotateGesture(), OnZoomGesture(), and request_start_moving_camera().

◆ DoRePaint()

◆ GetAnimationEnabled()

bool EDA_3D_CANVAS::GetAnimationEnabled ( ) const
inline

Definition at line 130 of file eda_3d_canvas.h.

References m_animation_enabled.

◆ GetBoardAdapter()

const BOARD_ADAPTER & EDA_3D_CANVAS::GetBoardAdapter ( ) const
inline

Get information used to display 3D board.

Definition at line 169 of file eda_3d_canvas.h.

References m_boardAdapter.

Referenced by NL_FOOTPRINT_PROPERTIES_PLUGIN_IMPL::GetModelExtents().

◆ GetCamera()

CAMERA * HIDPI_GL_3D_CANVAS::GetCamera ( )
inlineinherited

Get the canvas camera.

Definition at line 62 of file hidpi_gl_3D_canvas.h.

References m_camera.

Referenced by SPNAV_VIEWER_PLUGIN::SPNAV_VIEWER_PLUGIN().

◆ GetCurrentRender()

RENDER_3D_BASE * EDA_3D_CANVAS::GetCurrentRender ( ) const
inline
Returns
the current render ( a RENDER_3D_RAYTRACE_GL* or a RENDER_3D_OPENGL* render )

Definition at line 104 of file eda_3d_canvas.h.

References m_3d_render.

◆ GetMovingSpeedMultiplier()

int EDA_3D_CANVAS::GetMovingSpeedMultiplier ( ) const
inline

Definition at line 138 of file eda_3d_canvas.h.

References m_moving_speed_multiplier.

◆ GetNativePixelSize()

wxSize HIDPI_GL_CANVAS::GetNativePixelSize ( ) const
virtualinherited

◆ GetNativePosition()

wxPoint HIDPI_GL_CANVAS::GetNativePosition ( const wxPoint & aPoint) const
inherited

Convert the given point from client coordinates to native pixel coordinates.

Definition at line 54 of file hidpi_gl_canvas.cpp.

References GetScaleFactor().

Referenced by EDA_3D_MODEL_VIEWER::OnMouseMove(), HIDPI_GL_3D_CANVAS::OnMouseMoveCamera(), and HIDPI_GL_3D_CANVAS::OnMouseWheelCamera().

◆ GetProjectionMode()

int EDA_3D_CANVAS::GetProjectionMode ( ) const
inline

Definition at line 140 of file eda_3d_canvas.h.

References HIDPI_GL_3D_CANVAS::m_camera.

◆ getRayAtCurrentMousePosition()

RAY EDA_3D_CANVAS::getRayAtCurrentMousePosition ( )
private

◆ GetRender3dmousePivot()

bool EDA_3D_CANVAS::GetRender3dmousePivot ( )
inline

Get a value indicating whether to render the 3dmouse pivot.

Definition at line 186 of file eda_3d_canvas.h.

References m_render3dmousePivot.

◆ GetRenderPivot()

bool EDA_3D_CANVAS::GetRenderPivot ( )
inline

Get a value indicating whether to render the pivot.

Definition at line 174 of file eda_3d_canvas.h.

References m_render_pivot.

◆ GetScaleFactor()

◆ GetScreenshot()

void EDA_3D_CANVAS::GetScreenshot ( wxImage & aDstImage)

Request a screenshot and output it to the aDstImage.

Parameters
aDstImage- Screenshot destination image.

Definition at line 298 of file eda_3d_canvas.cpp.

References OglGetScreenshot().

◆ initializeOpenGL()

bool EDA_3D_CANVAS::initializeOpenGL ( )
private

◆ IsReloadRequestPending()

bool EDA_3D_CANVAS::IsReloadRequestPending ( ) const
inline

Query if there is a pending reload request.

Returns
true if it wants to reload, false if there is no reload pending.

Definition at line 93 of file eda_3d_canvas.h.

References m_3d_render.

◆ move_pivot_based_on_cur_mouse_position()

void EDA_3D_CANVAS::move_pivot_based_on_cur_mouse_position ( )
private

This function hits a ray to the board and start a movement.

Definition at line 1281 of file eda_3d_canvas.cpp.

References RAY::at(), BEZIER, getRayAtCurrentMousePosition(), m_boardAdapter, HIDPI_GL_3D_CANVAS::m_camera, and request_start_moving_camera().

Referenced by OnMiddleUp(), and SetView3D().

◆ OnCloseWindow()

void EDA_3D_CANVAS::OnCloseWindow ( wxCloseEvent & event)

Definition at line 205 of file eda_3d_canvas.cpp.

References releaseOpenGL().

Referenced by wxDEFINE_EVENT().

◆ OnEraseBackground()

void EDA_3D_CANVAS::OnEraseBackground ( wxEraseEvent & event)
private

Definition at line 826 of file eda_3d_canvas.cpp.

References m_logTrace.

Referenced by wxDEFINE_EVENT().

◆ OnEvent()

void EDA_3D_CANVAS::OnEvent ( wxEvent & aEvent)

Used to forward events to the canvas from popups, etc.

Definition at line 815 of file eda_3d_canvas.cpp.

References m_eventDispatcher, and Refresh().

Referenced by EDA_3D_CANVAS().

◆ OnLeftDown()

◆ OnLeftUp()

void EDA_3D_CANVAS::OnLeftUp ( wxMouseEvent & event)
private

◆ OnMagnify()

void EDA_3D_CANVAS::OnMagnify ( wxMouseEvent & event)
private

◆ OnMiddleDown()

void EDA_3D_CANVAS::OnMiddleDown ( wxMouseEvent & event)
private

Definition at line 1161 of file eda_3d_canvas.cpp.

References stop_editingTimeOut_Timer().

Referenced by wxDEFINE_EVENT().

◆ OnMiddleUp()

void EDA_3D_CANVAS::OnMiddleUp ( wxMouseEvent & event)
private

◆ OnMouseMove()

◆ OnMouseMoveCamera()

◆ OnMouseWheel()

void EDA_3D_CANVAS::OnMouseWheel ( wxMouseEvent & event)
private

◆ OnMouseWheelCamera()

void HIDPI_GL_3D_CANVAS::OnMouseWheelCamera ( wxMouseEvent & event,
bool aPan )
inherited

◆ OnPaint()

void EDA_3D_CANVAS::OnPaint ( wxPaintEvent & aEvent)
private

Definition at line 351 of file eda_3d_canvas.cpp.

References DoRePaint().

Referenced by wxDEFINE_EVENT().

◆ OnPanGesture()

void EDA_3D_CANVAS::OnPanGesture ( wxPanGestureEvent & event)
private

◆ OnRefreshRequest()

void EDA_3D_CANVAS::OnRefreshRequest ( wxEvent & aEvent)
private

Definition at line 1225 of file eda_3d_canvas.cpp.

References Refresh().

Referenced by wxDEFINE_EVENT().

◆ OnResize()

void EDA_3D_CANVAS::OnResize ( wxSizeEvent & event)
private

Definition at line 213 of file eda_3d_canvas.cpp.

References Request_refresh().

Referenced by wxDEFINE_EVENT().

◆ OnRightDown()

void EDA_3D_CANVAS::OnRightDown ( wxMouseEvent & event)
private

◆ OnRightUp()

void EDA_3D_CANVAS::OnRightUp ( wxMouseEvent & event)
private

◆ OnRotateGesture()

void EDA_3D_CANVAS::OnRotateGesture ( wxRotateGestureEvent & event)
private

◆ OnTimerTimeout_Editing()

void EDA_3D_CANVAS::OnTimerTimeout_Editing ( wxTimerEvent & event)
private

◆ OnTimerTimeout_Redraw()

void EDA_3D_CANVAS::OnTimerTimeout_Redraw ( wxTimerEvent & event)
private

Definition at line 1213 of file eda_3d_canvas.cpp.

References m_redraw_trigger_timer, and Request_refresh().

Referenced by EDA_3D_CANVAS().

◆ OnZoomGesture()

void EDA_3D_CANVAS::OnZoomGesture ( wxZoomGestureEvent & event)
private

◆ releaseOpenGL()

void EDA_3D_CANVAS::releaseOpenGL ( )
private

◆ ReloadRequest()

void EDA_3D_CANVAS::ReloadRequest ( BOARD * aBoard = nullptr,
S3D_CACHE * aCachePointer = nullptr )

Definition at line 304 of file eda_3d_canvas.cpp.

References m_3d_render, and m_boardAdapter.

◆ render3dmousePivot()

void EDA_3D_CANVAS::render3dmousePivot ( float aScale)
private

Render the 3dmouse pivot cursor.

Parameters
aScalescale to apply on the cursor.

Definition at line 123 of file eda_3d_canvas_pivot.cpp.

References m_3dmousePivotPos, and HIDPI_GL_3D_CANVAS::m_camera.

Referenced by DoRePaint().

◆ render_pivot()

void EDA_3D_CANVAS::render_pivot ( float t,
float aScale )
private

Render the pivot cursor.

Parameters
ttime between 0.0 and 1.0.
aScalescale to apply on the cursor.

Definition at line 76 of file eda_3d_canvas_pivot.cpp.

References HIDPI_GL_3D_CANVAS::m_camera, and pivot_render_triangles().

Referenced by DoRePaint().

◆ RenderEngineChanged()

void EDA_3D_CANVAS::RenderEngineChanged ( )

◆ RenderRaytracingRequest()

void EDA_3D_CANVAS::RenderRaytracingRequest ( )

Request to render the current view in Raytracing mode.

Definition at line 319 of file eda_3d_canvas.cpp.

References m_3d_render, m_3d_render_raytracing, m_render_raytracing_was_requested, and Request_refresh().

◆ RenderToFrameBuffer()

◆ Request_refresh()

void EDA_3D_CANVAS::Request_refresh ( bool aRedrawImmediately = true)

Schedule a refresh update of the canvas.

Parameters
aRedrawImmediatelytrue will request a redraw, false will schedule a redraw after a short timeout.

Definition at line 1231 of file eda_3d_canvas.cpp.

References ID_CUSTOM_EVENT_1, and m_redraw_trigger_timer.

Referenced by DoRePaint(), OnMagnify(), OnMouseMove(), OnMouseWheel(), OnPanGesture(), OnResize(), OnRotateGesture(), OnTimerTimeout_Editing(), OnTimerTimeout_Redraw(), OnZoomGesture(), RenderEngineChanged(), RenderRaytracingRequest(), and request_start_moving_camera().

◆ request_start_moving_camera()

void EDA_3D_CANVAS::request_start_moving_camera ( float aMovingSpeed = 2.0f,
bool aRenderPivot = true )
private

◆ restart_editingTimeOut_Timer()

void EDA_3D_CANVAS::restart_editingTimeOut_Timer ( )
private

Reset the editing timer.

Definition at line 1206 of file eda_3d_canvas.cpp.

References m_3d_render, and m_editing_timeout_timer.

Referenced by DoRePaint(), OnLeftUp(), OnMagnify(), OnMiddleUp(), OnMouseWheel(), OnRightUp(), and OnZoomGesture().

◆ Set3dmousePivotPos()

void EDA_3D_CANVAS::Set3dmousePivotPos ( const SFVEC3F & aPos)
inline

Set the position of the the 3dmouse pivot.

Parameters
aPosis the position of the 3dmouse rotation pivot

Definition at line 208 of file eda_3d_canvas.h.

References m_3dmousePivotPos.

◆ SetAnimationEnabled()

void EDA_3D_CANVAS::SetAnimationEnabled ( bool aEnable)
inline

Enable or disable camera animation when switching to a pre-defined view.

Definition at line 129 of file eda_3d_canvas.h.

References m_animation_enabled.

◆ SetEventDispatcher()

void EDA_3D_CANVAS::SetEventDispatcher ( TOOL_DISPATCHER * aEventDispatcher)

Set a dispatcher that processes events and forwards them to tools.

#DRAW_PANEL_GAL does not take over the ownership. Passing NULL disconnects all event handlers from the DRAW_PANEL_GAL and parent frame.

Parameters
aEventDispatcheris the object that will be used for dispatching events.

Definition at line 809 of file eda_3d_canvas.cpp.

References m_eventDispatcher.

◆ SetInfoBar()

void EDA_3D_CANVAS::SetInfoBar ( WX_INFOBAR * aInfoBar)
inline

Definition at line 81 of file eda_3d_canvas.h.

References m_parentInfoBar.

◆ SetMovingSpeedMultiplier()

void EDA_3D_CANVAS::SetMovingSpeedMultiplier ( int aMultiplier)
inline

Set the camera animation moving speed multiplier option.

Parameters
aMultiplierone of the possible integer options: [1,2,3,4,5].

Definition at line 137 of file eda_3d_canvas.h.

References m_moving_speed_multiplier.

◆ SetProjectionMode()

void EDA_3D_CANVAS::SetProjectionMode ( int aMode)
inline

Definition at line 141 of file eda_3d_canvas.h.

References HIDPI_GL_3D_CANVAS::m_camera.

◆ SetRender3dmousePivot()

void EDA_3D_CANVAS::SetRender3dmousePivot ( bool aValue)
inline

Set aValue indicating whether to render the 3dmouse pivot.

Parameters
aValuetrue will cause the pivot to be rendered on the next redraw.

Definition at line 197 of file eda_3d_canvas.h.

References m_render3dmousePivot.

◆ SetRenderPivot()

void EDA_3D_CANVAS::SetRenderPivot ( bool aValue)
inline

Set aValue indicating whether to render the pivot.

Parameters
aValuetrue will cause the pivot to be rendered on the next redraw.

Definition at line 181 of file eda_3d_canvas.h.

References m_render_pivot.

◆ SetStatusBar()

void EDA_3D_CANVAS::SetStatusBar ( wxStatusBar * aStatusBar)
inline

Definition at line 76 of file eda_3d_canvas.h.

References m_parentStatusBar.

◆ SetVcSettings()

void HIDPI_GL_CANVAS::SetVcSettings ( const KIGFX::VC_SETTINGS & aVcSettings)
inlineinherited

Definition at line 62 of file hidpi_gl_canvas.h.

References m_settings.

◆ SetView3D()

bool EDA_3D_CANVAS::SetView3D ( VIEW3D_TYPE aRequestedView)

◆ stop_editingTimeOut_Timer()

void EDA_3D_CANVAS::stop_editingTimeOut_Timer ( )
private

Stop the editing time so it will not timeout.

Definition at line 1200 of file eda_3d_canvas.cpp.

References m_editing_timeout_timer.

Referenced by OnLeftDown(), OnMiddleDown(), OnRightDown(), and request_start_moving_camera().

Member Data Documentation

◆ m_3d_render

◆ m_3d_render_opengl

RENDER_3D_OPENGL* EDA_3D_CANVAS::m_3d_render_opengl
private

◆ m_3d_render_raytracing

◆ m_3dmousePivotPos

SFVEC3F EDA_3D_CANVAS::m_3dmousePivotPos
private

Definition at line 337 of file eda_3d_canvas.h.

Referenced by render3dmousePivot(), and Set3dmousePivotPos().

◆ m_accelerator3DShapes

ACCELERATOR_3D* EDA_3D_CANVAS::m_accelerator3DShapes = nullptr
private

Definition at line 332 of file eda_3d_canvas.h.

Referenced by ~EDA_3D_CANVAS().

◆ m_animation_enabled

bool EDA_3D_CANVAS::m_animation_enabled = true
private

◆ m_boardAdapter

◆ m_camera

◆ m_camera_is_moving

◆ m_camera_moving_speed

float EDA_3D_CANVAS::m_camera_moving_speed = 1.0f
private

Definition at line 319 of file eda_3d_canvas.h.

Referenced by DoRePaint(), RenderToFrameBuffer(), and request_start_moving_camera().

◆ m_currentRollOverItem

BOARD_ITEM* EDA_3D_CANVAS::m_currentRollOverItem = nullptr
private

Definition at line 334 of file eda_3d_canvas.h.

Referenced by OnMouseMove().

◆ m_delta_move_step_factor

const float HIDPI_GL_3D_CANVAS::m_delta_move_step_factor = 0.7f
staticinherited

Definition at line 56 of file hidpi_gl_3D_canvas.h.

Referenced by OnMouseWheelCamera(), and EDA_3D_CANVAS::SetView3D().

◆ m_editing_timeout_timer

wxTimer EDA_3D_CANVAS::m_editing_timeout_timer
private

◆ m_eventDispatcher

TOOL_DISPATCHER* EDA_3D_CANVAS::m_eventDispatcher = nullptr
private

Definition at line 305 of file eda_3d_canvas.h.

Referenced by EDA_3D_CANVAS(), OnEvent(), and SetEventDispatcher().

◆ m_gestureLastAngle

double EDA_3D_CANVAS::m_gestureLastAngle = 0.0
private

Definition at line 341 of file eda_3d_canvas.h.

Referenced by OnRotateGesture().

◆ m_gestureLastZoomFactor

double EDA_3D_CANVAS::m_gestureLastZoomFactor = 1.0
private

Used to track gesture events.

Definition at line 340 of file eda_3d_canvas.h.

Referenced by OnZoomGesture().

◆ m_glRC

wxGLContext* EDA_3D_CANVAS::m_glRC = nullptr
private

Definition at line 309 of file eda_3d_canvas.h.

Referenced by DoRePaint(), releaseOpenGL(), and RenderToFrameBuffer().

◆ m_is_currently_painting

std::atomic_flag EDA_3D_CANVAS::m_is_currently_painting = ATOMIC_FLAG_INIT
private

Definition at line 316 of file eda_3d_canvas.h.

Referenced by DoRePaint(), EDA_3D_CANVAS(), and RenderToFrameBuffer().

◆ m_is_opengl_initialized

bool EDA_3D_CANVAS::m_is_opengl_initialized = false
private

Definition at line 310 of file eda_3d_canvas.h.

Referenced by DoRePaint(), initializeOpenGL(), and RenderToFrameBuffer().

◆ m_is_opengl_version_supported

bool EDA_3D_CANVAS::m_is_opengl_version_supported = true
private

Definition at line 311 of file eda_3d_canvas.h.

Referenced by DoRePaint(), initializeOpenGL(), and RenderToFrameBuffer().

◆ m_mouse_is_moving

◆ m_mouse_was_moved

◆ m_moving_speed_multiplier

int EDA_3D_CANVAS::m_moving_speed_multiplier = 3
private

◆ m_opengl_supports_raytracing

bool EDA_3D_CANVAS::m_opengl_supports_raytracing = true
private

Definition at line 329 of file eda_3d_canvas.h.

Referenced by DoRePaint(), initializeOpenGL(), and RenderToFrameBuffer().

◆ m_parentInfoBar

WX_INFOBAR* EDA_3D_CANVAS::m_parentInfoBar = nullptr
private

Definition at line 307 of file eda_3d_canvas.h.

Referenced by DoRePaint(), and SetInfoBar().

◆ m_parentStatusBar

wxStatusBar* EDA_3D_CANVAS::m_parentStatusBar = nullptr
private

Definition at line 306 of file eda_3d_canvas.h.

Referenced by DisplayStatus(), DoRePaint(), OnMouseMove(), and SetStatusBar().

◆ m_redraw_trigger_timer

wxTimer EDA_3D_CANVAS::m_redraw_trigger_timer
private

Definition at line 315 of file eda_3d_canvas.h.

Referenced by EDA_3D_CANVAS(), OnTimerTimeout_Redraw(), and Request_refresh().

◆ m_render3dmousePivot

bool EDA_3D_CANVAS::m_render3dmousePivot = false
private

Definition at line 336 of file eda_3d_canvas.h.

Referenced by DoRePaint(), GetRender3dmousePivot(), and SetRender3dmousePivot().

◆ m_render_pivot

bool EDA_3D_CANVAS::m_render_pivot = false
private

◆ m_render_raytracing_was_requested

bool EDA_3D_CANVAS::m_render_raytracing_was_requested = false
private

Definition at line 330 of file eda_3d_canvas.h.

Referenced by DoRePaint(), RenderRaytracingRequest(), and RenderToFrameBuffer().

◆ m_settings

KIGFX::VC_SETTINGS HIDPI_GL_CANVAS::m_settings
protectedinherited

< Current VIEW_CONTROLS settings.

Definition at line 66 of file hidpi_gl_canvas.h.

Referenced by HIDPI_GL_CANVAS(), HIDPI_GL_3D_CANVAS::OnMouseMoveCamera(), HIDPI_GL_3D_CANVAS::OnMouseWheelCamera(), and SetVcSettings().

◆ m_strtime_camera_movement

int64_t EDA_3D_CANVAS::m_strtime_camera_movement = 0
private

Definition at line 320 of file eda_3d_canvas.h.

Referenced by DoRePaint(), RenderToFrameBuffer(), and request_start_moving_camera().


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