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 ()
 
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.
 
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.
 
void SetScaleFactor (double aFactor)
 Set the canvas scale factor, probably for a hi-DPI display.
 
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 OnTimerTimeout_Editing (wxTimerEvent &event)
 
void OnCloseWindow (wxCloseEvent &event)
 
void OnResize (wxSizeEvent &event)
 
void OnTimerTimeout_Redraw (wxTimerEvent &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
 
wxStatusBar * m_parentStatusBar
 
WX_INFOBARm_parentInfoBar
 
wxGLContext * m_glRC
 
bool m_is_opengl_initialized
 
bool m_is_opengl_version_supported
 
wxTimer m_editing_timeout_timer
 
wxTimer m_redraw_trigger_timer
 
std::atomic_flag m_is_currently_painting
 
bool m_render_pivot
 
float m_camera_moving_speed
 
int64_t m_strtime_camera_movement
 
bool m_animation_enabled
 
int m_moving_speed_multiplier
 
BOARD_ADAPTERm_boardAdapter
 
RENDER_3D_BASEm_3d_render
 
RENDER_3D_RAYTRACE_GLm_3d_render_raytracing
 
RENDER_3D_OPENGLm_3d_render_opengl
 
bool m_opengl_supports_raytracing
 
bool m_render_raytracing_was_requested
 
ACCELERATOR_3Dm_accelerator3DShapes
 
BOARD_ITEMm_currentRollOverItem
 
bool m_render3dmousePivot = false
 
SFVEC3F m_3dmousePivotPos
 
double m_scale_factor
 The current scale factor (e.g.
 

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 48 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 84 of file eda_3d_canvas.cpp.

References OnEvent(), OnTimerTimeout_Editing(), and OnTimerTimeout_Redraw().

◆ ~EDA_3D_CANVAS()

EDA_3D_CANVAS::~EDA_3D_CANVAS ( )

Definition at line 165 of file eda_3d_canvas.cpp.

References m_accelerator3DShapes, m_logTrace, and releaseOpenGL().

Member Function Documentation

◆ DisplayStatus()

void EDA_3D_CANVAS::DisplayStatus ( )

◆ DoRePaint()

void EDA_3D_CANVAS::DoRePaint ( )

The actual function to repaint the canvas.

It is usually called by OnPaint() but because it does not use a wxPaintDC it can be called outside a wxPaintEvent

Definition at line 347 of file eda_3d_canvas.cpp.

References _, GL_CONTEXT_MANAGER::CreateCtx(), DisplayStatus(), EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::engine, INFOBAR_REPORTER::Finalize(), GL_CONTEXT_MANAGER::Get(), HIDPI_GL_CANVAS::GetNativePixelSize(), GetRunningMicroSecs(), CAMERA::GetZoom(), initializeOpenGL(), CAMERA::Interpolate(), RENDER_3D_BASE::IsReloadRequestPending(), GL_CONTEXT_MANAGER::LockCtx(), m_3d_render, m_3d_render_opengl, m_3d_render_raytracing, m_boardAdapter, HIDPI_GL_3D_CANVAS::m_camera, HIDPI_GL_3D_CANVAS::m_camera_is_moving, m_camera_moving_speed, BOARD_ADAPTER::m_Cfg, m_glRC, m_is_currently_painting, m_is_opengl_initialized, m_is_opengl_version_supported, m_logTrace, HIDPI_GL_3D_CANVAS::m_mouse_is_moving, HIDPI_GL_3D_CANVAS::m_mouse_was_moved, m_opengl_supports_raytracing, m_parentInfoBar, m_parentStatusBar, EDA_3D_VIEWER_SETTINGS::m_Render, m_render3dmousePivot, m_render_pivot, m_render_raytracing_was_requested, m_strtime_camera_movement, CAMERA::ParametersChanged(), RENDER_3D_BASE::Redraw(), RENDER_3D_RAYTRACE_BASE::Reload(), render3dmousePivot(), render_pivot(), STATUSBAR_REPORTER::Report(), INFOBAR_REPORTER::Report(), Request_refresh(), restart_editingTimeOut_Timer(), RPT_SEVERITY_ERROR, scale, CAMERA::SetCurWindowSize(), RENDER_3D_BASE::SetCurWindowSize(), and GL_CONTEXT_MANAGER::UnlockCtx().

Referenced by OnPaint(), and EDA_3D_VIEWER_FRAME::takeScreenshot().

◆ GetAnimationEnabled()

bool EDA_3D_CANVAS::GetAnimationEnabled ( ) const
inline

Definition at line 128 of file eda_3d_canvas.h.

References m_animation_enabled.

Referenced by EDA_3D_VIEWER_FRAME::SaveSettings().

◆ GetBoardAdapter()

const BOARD_ADAPTER & EDA_3D_CANVAS::GetBoardAdapter ( ) const
inline

Get information used to display 3D board.

Definition at line 167 of file eda_3d_canvas.h.

References m_boardAdapter.

Referenced by NL_3D_VIEWER_PLUGIN_IMPL::GetHitLookAt(), and NL_3D_VIEWER_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.

Referenced by NL_3D_VIEWER_PLUGIN_IMPL::NL_3D_VIEWER_PLUGIN_IMPL().

◆ 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 102 of file eda_3d_canvas.h.

References m_3d_render.

Referenced by APPEARANCE_CONTROLS_3D::OnLayerVisibilityChanged().

◆ GetMovingSpeedMultiplier()

int EDA_3D_CANVAS::GetMovingSpeedMultiplier ( ) const
inline

Definition at line 136 of file eda_3d_canvas.h.

References m_moving_speed_multiplier.

Referenced by EDA_3D_VIEWER_FRAME::SaveSettings().

◆ 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 55 of file hidpi_gl_canvas.cpp.

References HIDPI_GL_CANVAS::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

◆ 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 184 of file eda_3d_canvas.h.

References m_render3dmousePivot.

Referenced by NL_3D_VIEWER_PLUGIN_IMPL::GetPivotVisible().

◆ GetRenderPivot()

bool EDA_3D_CANVAS::GetRenderPivot ( )
inline

Get a value indicating whether to render the pivot.

Definition at line 172 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 288 of file eda_3d_canvas.cpp.

References OglGetScreenshot().

Referenced by EDA_3D_VIEWER_FRAME::takeScreenshot().

◆ initializeOpenGL()

bool EDA_3D_CANVAS::initializeOpenGL ( )
private
Returns
true if OpenGL initialization succeeded.

Definition at line 212 of file eda_3d_canvas.cpp.

References From_UTF8(), ID_DISABLE_RAY_TRACING, m_is_opengl_initialized, m_is_opengl_version_supported, m_logTrace, m_opengl_supports_raytracing, and GL_UTILS::SetSwapInterval().

Referenced by DoRePaint().

◆ 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 91 of file eda_3d_canvas.h.

References RENDER_3D_BASE::IsReloadRequestPending(), and m_3d_render.

Referenced by EDA_3D_VIEWER_FRAME::OnActivate().

◆ move_pivot_based_on_cur_mouse_position()

void EDA_3D_CANVAS::move_pivot_based_on_cur_mouse_position ( )
private

◆ OnCloseWindow()

void EDA_3D_CANVAS::OnCloseWindow ( wxCloseEvent &  event)
private

Definition at line 198 of file eda_3d_canvas.cpp.

References releaseOpenGL().

◆ OnEraseBackground()

void EDA_3D_CANVAS::OnEraseBackground ( wxEraseEvent &  event)
private

Definition at line 589 of file eda_3d_canvas.cpp.

References m_logTrace.

◆ OnEvent()

void EDA_3D_CANVAS::OnEvent ( wxEvent &  aEvent)

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

Definition at line 578 of file eda_3d_canvas.cpp.

References TOOL_DISPATCHER::DispatchWxEvent(), m_eventDispatcher, and Refresh().

Referenced by EDA_3D_CANVAS().

◆ OnLeftDown()

void EDA_3D_CANVAS::OnLeftDown ( wxMouseEvent &  event)
private

◆ 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 775 of file eda_3d_canvas.cpp.

References stop_editingTimeOut_Timer().

◆ OnMiddleUp()

void EDA_3D_CANVAS::OnMiddleUp ( wxMouseEvent &  event)
private

◆ OnMouseMove()

◆ OnMouseMoveCamera()

◆ OnMouseWheel()

◆ OnMouseWheelCamera()

◆ OnPaint()

void EDA_3D_CANVAS::OnPaint ( wxPaintEvent &  aEvent)
private

Definition at line 340 of file eda_3d_canvas.cpp.

References DoRePaint().

◆ OnRefreshRequest()

void EDA_3D_CANVAS::OnRefreshRequest ( wxEvent &  aEvent)
private

Definition at line 839 of file eda_3d_canvas.cpp.

References Refresh().

◆ OnResize()

void EDA_3D_CANVAS::OnResize ( wxSizeEvent &  event)
private

Definition at line 206 of file eda_3d_canvas.cpp.

References Request_refresh().

◆ 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 827 of file eda_3d_canvas.cpp.

References m_redraw_trigger_timer, and Request_refresh().

Referenced by EDA_3D_CANVAS().

◆ releaseOpenGL()

void EDA_3D_CANVAS::releaseOpenGL ( )
private

◆ ReloadRequest()

◆ 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 CAMERA::GetProjectionMatrix(), CAMERA::GetViewMatrix(), 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 CAMERA::GetLookAtPos_T1(), CAMERA::GetProjectionMatrix(), CAMERA::GetViewMatrix(), HIDPI_GL_3D_CANVAS::m_camera, and pivot_render_triangles().

Referenced by DoRePaint().

◆ RenderEngineChanged()

◆ RenderRaytracingRequest()

void EDA_3D_CANVAS::RenderRaytracingRequest ( )

◆ Request_refresh()

◆ 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 820 of file eda_3d_canvas.cpp.

References RENDER_3D_BASE::GetWaitForEditingTimeOut(), m_3d_render, and m_editing_timeout_timer.

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

◆ 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 206 of file eda_3d_canvas.h.

References m_3dmousePivotPos.

Referenced by NL_3D_VIEWER_PLUGIN_IMPL::SetPivotPosition().

◆ SetAnimationEnabled()

void EDA_3D_CANVAS::SetAnimationEnabled ( bool  aEnable)
inline

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

Definition at line 127 of file eda_3d_canvas.h.

References m_animation_enabled.

Referenced by EDA_3D_VIEWER_FRAME::applySettings(), and PANEL_PREVIEW_3D_MODEL::loadSettings().

◆ 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 572 of file eda_3d_canvas.cpp.

References m_eventDispatcher.

Referenced by PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), and EDA_3D_VIEWER_FRAME::~EDA_3D_VIEWER_FRAME().

◆ SetInfoBar()

void EDA_3D_CANVAS::SetInfoBar ( WX_INFOBAR aInfoBar)
inline

Definition at line 79 of file eda_3d_canvas.h.

References m_parentInfoBar.

Referenced by PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL().

◆ 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 135 of file eda_3d_canvas.h.

References m_moving_speed_multiplier.

Referenced by EDA_3D_VIEWER_FRAME::applySettings(), and PANEL_PREVIEW_3D_MODEL::loadSettings().

◆ SetProjectionMode()

void EDA_3D_CANVAS::SetProjectionMode ( int  aMode)
inline

◆ 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 195 of file eda_3d_canvas.h.

References m_render3dmousePivot.

Referenced by NL_3D_VIEWER_PLUGIN_IMPL::SetPivotVisible().

◆ 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 179 of file eda_3d_canvas.h.

References m_render_pivot.

◆ SetScaleFactor()

void HIDPI_GL_CANVAS::SetScaleFactor ( double  aFactor)
inherited

◆ SetStatusBar()

void EDA_3D_CANVAS::SetStatusBar ( wxStatusBar *  aStatusBar)
inline

Definition at line 74 of file eda_3d_canvas.h.

References m_parentStatusBar.

◆ SetVcSettings()

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

Definition at line 67 of file hidpi_gl_canvas.h.

Referenced by EDA_3D_VIEWER_FRAME::applySettings().

◆ SetView3D()

◆ stop_editingTimeOut_Timer()

void EDA_3D_CANVAS::stop_editingTimeOut_Timer ( )
private

Stop the editing time so it will not timeout.

Definition at line 814 of file eda_3d_canvas.cpp.

References m_editing_timeout_timer.

Referenced by OnLeftDown(), OnMiddleDown(), 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

Definition at line 315 of file eda_3d_canvas.h.

Referenced by DoRePaint(), OnMouseMove(), releaseOpenGL(), and RenderEngineChanged().

◆ m_3d_render_raytracing

RENDER_3D_RAYTRACE_GL* EDA_3D_CANVAS::m_3d_render_raytracing
private

◆ m_3dmousePivotPos

SFVEC3F EDA_3D_CANVAS::m_3dmousePivotPos
private

Definition at line 325 of file eda_3d_canvas.h.

Referenced by render3dmousePivot(), and Set3dmousePivotPos().

◆ m_accelerator3DShapes

ACCELERATOR_3D* EDA_3D_CANVAS::m_accelerator3DShapes
private

Definition at line 320 of file eda_3d_canvas.h.

Referenced by ~EDA_3D_CANVAS().

◆ m_animation_enabled

bool EDA_3D_CANVAS::m_animation_enabled
private

◆ m_boardAdapter

BOARD_ADAPTER& EDA_3D_CANVAS::m_boardAdapter
private

◆ m_camera

◆ m_camera_is_moving

◆ m_camera_moving_speed

float EDA_3D_CANVAS::m_camera_moving_speed
private

Definition at line 307 of file eda_3d_canvas.h.

Referenced by DoRePaint(), and request_start_moving_camera().

◆ m_currentRollOverItem

BOARD_ITEM* EDA_3D_CANVAS::m_currentRollOverItem
private

Definition at line 322 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 HIDPI_GL_3D_CANVAS::OnMouseWheelCamera(), and SetView3D().

◆ m_editing_timeout_timer

wxTimer EDA_3D_CANVAS::m_editing_timeout_timer
private

◆ m_eventDispatcher

TOOL_DISPATCHER* EDA_3D_CANVAS::m_eventDispatcher
private

Definition at line 293 of file eda_3d_canvas.h.

Referenced by OnEvent(), and SetEventDispatcher().

◆ m_glRC

wxGLContext* EDA_3D_CANVAS::m_glRC
private

Definition at line 297 of file eda_3d_canvas.h.

Referenced by DoRePaint(), and releaseOpenGL().

◆ m_is_currently_painting

std::atomic_flag EDA_3D_CANVAS::m_is_currently_painting
private

Definition at line 304 of file eda_3d_canvas.h.

Referenced by DoRePaint().

◆ m_is_opengl_initialized

bool EDA_3D_CANVAS::m_is_opengl_initialized
private

Definition at line 298 of file eda_3d_canvas.h.

Referenced by DoRePaint(), and initializeOpenGL().

◆ m_is_opengl_version_supported

bool EDA_3D_CANVAS::m_is_opengl_version_supported
private

Definition at line 299 of file eda_3d_canvas.h.

Referenced by DoRePaint(), and initializeOpenGL().

◆ m_mouse_is_moving

bool HIDPI_GL_3D_CANVAS::m_mouse_is_moving
inherited

◆ m_mouse_was_moved

◆ m_moving_speed_multiplier

int EDA_3D_CANVAS::m_moving_speed_multiplier
private

◆ m_opengl_supports_raytracing

bool EDA_3D_CANVAS::m_opengl_supports_raytracing
private

Definition at line 317 of file eda_3d_canvas.h.

Referenced by DoRePaint(), and initializeOpenGL().

◆ m_parentInfoBar

WX_INFOBAR* EDA_3D_CANVAS::m_parentInfoBar
private

Definition at line 295 of file eda_3d_canvas.h.

Referenced by DoRePaint(), and SetInfoBar().

◆ m_parentStatusBar

wxStatusBar* EDA_3D_CANVAS::m_parentStatusBar
private

Definition at line 294 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 303 of file eda_3d_canvas.h.

Referenced by OnTimerTimeout_Redraw(), and Request_refresh().

◆ m_render3dmousePivot

bool EDA_3D_CANVAS::m_render3dmousePivot = false
private

Definition at line 324 of file eda_3d_canvas.h.

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

◆ m_render_pivot

bool EDA_3D_CANVAS::m_render_pivot
private

◆ m_render_raytracing_was_requested

bool EDA_3D_CANVAS::m_render_raytracing_was_requested
private

Definition at line 318 of file eda_3d_canvas.h.

Referenced by DoRePaint(), and RenderRaytracingRequest().

◆ m_scale_factor

double HIDPI_GL_CANVAS::m_scale_factor
privateinherited

The current scale factor (e.g.

for hi-DPI displays)

Definition at line 77 of file hidpi_gl_canvas.h.

Referenced by HIDPI_GL_CANVAS::GetScaleFactor(), and HIDPI_GL_CANVAS::SetScaleFactor().

◆ m_settings

KIGFX::VC_SETTINGS HIDPI_GL_CANVAS::m_settings
protectedinherited

< Current VIEW_CONTROLS settings.

Definition at line 71 of file hidpi_gl_canvas.h.

Referenced by HIDPI_GL_3D_CANVAS::OnMouseWheelCamera().

◆ m_strtime_camera_movement

int64_t EDA_3D_CANVAS::m_strtime_camera_movement
private

Definition at line 308 of file eda_3d_canvas.h.

Referenced by DoRePaint(), and request_start_moving_camera().


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