From e20e45fa54b25611bf242439085ceb8ca2649b2e Mon Sep 17 00:00:00 2001 From: Emery Burhan Date: Fri, 24 Apr 2020 23:58:50 +0000 Subject: [PATCH] 3d_viewer: Added Animation Speed option ADDED: Option to set the speed of and enable/disable 3d viewer animations --- 3d-viewer/3d_canvas/eda_3d_canvas.cpp | 15 + 3d-viewer/3d_canvas/eda_3d_canvas.h | 26 + 3d-viewer/3d_viewer/3d_viewer_settings.cpp | 6 + 3d-viewer/3d_viewer/3d_viewer_settings.h | 7 + .../dialogs/dialog_3D_view_option.cpp | 21 +- .../dialogs/dialog_3D_view_option_base.cpp | 65 +- .../dialogs/dialog_3D_view_option_base.fbp | 7520 +++++++++-------- .../dialogs/dialog_3D_view_option_base.h | 8 +- 3d-viewer/3d_viewer/eda_3d_viewer.cpp | 11 +- 3d-viewer/3d_viewer/eda_3d_viewer.h | 2 + 10 files changed, 4030 insertions(+), 3651 deletions(-) diff --git a/3d-viewer/3d_canvas/eda_3d_canvas.cpp b/3d-viewer/3d_canvas/eda_3d_canvas.cpp index 15e9534b56..a52cf616ad 100644 --- a/3d-viewer/3d_canvas/eda_3d_canvas.cpp +++ b/3d-viewer/3d_canvas/eda_3d_canvas.cpp @@ -117,6 +117,8 @@ EDA_3D_CANVAS::EDA_3D_CANVAS( wxWindow* aParent, const int* aAttribList, BOARD* m_camera_is_moving = false; m_render_pivot = false; m_camera_moving_speed = 1.0f; + m_animation_enabled = true; + m_moving_speed_multiplier = 3; m_strtime_camera_movement = 0; @@ -756,6 +758,19 @@ void EDA_3D_CANVAS::request_start_moving_camera( float aMovingSpeed, bool aRende { wxASSERT( aMovingSpeed > FLT_EPSILON ); + // Fast forward the animation if the animation is disabled + if( !m_animation_enabled ) + { + m_camera.Interpolate( 1.0f ); + DisplayStatus(); + Request_refresh(); + return; + } + + // Map speed multipler option to actual multiplier value + // [1,2,3,4,5] -> [0.25, 0.5, 1, 2, 4] + aMovingSpeed *= ( 1 << m_moving_speed_multiplier ) / 8.0f; + m_render_pivot = aRenderPivot; m_camera_moving_speed = aMovingSpeed; diff --git a/3d-viewer/3d_canvas/eda_3d_canvas.h b/3d-viewer/3d_canvas/eda_3d_canvas.h index 9936f5ce64..9901888874 100644 --- a/3d-viewer/3d_canvas/eda_3d_canvas.h +++ b/3d-viewer/3d_canvas/eda_3d_canvas.h @@ -102,6 +102,30 @@ class EDA_3D_CANVAS : public HIDPI_GL_CANVAS */ bool SetView3D( int aKeycode ); + /** + * @brief AnimationEnabledSet - Enable or disable camera animation when switching to a pre-defined view + * @param aAnimationEnabled: Animation enabled state to set + */ + void AnimationEnabledSet( bool aAnimationEnabled ) { m_animation_enabled = aAnimationEnabled; } + + /** + * @brief AnimationEnabledGet - Returns whether camera animation is enabled when switching to a pre-defined view + * @return true if animation is enabled + */ + bool AnimationEnabledGet() const { return m_animation_enabled; } + + /** + * @brief MovingSpeedMultiplierSet - Set the camera animation moving speed multiplier option + * @param aMovingSpeedMultiplier: One of the possible integer options: [1,2,3,4,5] + */ + void MovingSpeedMultiplierSet( int aMovingSpeedMultiplier ) { m_moving_speed_multiplier = aMovingSpeedMultiplier; } + + /** + * @brief MovingSpeedMultiplierGet - Return the current camera animation moving speed multiplier option + * @return current moving speed multiplier option, one of [1,2,3,4,5] + */ + int MovingSpeedMultiplierGet() const { return m_moving_speed_multiplier; } + /** * @brief RenderEngineChanged - Notify that the render engine was changed */ @@ -208,6 +232,8 @@ private: bool m_render_pivot; // Render the pivot while camera moving float m_camera_moving_speed; // 1.0f will be 1:1 unsigned m_strtime_camera_movement; // Ticktime of camera movement start + bool m_animation_enabled; // Camera animation enabled + int m_moving_speed_multiplier; // Camera animation speed multiplier option BOARD_ADAPTER& m_boardAdapter; // Pre-computed 3D info and settings CCAMERA& m_camera; diff --git a/3d-viewer/3d_viewer/3d_viewer_settings.cpp b/3d-viewer/3d_viewer/3d_viewer_settings.cpp index 9337bded05..00c5189389 100644 --- a/3d-viewer/3d_viewer/3d_viewer_settings.cpp +++ b/3d-viewer/3d_viewer/3d_viewer_settings.cpp @@ -110,6 +110,12 @@ EDA_3D_VIEWER_SETTINGS::EDA_3D_VIEWER_SETTINGS() : m_params.emplace_back( new PARAM( "render.show_zones", &m_Render.show_zones, true ) ); m_params.emplace_back( new PARAM( "render.subtract_mask_from_silk", &m_Render.subtract_mask_from_silk, false ) ); + + m_params.emplace_back( new PARAM( "camera.animation_enabled", + &m_Camera.animation_enabled, true ) ); + m_params.emplace_back( new PARAM( "camera.moving_speed_multiplier", + &m_Camera.moving_speed_multiplier, 3 ) ); + } diff --git a/3d-viewer/3d_viewer/3d_viewer_settings.h b/3d-viewer/3d_viewer/3d_viewer_settings.h index dee16d38fa..8c1d2c2d32 100644 --- a/3d-viewer/3d_viewer/3d_viewer_settings.h +++ b/3d-viewer/3d_viewer/3d_viewer_settings.h @@ -64,6 +64,12 @@ public: bool subtract_mask_from_silk; }; + struct CAMERA_SETTINGS + { + bool animation_enabled; + int moving_speed_multiplier; + }; + EDA_3D_VIEWER_SETTINGS(); virtual ~EDA_3D_VIEWER_SETTINGS() {} @@ -71,6 +77,7 @@ public: virtual bool MigrateFromLegacy( wxConfigBase* aLegacyConfig ) override; RENDER_SETTINGS m_Render; + CAMERA_SETTINGS m_Camera; protected: diff --git a/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option.cpp b/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option.cpp index 8abdfd71a1..c011d0e8c1 100644 --- a/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option.cpp +++ b/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option.cpp @@ -34,9 +34,12 @@ public: private: BOARD_ADAPTER& m_settings; + EDA_3D_CANVAS* m_canvas; void initDialog(); + void OnCheckEnableAnimation( wxCommandEvent& WXUNUSED( event ) ) override; + /// Automatically called when clicking on the OK button bool TransferDataFromWindow() override; @@ -58,7 +61,8 @@ void EDA_3D_VIEWER::Install3DViewOptionDialog( wxCommandEvent& event ) DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS( EDA_3D_VIEWER* aParent ) : DIALOG_3D_VIEW_OPTIONS_BASE( aParent ), - m_settings( aParent->GetAdapter() ) + m_settings( aParent->GetAdapter() ), + m_canvas( aParent->GetCanvas() ) { initDialog(); @@ -88,6 +92,11 @@ void DIALOG_3D_VIEW_OPTIONS::initDialog() m_bitmapSubtractMaskFromSilk->SetBitmap( KiBitmap( use_3D_copper_thickness_xpm ) ); } +void DIALOG_3D_VIEW_OPTIONS::OnCheckEnableAnimation( wxCommandEvent& event ) +{ + m_staticAnimationSpeed->Enable( m_checkBoxEnableAnimation->GetValue() ); + m_sliderAnimationSpeed->Enable( m_checkBoxEnableAnimation->GetValue() ); +} bool DIALOG_3D_VIEW_OPTIONS::TransferDataToWindow() { @@ -126,6 +135,12 @@ bool DIALOG_3D_VIEW_OPTIONS::TransferDataToWindow() m_checkBoxRaytracing_antiAliasing->SetValue( m_settings.GetFlag( FL_RENDER_RAYTRACING_ANTI_ALIASING ) ); m_checkBoxRaytracing_proceduralTextures->SetValue( m_settings.GetFlag( FL_RENDER_RAYTRACING_PROCEDURAL_TEXTURES ) ); + // Camera Options + m_checkBoxEnableAnimation->SetValue( m_canvas->AnimationEnabledGet() ); + m_sliderAnimationSpeed->SetValue( m_canvas->MovingSpeedMultiplierGet() ); + m_staticAnimationSpeed->Enable( m_canvas->AnimationEnabledGet() ); + m_sliderAnimationSpeed->Enable( m_canvas->AnimationEnabledGet() ); + return true; } @@ -171,5 +186,9 @@ bool DIALOG_3D_VIEW_OPTIONS::TransferDataFromWindow() m_settings.SetFlag( FL_RENDER_RAYTRACING_ANTI_ALIASING, m_checkBoxRaytracing_antiAliasing->GetValue() ); m_settings.SetFlag( FL_RENDER_RAYTRACING_PROCEDURAL_TEXTURES, m_checkBoxRaytracing_proceduralTextures->GetValue() ); + // Camera Options + m_canvas->AnimationEnabledSet( m_checkBoxEnableAnimation->GetValue() ); + m_canvas->MovingSpeedMultiplierSet( m_sliderAnimationSpeed->GetValue() ); + return true; } diff --git a/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.cpp b/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.cpp index 7c01b6f138..f366c67692 100644 --- a/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.cpp +++ b/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.cpp @@ -25,7 +25,7 @@ DIALOG_3D_VIEW_OPTIONS_BASE::DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWi bSizeLeft = new wxBoxSizer( wxVERTICAL ); wxStaticBoxSizer* sbSizer1; - sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("Render options") ), wxVERTICAL ); + sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("Render Options") ), wxVERTICAL ); wxFlexGridSizer* fgSizerRenderOptions; fgSizerRenderOptions = new wxFlexGridSizer( 0, 3, 0, 0 ); @@ -80,10 +80,10 @@ DIALOG_3D_VIEW_OPTIONS_BASE::DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWi sbSizer1->Add( fgSizerRenderOptions, 0, wxEXPAND|wxBOTTOM, 5 ); - bSizeLeft->Add( sbSizer1, 1, wxALL|wxEXPAND, 5 ); + bSizeLeft->Add( sbSizer1, 0, wxALL|wxEXPAND, 5 ); wxStaticBoxSizer* sbSizer2; - sbSizer2 = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("3D model visibility") ), wxVERTICAL ); + sbSizer2 = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("3D Model Visibility") ), wxVERTICAL ); wxFlexGridSizer* fgSizer3DVisibility; fgSizer3DVisibility = new wxFlexGridSizer( 0, 3, 0, 0 ); @@ -133,7 +133,7 @@ DIALOG_3D_VIEW_OPTIONS_BASE::DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWi bSizerRight = new wxBoxSizer( wxVERTICAL ); wxStaticBoxSizer* sbSizer3; - sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("Board layers") ), wxVERTICAL ); + sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("Board Layers") ), wxVERTICAL ); wxFlexGridSizer* fgSizerShowBrdLayersOpts; fgSizerShowBrdLayersOpts = new wxFlexGridSizer( 0, 3, 0, 0 ); @@ -180,10 +180,10 @@ DIALOG_3D_VIEW_OPTIONS_BASE::DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWi sbSizer3->Add( fgSizerShowBrdLayersOpts, 0, wxEXPAND, 5 ); - bSizerRight->Add( sbSizer3, 1, wxALL|wxEXPAND, 5 ); + bSizerRight->Add( sbSizer3, 0, wxALL|wxEXPAND, 5 ); wxStaticBoxSizer* sbSizer4; - sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("User layers (not shown in realistic mode)") ), wxVERTICAL ); + sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("User Layers (not shown in realistic mode)") ), wxVERTICAL ); wxFlexGridSizer* fgSizerShowUserLayersOpts; fgSizerShowUserLayersOpts = new wxFlexGridSizer( 0, 3, 0, 0 ); @@ -212,10 +212,46 @@ DIALOG_3D_VIEW_OPTIONS_BASE::DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWi sbSizer4->Add( fgSizerShowUserLayersOpts, 0, wxEXPAND, 5 ); - bSizerRight->Add( sbSizer4, 1, wxALL|wxEXPAND, 5 ); + bSizerRight->Add( sbSizer4, 0, wxALL|wxEXPAND, 5 ); + + wxStaticBoxSizer* sbSizer41; + sbSizer41 = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("Camera Options") ), wxVERTICAL ); + + wxFlexGridSizer* fgSizerCameraOpts; + fgSizerCameraOpts = new wxFlexGridSizer( 0, 2, 0, 0 ); + fgSizerCameraOpts->SetFlexibleDirection( wxBOTH ); + fgSizerCameraOpts->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - bSizerDisplayOptions->Add( bSizerRight, 1, wxALL|wxEXPAND, 5 ); + fgSizerCameraOpts->Add( 0, 0, 0, wxRIGHT|wxLEFT, 10 ); + + m_checkBoxEnableAnimation = new wxCheckBox( sbSizer41->GetStaticBox(), wxID_ANY, _("Enable animation"), wxDefaultPosition, wxDefaultSize, 0 ); + fgSizerCameraOpts->Add( m_checkBoxEnableAnimation, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + + + fgSizerCameraOpts->Add( 0, 0, 0, wxRIGHT|wxLEFT, 10 ); + + wxBoxSizer* bSizer9; + bSizer9 = new wxBoxSizer( wxHORIZONTAL ); + + m_staticAnimationSpeed = new wxStaticText( sbSizer41->GetStaticBox(), wxID_ANY, _("Animation speed:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticAnimationSpeed->Wrap( -1 ); + bSizer9->Add( m_staticAnimationSpeed, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + + m_sliderAnimationSpeed = new wxSlider( sbSizer41->GetStaticBox(), wxID_ANY, 3, 1, 5, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_MIN_MAX_LABELS ); + bSizer9->Add( m_sliderAnimationSpeed, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + + + fgSizerCameraOpts->Add( bSizer9, 1, wxEXPAND, 5 ); + + + sbSizer41->Add( fgSizerCameraOpts, 0, wxEXPAND, 5 ); + + + bSizerRight->Add( sbSizer41, 1, wxALL|wxEXPAND, 5 ); + + + bSizerDisplayOptions->Add( bSizerRight, 0, wxALL|wxEXPAND, 5 ); m_panelDspOpt->SetSizer( bSizerDisplayOptions ); @@ -230,7 +266,7 @@ DIALOG_3D_VIEW_OPTIONS_BASE::DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWi bSizer7 = new wxBoxSizer( wxVERTICAL ); wxStaticBoxSizer* sbSizerOpenGLRenderoptions; - sbSizerOpenGLRenderoptions = new wxStaticBoxSizer( new wxStaticBox( m_panelOpenGL, wxID_ANY, _("OpenGL Render options") ), wxVERTICAL ); + sbSizerOpenGLRenderoptions = new wxStaticBoxSizer( new wxStaticBox( m_panelOpenGL, wxID_ANY, _("OpenGL Render Options") ), wxVERTICAL ); wxFlexGridSizer* fgSizer6; fgSizer6 = new wxFlexGridSizer( 2, 3, 0, 0 ); @@ -340,7 +376,7 @@ DIALOG_3D_VIEW_OPTIONS_BASE::DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWi bSizer8 = new wxBoxSizer( wxVERTICAL ); wxStaticBoxSizer* sbSizerRaytracingRenderOptions; - sbSizerRaytracingRenderOptions = new wxStaticBoxSizer( new wxStaticBox( m_panelRaytracing, wxID_ANY, _("Raytracing Render options") ), wxVERTICAL ); + sbSizerRaytracingRenderOptions = new wxStaticBoxSizer( new wxStaticBox( m_panelRaytracing, wxID_ANY, _("Raytracing Render Options") ), wxVERTICAL ); wxFlexGridSizer* fgSizer9; fgSizer9 = new wxFlexGridSizer( 4, 4, 0, 0 ); @@ -350,21 +386,21 @@ DIALOG_3D_VIEW_OPTIONS_BASE::DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWi fgSizer9->Add( 0, 0, 1, wxLEFT|wxRIGHT, 5 ); - m_checkBoxRaytracing_renderShadows = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Render Shadows"), wxDefaultPosition, wxDefaultSize, 0 ); + m_checkBoxRaytracing_renderShadows = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Shadows"), wxDefaultPosition, wxDefaultSize, 0 ); m_checkBoxRaytracing_renderShadows->SetValue(true); fgSizer9->Add( m_checkBoxRaytracing_renderShadows, 0, wxALL, 5 ); fgSizer9->Add( 0, 0, 1, wxLEFT|wxRIGHT, 5 ); - m_checkBoxRaytracing_proceduralTextures = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Procedural Textures"), wxDefaultPosition, wxDefaultSize, 0 ); + m_checkBoxRaytracing_proceduralTextures = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Procedural textures"), wxDefaultPosition, wxDefaultSize, 0 ); m_checkBoxRaytracing_proceduralTextures->SetValue(true); fgSizer9->Add( m_checkBoxRaytracing_proceduralTextures, 0, wxALL, 5 ); fgSizer9->Add( 0, 0, 1, wxLEFT|wxRIGHT, 5 ); - m_checkBoxRaytracing_addFloor = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Add Floor"), wxDefaultPosition, wxDefaultSize, 0 ); + m_checkBoxRaytracing_addFloor = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Add floor"), wxDefaultPosition, wxDefaultSize, 0 ); m_checkBoxRaytracing_addFloor->SetValue(true); fgSizer9->Add( m_checkBoxRaytracing_addFloor, 0, wxALL, 5 ); @@ -428,17 +464,18 @@ DIALOG_3D_VIEW_OPTIONS_BASE::DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWi this->SetSizer( bSizerMain ); this->Layout(); - bSizerMain->Fit( this ); this->Centre( wxBOTH ); // Connect Events m_checkBoxRealisticMode->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_3D_VIEW_OPTIONS_BASE::OnCheckRealisticMode ), NULL, this ); + m_checkBoxEnableAnimation->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_3D_VIEW_OPTIONS_BASE::OnCheckEnableAnimation ), NULL, this ); } DIALOG_3D_VIEW_OPTIONS_BASE::~DIALOG_3D_VIEW_OPTIONS_BASE() { // Disconnect Events m_checkBoxRealisticMode->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_3D_VIEW_OPTIONS_BASE::OnCheckRealisticMode ), NULL, this ); + m_checkBoxEnableAnimation->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_3D_VIEW_OPTIONS_BASE::OnCheckEnableAnimation ), NULL, this ); } diff --git a/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.fbp b/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.fbp index b29bd380e8..54ead22eee 100644 --- a/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.fbp +++ b/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.fbp @@ -1,3633 +1,3887 @@ - - - - - - C++ - 1 - source_name - 0 - 0 - res - UTF-8 - connect - dialog_3D_view_option_base - 1000 - none - - 1 - dialog_3D_view_option_base - - . - - 1 - 1 - 1 - 1 - UI - 0 - 0 - - 0 - wxAUI_MGR_DEFAULT - - wxBOTH - - 1 - 1 - impl_virtual - - - - 0 - wxID_ANY - - - DIALOG_3D_VIEW_OPTIONS_BASE - - -1,-1 - wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER - DIALOG_SHIM; dialog_shim.h - 3D Display Options - - - - - - - bSizerMain - wxVERTICAL - none - - 5 - wxALL|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_notebook - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - - - Display Options - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_panelDspOpt - 1 - - - protected - 1 - - Resizable - 1 - - ; ; forward_declare - 0 - - - - wxTAB_TRAVERSAL - - - bSizerDisplayOptions - wxHORIZONTAL - none - - 5 - wxALL|wxEXPAND - 1 - - - bSizeLeft - wxVERTICAL - none - - 5 - wxALL|wxEXPAND - 1 - - wxID_ANY - Render options - - sbSizer1 - wxVERTICAL - 1 - none - - 5 - wxEXPAND|wxBOTTOM - 0 - - 3 - wxBOTH - - - 0 - - fgSizerRenderOptions - wxFLEX_GROWMODE_SPECIFIED - none - 0 - 0 - - 10 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapRealisticMode - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Realistic mode - - 0 - - - 0 - - 1 - m_checkBoxRealisticMode - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnCheckRealisticMode - - - - 10 - wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - Load From File; ; [-1; -1] - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapBoardBody - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show board body - - 0 - - - 0 - - 1 - m_checkBoxBoardBody - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 10 - wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapAreas - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show filled areas in zones - - 0 - - - 0 - - 1 - m_checkBoxAreas - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 10 - wxALIGN_LEFT|wxALIGN_RIGHT - 0 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapSubtractMaskFromSilk - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Subtract soldermask from silkscreen - - 0 - - - 0 - - 1 - m_checkBoxSubtractMaskFromSilk - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxEXPAND - 1 - - 2 - wxBOTH - - - 0 - - fgSizer3 - wxFLEX_GROWMODE_SPECIFIED - none - 0 - 0 - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - wxID_ANY - 3D model visibility - - sbSizer2 - wxVERTICAL - 1 - none - - 5 - wxEXPAND - 0 - - 3 - wxBOTH - - - 0 - - fgSizer3DVisibility - wxFLEX_GROWMODE_SPECIFIED - none - 0 - 0 - - 10 - wxRIGHT|wxLEFT - 1 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmap3DshapesTH - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show 3D through hole models - - 0 - - - 0 - - 1 - m_checkBox3DshapesTH - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 10 - wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmap3DshapesSMD - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show 3D SMD models - - 0 - - - 0 - - 1 - m_checkBox3DshapesSMD - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 10 - wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmap3DshapesVirtual - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show 3D virtual models - - 0 - - - 0 - - 1 - m_checkBox3DshapesVirtual - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - 5 - wxEXPAND | wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_staticlineVertical - 1 - - - protected - 1 - - Resizable - 1 - - wxLI_VERTICAL - - 0 - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - - bSizerRight - wxVERTICAL - none - - 5 - wxALL|wxEXPAND - 1 - - wxID_ANY - Board layers - - sbSizer3 - wxVERTICAL - 1 - none - - 5 - wxEXPAND - 0 - - 3 - wxBOTH - - - 0 - - fgSizerShowBrdLayersOpts - wxFLEX_GROWMODE_SPECIFIED - none - 0 - 0 - - 10 - wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapSilkscreen - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show silkscreen layers - - 0 - - - 0 - - 1 - m_checkBoxSilkscreen - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 10 - wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapSolderMask - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show solder mask layers - - 0 - - - 0 - - 1 - m_checkBoxSolderMask - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 10 - wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapSolderPaste - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show solder paste layers - - 0 - - - 0 - - 1 - m_checkBoxSolderpaste - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 10 - wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapAdhesive - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show adhesive layers - - 0 - - - 0 - - 1 - m_checkBoxAdhesive - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - wxID_ANY - User layers (not shown in realistic mode) - - sbSizer4 - wxVERTICAL - 1 - none - - 5 - wxEXPAND - 0 - - 3 - wxBOTH - - - 0 - - fgSizerShowUserLayersOpts - wxFLEX_GROWMODE_SPECIFIED - none - 0 - 0 - - 10 - wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapComments - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show comments and drawings layers - - 0 - - - 0 - - 1 - m_checkBoxComments - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 10 - wxRIGHT|wxLEFT - 0 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapECO - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show ECO layers - - 0 - - - 0 - - 1 - m_checkBoxECO - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - OpenGL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_panelOpenGL - 1 - - - protected - 1 - - Resizable - 1 - - ; ; forward_declare - 0 - - - - wxTAB_TRAVERSAL - - - bSizerOpenGL - wxHORIZONTAL - none - - 5 - wxALL|wxEXPAND - 1 - - - bSizer7 - wxVERTICAL - none - - 5 - wxALL|wxEXPAND - 1 - - wxID_ANY - OpenGL Render options - - sbSizerOpenGLRenderoptions - wxVERTICAL - 1 - none - - 5 - wxALL|wxEXPAND - 1 - - 3 - wxBOTH - - - 0 - - fgSizer6 - wxFLEX_GROWMODE_SPECIFIED - none - 2 - 0 - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapBoundingBoxes - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show model bounding boxes - - 0 - - - 0 - - 1 - m_checkBoxBoundingBoxes - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - Load From File; ; [-1; -1] - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_bitmapCuThickness - 1 - - - protected - 1 - - Resizable - 1 - - - 0 - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show copper thickness - - 0 - - - 0 - - 1 - m_checkBoxCuThickness - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - wxID_ANY - Anti-aliasing - - sbSizerAntialiasing - wxVERTICAL - 1 - none - - 5 - wxALL|wxEXPAND - 1 - - 2 - wxBOTH - - - 0 - - fgSizer7 - wxFLEX_GROWMODE_SPECIFIED - none - 1 - 0 - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "Disabled" "2x" "4x" "8x" "" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_choiceAntiAliasing - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; ; forward_declare - 0 - 3D-Viewer must be closed and re-opened to apply this setting - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - wxID_ANY - While Moving - - sbSizerWhileMoving - wxVERTICAL - 1 - none - - 5 - wxALL|wxEXPAND - 1 - - 4 - wxBOTH - - - 0 - - fgSizer8 - wxFLEX_GROWMODE_SPECIFIED - none - 2 - 0 - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Disable anti-aliasing - - 0 - - - 0 - - 1 - m_checkBoxDisableAAMove - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Disable thickness - - 0 - - - 0 - - 1 - m_checkBoxDisableMoveThickness - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Disable vias - - 0 - - - 0 - - 1 - m_checkBoxDisableMoveVias - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Disable holes - - 0 - - - 0 - - 1 - m_checkBoxDisableMoveHoles - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - Raytracing - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_panelRaytracing - 1 - - - protected - 1 - - Resizable - 1 - - ; ; forward_declare - 0 - - - - wxTAB_TRAVERSAL - - - bSizerRaytracing - wxVERTICAL - none - - 5 - wxALL|wxEXPAND - 1 - - - bSizer8 - wxVERTICAL - none - - 5 - wxALL|wxEXPAND - 1 - - wxID_ANY - Raytracing Render options - - sbSizerRaytracingRenderOptions - wxVERTICAL - 1 - none - - 5 - wxALL|wxEXPAND - 1 - - 4 - wxBOTH - - - 0 - - fgSizer9 - wxFLEX_GROWMODE_SPECIFIED - none - 4 - 0 - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Render Shadows - - 0 - - - 0 - - 1 - m_checkBoxRaytracing_renderShadows - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Procedural Textures - - 0 - - - 0 - - 1 - m_checkBoxRaytracing_proceduralTextures - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Add Floor - - 0 - - - 0 - - 1 - m_checkBoxRaytracing_addFloor - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Refractions - - 0 - - - 0 - - 1 - m_checkBoxRaytracing_showRefractions - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Reflections - - 0 - - - 0 - - 1 - m_checkBoxRaytracing_showReflections - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Anti-aliasing - - 0 - - - 0 - - 1 - m_checkBoxRaytracing_antiAliasing - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxLEFT|wxRIGHT - 1 - - 0 - protected - 0 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Post-processing - - 0 - - - 0 - - 1 - m_checkBoxRaytracing_postProcessing - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - - 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_staticlineH - 1 - - - protected - 1 - - Resizable - 1 - - wxLI_HORIZONTAL - - 0 - - - - - - - - 5 - wxALIGN_RIGHT|wxALL - 0 - - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - - m_sdbSizer - protected - - - - - - + + + + + + C++ + 1 + source_name + 0 + 0 + res + UTF-8 + connect + dialog_3D_view_option_base + 1000 + none + + 1 + dialog_3D_view_option_base + + . + + 1 + 1 + 1 + 1 + UI + 0 + 0 + + 0 + wxAUI_MGR_DEFAULT + + wxBOTH + + 1 + 1 + impl_virtual + + + + 0 + wxID_ANY + + + DIALOG_3D_VIEW_OPTIONS_BASE + + 659,475 + wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER + DIALOG_SHIM; dialog_shim.h + 3D Display Options + + + + + + + bSizerMain + wxVERTICAL + none + + 5 + wxALL|wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_notebook + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + + + Display Options + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_panelDspOpt + 1 + + + protected + 1 + + Resizable + 1 + + ; ; forward_declare + 0 + + + + wxTAB_TRAVERSAL + + + bSizerDisplayOptions + wxHORIZONTAL + none + + 5 + wxALL|wxEXPAND + 1 + + + bSizeLeft + wxVERTICAL + none + + 5 + wxALL|wxEXPAND + 0 + + wxID_ANY + Render Options + + sbSizer1 + wxVERTICAL + 1 + none + + 5 + wxEXPAND|wxBOTTOM + 0 + + 3 + wxBOTH + + + 0 + + fgSizerRenderOptions + wxFLEX_GROWMODE_SPECIFIED + none + 0 + 0 + + 10 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapRealisticMode + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Realistic mode + + 0 + + + 0 + + 1 + m_checkBoxRealisticMode + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnCheckRealisticMode + + + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + Load From File; ; [-1; -1] + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapBoardBody + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show board body + + 0 + + + 0 + + 1 + m_checkBoxBoardBody + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapAreas + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show filled areas in zones + + 0 + + + 0 + + 1 + m_checkBoxAreas + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 10 + wxALIGN_LEFT|wxALIGN_RIGHT + 0 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapSubtractMaskFromSilk + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Subtract soldermask from silkscreen + + 0 + + + 0 + + 1 + m_checkBoxSubtractMaskFromSilk + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxEXPAND + 1 + + 2 + wxBOTH + + + 0 + + fgSizer3 + wxFLEX_GROWMODE_SPECIFIED + none + 0 + 0 + + + + + + + + 5 + wxALL|wxEXPAND + 1 + + wxID_ANY + 3D Model Visibility + + sbSizer2 + wxVERTICAL + 1 + none + + 5 + wxEXPAND + 0 + + 3 + wxBOTH + + + 0 + + fgSizer3DVisibility + wxFLEX_GROWMODE_SPECIFIED + none + 0 + 0 + + 10 + wxRIGHT|wxLEFT + 1 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmap3DshapesTH + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show 3D through hole models + + 0 + + + 0 + + 1 + m_checkBox3DshapesTH + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmap3DshapesSMD + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show 3D SMD models + + 0 + + + 0 + + 1 + m_checkBox3DshapesSMD + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmap3DshapesVirtual + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show 3D virtual models + + 0 + + + 0 + + 1 + m_checkBox3DshapesVirtual + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + 5 + wxEXPAND | wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_staticlineVertical + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_VERTICAL + + 0 + + + + + + + + 5 + wxALL|wxEXPAND + 0 + + + bSizerRight + wxVERTICAL + none + + 5 + wxALL|wxEXPAND + 0 + + wxID_ANY + Board Layers + + sbSizer3 + wxVERTICAL + 1 + none + + 5 + wxEXPAND + 0 + + 3 + wxBOTH + + + 0 + + fgSizerShowBrdLayersOpts + wxFLEX_GROWMODE_SPECIFIED + none + 0 + 0 + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapSilkscreen + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show silkscreen layers + + 0 + + + 0 + + 1 + m_checkBoxSilkscreen + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapSolderMask + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show solder mask layers + + 0 + + + 0 + + 1 + m_checkBoxSolderMask + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapSolderPaste + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show solder paste layers + + 0 + + + 0 + + 1 + m_checkBoxSolderpaste + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapAdhesive + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show adhesive layers + + 0 + + + 0 + + 1 + m_checkBoxAdhesive + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + 5 + wxALL|wxEXPAND + 0 + + wxID_ANY + User Layers (not shown in realistic mode) + + sbSizer4 + wxVERTICAL + 1 + none + + 5 + wxEXPAND + 0 + + 3 + wxBOTH + + + 0 + + fgSizerShowUserLayersOpts + wxFLEX_GROWMODE_SPECIFIED + none + 0 + 0 + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapComments + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show comments and drawings layers + + 0 + + + 0 + + 1 + m_checkBoxComments + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapECO + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show ECO layers + + 0 + + + 0 + + 1 + m_checkBoxECO + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + 5 + wxALL|wxEXPAND + 1 + + wxID_ANY + Camera Options + + sbSizer41 + wxVERTICAL + 1 + none + + 5 + wxEXPAND + 0 + + 2 + wxBOTH + + + 0 + + fgSizerCameraOpts + wxFLEX_GROWMODE_SPECIFIED + none + 0 + 0 + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Enable animation + + 0 + + + 0 + + 1 + m_checkBoxEnableAnimation + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnCheckEnableAnimation + + + + 10 + wxRIGHT|wxLEFT + 0 + + 0 + protected + 0 + + + + 5 + wxEXPAND + 1 + + + bSizer9 + wxHORIZONTAL + none + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Animation speed: + 0 + + 0 + + + 0 + + 1 + m_staticAnimationSpeed + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 5 + + 0 + + 1 + + 0 + + 1 + m_sliderAnimationSpeed + 1 + + + protected + 1 + + Resizable + 1 + + wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_MIN_MAX_LABELS + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + 3 + + + + + + + + + + + + + + + + + + + OpenGL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_panelOpenGL + 1 + + + protected + 1 + + Resizable + 1 + + ; ; forward_declare + 0 + + + + wxTAB_TRAVERSAL + + + bSizerOpenGL + wxHORIZONTAL + none + + 5 + wxALL|wxEXPAND + 1 + + + bSizer7 + wxVERTICAL + none + + 5 + wxALL|wxEXPAND + 1 + + wxID_ANY + OpenGL Render Options + + sbSizerOpenGLRenderoptions + wxVERTICAL + 1 + none + + 5 + wxALL|wxEXPAND + 1 + + 3 + wxBOTH + + + 0 + + fgSizer6 + wxFLEX_GROWMODE_SPECIFIED + none + 2 + 0 + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapBoundingBoxes + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show model bounding boxes + + 0 + + + 0 + + 1 + m_checkBoxBoundingBoxes + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + Load From File; ; [-1; -1] + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapCuThickness + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show copper thickness + + 0 + + + 0 + + 1 + m_checkBoxCuThickness + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + 5 + wxALL|wxEXPAND + 1 + + wxID_ANY + Anti-aliasing + + sbSizerAntialiasing + wxVERTICAL + 1 + none + + 5 + wxALL|wxEXPAND + 1 + + 2 + wxBOTH + + + 0 + + fgSizer7 + wxFLEX_GROWMODE_SPECIFIED + none + 1 + 0 + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "Disabled" "2x" "4x" "8x" "" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_choiceAntiAliasing + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; ; forward_declare + 0 + 3D-Viewer must be closed and re-opened to apply this setting + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + 5 + wxALL|wxEXPAND + 1 + + wxID_ANY + While Moving + + sbSizerWhileMoving + wxVERTICAL + 1 + none + + 5 + wxALL|wxEXPAND + 1 + + 4 + wxBOTH + + + 0 + + fgSizer8 + wxFLEX_GROWMODE_SPECIFIED + none + 2 + 0 + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Disable anti-aliasing + + 0 + + + 0 + + 1 + m_checkBoxDisableAAMove + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Disable thickness + + 0 + + + 0 + + 1 + m_checkBoxDisableMoveThickness + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Disable vias + + 0 + + + 0 + + 1 + m_checkBoxDisableMoveVias + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Disable holes + + 0 + + + 0 + + 1 + m_checkBoxDisableMoveHoles + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + Raytracing + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_panelRaytracing + 1 + + + protected + 1 + + Resizable + 1 + + ; ; forward_declare + 0 + + + + wxTAB_TRAVERSAL + + + bSizerRaytracing + wxVERTICAL + none + + 5 + wxALL|wxEXPAND + 1 + + + bSizer8 + wxVERTICAL + none + + 5 + wxALL|wxEXPAND + 1 + + wxID_ANY + Raytracing Render Options + + sbSizerRaytracingRenderOptions + wxVERTICAL + 1 + none + + 5 + wxALL|wxEXPAND + 1 + + 4 + wxBOTH + + + 0 + + fgSizer9 + wxFLEX_GROWMODE_SPECIFIED + none + 4 + 0 + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Shadows + + 0 + + + 0 + + 1 + m_checkBoxRaytracing_renderShadows + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Procedural textures + + 0 + + + 0 + + 1 + m_checkBoxRaytracing_proceduralTextures + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Add floor + + 0 + + + 0 + + 1 + m_checkBoxRaytracing_addFloor + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Refractions + + 0 + + + 0 + + 1 + m_checkBoxRaytracing_showRefractions + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Reflections + + 0 + + + 0 + + 1 + m_checkBoxRaytracing_showReflections + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Anti-aliasing + + 0 + + + 0 + + 1 + m_checkBoxRaytracing_antiAliasing + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxLEFT|wxRIGHT + 1 + + 0 + protected + 0 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Post-processing + + 0 + + + 0 + + 1 + m_checkBoxRaytracing_postProcessing + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + 5 + wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_staticlineH + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + + 0 + + + + + + + + 5 + wxALIGN_RIGHT|wxALL + 0 + + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + + m_sdbSizer + protected + + + + + + diff --git a/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.h b/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.h index 3392d837b7..64e4818a9a 100644 --- a/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.h +++ b/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.h @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include #include @@ -70,6 +72,9 @@ class DIALOG_3D_VIEW_OPTIONS_BASE : public DIALOG_SHIM wxCheckBox* m_checkBoxComments; wxStaticBitmap* m_bitmapECO; wxCheckBox* m_checkBoxECO; + wxCheckBox* m_checkBoxEnableAnimation; + wxStaticText* m_staticAnimationSpeed; + wxSlider* m_sliderAnimationSpeed; wxPanel* m_panelOpenGL; wxStaticBitmap* m_bitmapBoundingBoxes; wxCheckBox* m_checkBoxBoundingBoxes; @@ -95,11 +100,12 @@ class DIALOG_3D_VIEW_OPTIONS_BASE : public DIALOG_SHIM // Virtual event handlers, overide them in your derived class virtual void OnCheckRealisticMode( wxCommandEvent& event ) { event.Skip(); } + virtual void OnCheckEnableAnimation( wxCommandEvent& event ) { event.Skip(); } public: - DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("3D Display Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); + DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("3D Display Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 659,475 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); ~DIALOG_3D_VIEW_OPTIONS_BASE(); }; diff --git a/3d-viewer/3d_viewer/eda_3d_viewer.cpp b/3d-viewer/3d_viewer/eda_3d_viewer.cpp index 9593b826d0..04b8c0c843 100644 --- a/3d-viewer/3d_viewer/eda_3d_viewer.cpp +++ b/3d-viewer/3d_viewer/eda_3d_viewer.cpp @@ -102,8 +102,6 @@ EDA_3D_VIEWER::EDA_3D_VIEWER( KIWAY *aKiway, PCB_BASE_FRAME *aParent, const wxSt icon.CopyFromBitmap( KiBitmap( icon_3d_xpm ) ); SetIcon( icon ); - auto config = Pgm().GetSettingsManager().GetAppSettings(); - LoadSettings( config ); SetSize( m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y ); // Create the status line @@ -119,6 +117,9 @@ EDA_3D_VIEWER::EDA_3D_VIEWER( KIWAY *aKiway, PCB_BASE_FRAME *aParent, const wxSt if( m_canvas ) m_canvas->SetStatusBar( status_bar ); + auto config = Pgm().GetSettingsManager().GetAppSettings(); + LoadSettings( config ); + // Some settings need the canvas loadCommonSettings(); @@ -450,6 +451,9 @@ void EDA_3D_VIEWER::LoadSettings( APP_SETTINGS_BASE *aCfg ) m_boardAdapter.MaterialModeSet( static_cast( cfg->m_Render.material_mode ) ); + m_canvas->AnimationEnabledSet( cfg->m_Camera.animation_enabled ); + m_canvas->MovingSpeedMultiplierSet( cfg->m_Camera.moving_speed_multiplier ); + #undef TRANSFER_SETTING } } @@ -492,6 +496,9 @@ void EDA_3D_VIEWER::SaveSettings( APP_SETTINGS_BASE *aCfg ) cfg->m_Render.material_mode = static_cast( m_boardAdapter.MaterialModeGet() ); cfg->m_Render.opengl_AA_mode = static_cast( m_boardAdapter.AntiAliasingGet() ); + cfg->m_Camera.animation_enabled = m_canvas->AnimationEnabledGet(); + cfg->m_Camera.moving_speed_multiplier = m_canvas->MovingSpeedMultiplierGet(); + TRANSFER_SETTING( opengl_AA_disableOnMove, FL_RENDER_OPENGL_AA_DISABLE_ON_MOVE ); TRANSFER_SETTING( opengl_copper_thickness, FL_RENDER_OPENGL_COPPER_THICKNESS ); TRANSFER_SETTING( opengl_show_model_bbox, FL_RENDER_OPENGL_SHOW_MODEL_BBOX ); diff --git a/3d-viewer/3d_viewer/eda_3d_viewer.h b/3d-viewer/3d_viewer/eda_3d_viewer.h index 1856002330..7310da09df 100644 --- a/3d-viewer/3d_viewer/eda_3d_viewer.h +++ b/3d-viewer/3d_viewer/eda_3d_viewer.h @@ -105,6 +105,8 @@ class EDA_3D_VIEWER : public EDA_3D_BOARD_HOLDER, public KIWAY_PLAYER BOARD_ADAPTER& GetAdapter() override { return m_boardAdapter; } CCAMERA& GetCurrentCamera() override { return m_currentCamera; } + EDA_3D_CANVAS* GetCanvas() { return m_canvas; } + /** * Get a SFVEC3D from a wx colour dialog * @param aColor is the SFVEC3D to change