Browse Source
Pull 3D preferences into KiCad preferences architecture.
Pull 3D preferences into KiCad preferences architecture.
Fixes https://gitlab.com/kicad/code/kicad/issues/51876.0.7
37 changed files with 9624 additions and 8226 deletions
-
923d-viewer/3d_viewer/3d_menubar.cpp
-
53d-viewer/3d_viewer/3d_toolbar.cpp
-
6273d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.cpp
-
68663d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.fbp
-
2133d-viewer/3d_viewer/dialogs/panel_3D_colors.cpp
-
543d-viewer/3d_viewer/dialogs/panel_3D_colors.h
-
1463d-viewer/3d_viewer/dialogs/panel_3D_colors_base.cpp
-
13793d-viewer/3d_viewer/dialogs/panel_3D_colors_base.fbp
-
693d-viewer/3d_viewer/dialogs/panel_3D_colors_base.h
-
1363d-viewer/3d_viewer/dialogs/panel_3D_display_options.cpp
-
543d-viewer/3d_viewer/dialogs/panel_3D_display_options.h
-
1783d-viewer/3d_viewer/dialogs/panel_3D_display_options_base.cpp
-
17063d-viewer/3d_viewer/dialogs/panel_3D_display_options_base.fbp
-
753d-viewer/3d_viewer/dialogs/panel_3D_display_options_base.h
-
893d-viewer/3d_viewer/dialogs/panel_3D_opengl_options.cpp
-
483d-viewer/3d_viewer/dialogs/panel_3D_opengl_options.h
-
913d-viewer/3d_viewer/dialogs/panel_3D_opengl_options_base.cpp
-
8093d-viewer/3d_viewer/dialogs/panel_3D_opengl_options_base.fbp
-
563d-viewer/3d_viewer/dialogs/panel_3D_opengl_options_base.h
-
1633d-viewer/3d_viewer/dialogs/panel_3D_raytracing_options.cpp
-
523d-viewer/3d_viewer/dialogs/panel_3D_raytracing_options.h
-
3393d-viewer/3d_viewer/dialogs/panel_3D_raytracing_options_base.cpp
-
40333d-viewer/3d_viewer/dialogs/panel_3D_raytracing_options_base.fbp
-
733d-viewer/3d_viewer/dialogs/panel_3D_raytracing_options_base.h
-
3163d-viewer/3d_viewer/eda_3d_viewer.cpp
-
573d-viewer/3d_viewer/eda_3d_viewer.h
-
363d-viewer/3d_viewer/tools/3d_actions.cpp
-
73d-viewer/3d_viewer/tools/3d_actions.h
-
73d-viewer/3d_viewer/tools/3d_controller.cpp
-
123d-viewer/3d_viewer_id.h
-
103d-viewer/CMakeLists.txt
-
10common/eda_base_frame.cpp
-
3common/widgets/color_swatch.cpp
-
5include/eda_base_frame.h
-
29include/widgets/color_swatch.h
-
3pcbnew/dialogs/panel_display_options.cpp
-
2qa/qa_utils/mocks.cpp
@ -1,627 +0,0 @@ |
|||
///////////////////////////////////////////////////////////////////////////
|
|||
// C++ code generated with wxFormBuilder (version Oct 26 2018)
|
|||
// http://www.wxformbuilder.org/
|
|||
//
|
|||
// PLEASE DO *NOT* EDIT THIS FILE!
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "dialog_3D_view_option_base.h"
|
|||
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
DIALOG_3D_VIEW_OPTIONS_BASE::DIALOG_3D_VIEW_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style ) |
|||
{ |
|||
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); |
|||
|
|||
wxBoxSizer* bSizerMain; |
|||
bSizerMain = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_panelDspOpt = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); |
|||
wxBoxSizer* bSizerDisplayOptions; |
|||
bSizerDisplayOptions = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
wxBoxSizer* bSizeLeft; |
|||
bSizeLeft = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxStaticBoxSizer* sbModelVisibility; |
|||
sbModelVisibility = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("3D Model Visibility") ), wxVERTICAL ); |
|||
|
|||
m_checkBox3DshapesTH = new wxCheckBox( sbModelVisibility->GetStaticBox(), wxID_ANY, _("Show 3D through hole models"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbModelVisibility->Add( m_checkBox3DshapesTH, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBox3DshapesSMD = new wxCheckBox( sbModelVisibility->GetStaticBox(), wxID_ANY, _("Show 3D SMD models"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbModelVisibility->Add( m_checkBox3DshapesSMD, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBox3DshapesVirtual = new wxCheckBox( sbModelVisibility->GetStaticBox(), wxID_ANY, _("Show 3D virtual models"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbModelVisibility->Add( m_checkBox3DshapesVirtual, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
|
|||
bSizeLeft->Add( sbModelVisibility, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
wxStaticBoxSizer* sbBoardLayers; |
|||
sbBoardLayers = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("Board Layers") ), wxVERTICAL ); |
|||
|
|||
m_checkBoxSilkscreen = new wxCheckBox( sbBoardLayers->GetStaticBox(), wxID_ANY, _("Show silkscreen layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbBoardLayers->Add( m_checkBoxSilkscreen, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxSolderMask = new wxCheckBox( sbBoardLayers->GetStaticBox(), wxID_ANY, _("Show solder mask layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbBoardLayers->Add( m_checkBoxSolderMask, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxSolderpaste = new wxCheckBox( sbBoardLayers->GetStaticBox(), wxID_ANY, _("Show solder paste layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbBoardLayers->Add( m_checkBoxSolderpaste, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxAdhesive = new wxCheckBox( sbBoardLayers->GetStaticBox(), wxID_ANY, _("Show adhesive layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbBoardLayers->Add( m_checkBoxAdhesive, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
|
|||
bSizeLeft->Add( sbBoardLayers, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
wxStaticBoxSizer* sbUserLayers; |
|||
sbUserLayers = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("User Layers (not shown in realistic mode)") ), wxVERTICAL ); |
|||
|
|||
m_checkBoxComments = new wxCheckBox( sbUserLayers->GetStaticBox(), wxID_ANY, _("Show comments and drawings layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbUserLayers->Add( m_checkBoxComments, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxECO = new wxCheckBox( sbUserLayers->GetStaticBox(), wxID_ANY, _("Show ECO layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbUserLayers->Add( m_checkBoxECO, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
|
|||
bSizeLeft->Add( sbUserLayers, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
|
|||
bSizerDisplayOptions->Add( bSizeLeft, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
wxBoxSizer* bSizerRight; |
|||
bSizerRight = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxStaticBoxSizer* sbRenderOptions; |
|||
sbRenderOptions = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("Render Options") ), wxVERTICAL ); |
|||
|
|||
m_checkBoxRealisticMode = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Realistic mode"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbRenderOptions->Add( m_checkBoxRealisticMode, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxBoardBody = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Show board body"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbRenderOptions->Add( m_checkBoxBoardBody, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxAreas = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Show filled areas in zones"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbRenderOptions->Add( m_checkBoxAreas, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxSubtractMaskFromSilk = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Subtract soldermask from silkscreen"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbRenderOptions->Add( m_checkBoxSubtractMaskFromSilk, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxClipSilkOnViaAnnulus = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Clip silkscreen at via annulus"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbRenderOptions->Add( m_checkBoxClipSilkOnViaAnnulus, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxRenderPlatedPadsAsPlated = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Use bare copper color for unplated copper"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRenderPlatedPadsAsPlated->SetToolTip( _("Use different colors for plated and unplated copper. (Slow)") ); |
|||
|
|||
sbRenderOptions->Add( m_checkBoxRenderPlatedPadsAsPlated, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
|
|||
bSizerRight->Add( sbRenderOptions, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
wxStaticBoxSizer* sbCameraOptions; |
|||
sbCameraOptions = new wxStaticBoxSizer( new wxStaticBox( m_panelDspOpt, wxID_ANY, _("Camera Options") ), wxVERTICAL ); |
|||
|
|||
wxBoxSizer* bSizerRotAngle; |
|||
bSizerRotAngle = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
m_staticTextRotAngle = new wxStaticText( sbCameraOptions->GetStaticBox(), wxID_ANY, _("Rotation Increment:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticTextRotAngle->Wrap( -1 ); |
|||
bSizerRotAngle->Add( m_staticTextRotAngle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrlRotationAngle = new wxSpinCtrlDouble( sbCameraOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 359, 10, 1 ); |
|||
m_spinCtrlRotationAngle->SetDigits( 0 ); |
|||
bSizerRotAngle->Add( m_spinCtrlRotationAngle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_staticTextRotAngleUnits = new wxStaticText( sbCameraOptions->GetStaticBox(), wxID_ANY, _("deg"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticTextRotAngleUnits->Wrap( -1 ); |
|||
bSizerRotAngle->Add( m_staticTextRotAngleUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
sbCameraOptions->Add( bSizerRotAngle, 0, wxEXPAND|wxBOTTOM, 5 ); |
|||
|
|||
m_staticline3 = new wxStaticLine( sbCameraOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); |
|||
sbCameraOptions->Add( m_staticline3, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); |
|||
|
|||
m_checkBoxEnableAnimation = new wxCheckBox( sbCameraOptions->GetStaticBox(), wxID_ANY, _("Enable animation"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxEnableAnimation->SetValue(true); |
|||
sbCameraOptions->Add( m_checkBoxEnableAnimation, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
wxBoxSizer* bSizerSlider; |
|||
bSizerSlider = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
m_staticAnimationSpeed = new wxStaticText( sbCameraOptions->GetStaticBox(), wxID_ANY, _("Animation speed:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticAnimationSpeed->Wrap( -1 ); |
|||
bSizerSlider->Add( m_staticAnimationSpeed, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_sliderAnimationSpeed = new wxSlider( sbCameraOptions->GetStaticBox(), wxID_ANY, 3, 1, 5, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS ); |
|||
m_sliderAnimationSpeed->SetMinSize( wxSize( 100,-1 ) ); |
|||
|
|||
bSizerSlider->Add( m_sliderAnimationSpeed, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
|
|||
sbCameraOptions->Add( bSizerSlider, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); |
|||
|
|||
|
|||
bSizerRight->Add( sbCameraOptions, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
|
|||
bSizerDisplayOptions->Add( bSizerRight, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
m_panelDspOpt->SetSizer( bSizerDisplayOptions ); |
|||
m_panelDspOpt->Layout(); |
|||
bSizerDisplayOptions->Fit( m_panelDspOpt ); |
|||
m_notebook->AddPage( m_panelDspOpt, _("Display Options"), true ); |
|||
m_panelOpenGL = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); |
|||
wxBoxSizer* bSizerOpenGL; |
|||
bSizerOpenGL = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxStaticBoxSizer* sbSizerOpenGLRenderoptions; |
|||
sbSizerOpenGLRenderoptions = new wxStaticBoxSizer( new wxStaticBox( m_panelOpenGL, wxID_ANY, _("OpenGL Render Options") ), wxVERTICAL ); |
|||
|
|||
m_checkBoxBoundingBoxes = new wxCheckBox( sbSizerOpenGLRenderoptions->GetStaticBox(), wxID_ANY, _("Show model bounding boxes"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerOpenGLRenderoptions->Add( m_checkBoxBoundingBoxes, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxCuThickness = new wxCheckBox( sbSizerOpenGLRenderoptions->GetStaticBox(), wxID_ANY, _("Show copper thickness"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerOpenGLRenderoptions->Add( m_checkBoxCuThickness, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxHighlightOnRollOver = new wxCheckBox( sbSizerOpenGLRenderoptions->GetStaticBox(), wxID_ANY, _("Highlight items on rollover"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerOpenGLRenderoptions->Add( m_checkBoxHighlightOnRollOver, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
bSizerOpenGL->Add( sbSizerOpenGLRenderoptions, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
wxStaticBoxSizer* sbSizerOtherOptions; |
|||
sbSizerOtherOptions = new wxStaticBoxSizer( new wxStaticBox( m_panelOpenGL, wxID_ANY, _("Other Options") ), wxVERTICAL ); |
|||
|
|||
wxFlexGridSizer* fgSizer7; |
|||
fgSizer7 = new wxFlexGridSizer( 2, 2, 0, 0 ); |
|||
fgSizer7->SetFlexibleDirection( wxBOTH ); |
|||
fgSizer7->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); |
|||
|
|||
m_staticText221 = new wxStaticText( sbSizerOtherOptions->GetStaticBox(), wxID_ANY, _("Anti-aliasing:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText221->Wrap( -1 ); |
|||
fgSizer7->Add( m_staticText221, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
wxString m_choiceAntiAliasingChoices[] = { _("Disabled"), _("2x"), _("4x"), _("8x") }; |
|||
int m_choiceAntiAliasingNChoices = sizeof( m_choiceAntiAliasingChoices ) / sizeof( wxString ); |
|||
m_choiceAntiAliasing = new wxChoice( sbSizerOtherOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceAntiAliasingNChoices, m_choiceAntiAliasingChoices, 0 ); |
|||
m_choiceAntiAliasing->SetSelection( 0 ); |
|||
m_choiceAntiAliasing->SetToolTip( _("3D-Viewer must be closed and re-opened to apply this setting") ); |
|||
|
|||
fgSizer7->Add( m_choiceAntiAliasing, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
m_staticText231 = new wxStaticText( sbSizerOtherOptions->GetStaticBox(), wxID_ANY, _("Selection color:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText231->Wrap( -1 ); |
|||
fgSizer7->Add( m_staticText231, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_colourPickerSelection = new wxColourPickerCtrl( sbSizerOtherOptions->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer7->Add( m_colourPickerSelection, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
|
|||
sbSizerOtherOptions->Add( fgSizer7, 1, wxEXPAND|wxRIGHT, 5 ); |
|||
|
|||
|
|||
bSizerOpenGL->Add( sbSizerOtherOptions, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
wxStaticBoxSizer* sbSizerWhileMoving; |
|||
sbSizerWhileMoving = new wxStaticBoxSizer( new wxStaticBox( m_panelOpenGL, wxID_ANY, _("While Moving") ), wxVERTICAL ); |
|||
|
|||
m_checkBoxDisableAAMove = new wxCheckBox( sbSizerWhileMoving->GetStaticBox(), wxID_ANY, _("Disable anti-aliasing"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerWhileMoving->Add( m_checkBoxDisableAAMove, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxDisableMoveThickness = new wxCheckBox( sbSizerWhileMoving->GetStaticBox(), wxID_ANY, _("Disable thickness"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerWhileMoving->Add( m_checkBoxDisableMoveThickness, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxDisableMoveVias = new wxCheckBox( sbSizerWhileMoving->GetStaticBox(), wxID_ANY, _("Disable vias"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerWhileMoving->Add( m_checkBoxDisableMoveVias, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxDisableMoveHoles = new wxCheckBox( sbSizerWhileMoving->GetStaticBox(), wxID_ANY, _("Disable holes"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerWhileMoving->Add( m_checkBoxDisableMoveHoles, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
bSizerOpenGL->Add( sbSizerWhileMoving, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
|
|||
m_panelOpenGL->SetSizer( bSizerOpenGL ); |
|||
m_panelOpenGL->Layout(); |
|||
bSizerOpenGL->Fit( m_panelOpenGL ); |
|||
m_notebook->AddPage( m_panelOpenGL, _("OpenGL"), false ); |
|||
m_panelRaytracing = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); |
|||
wxBoxSizer* bSizer14; |
|||
bSizer14 = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
m_notebook2 = new wxNotebook( m_panelRaytracing, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_panelRaytracingCfg = new wxPanel( m_notebook2, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); |
|||
wxBoxSizer* bSizerRaytracing; |
|||
bSizerRaytracing = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxStaticBoxSizer* sbSizerRaytracingRenderOptions; |
|||
sbSizerRaytracingRenderOptions = new wxStaticBoxSizer( new wxStaticBox( m_panelRaytracingCfg, wxID_ANY, _("Raytracing Render Options") ), wxVERTICAL ); |
|||
|
|||
sbSizerRaytracingRenderOptions->SetMinSize( wxSize( -1,32 ) ); |
|||
wxBoxSizer* bSizer16; |
|||
bSizer16 = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
m_checkBoxRaytracing_proceduralTextures = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Procedural textures"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_proceduralTextures->SetValue(true); |
|||
bSizer16->Add( m_checkBoxRaytracing_proceduralTextures, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxRaytracing_addFloor = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Add floor"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_addFloor->SetValue(true); |
|||
bSizer16->Add( m_checkBoxRaytracing_addFloor, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxRaytracing_antiAliasing = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Anti-aliasing"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_antiAliasing->SetValue(true); |
|||
bSizer16->Add( m_checkBoxRaytracing_antiAliasing, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxRaytracing_postProcessing = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Post-processing"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_postProcessing->SetValue(true); |
|||
bSizer16->Add( m_checkBoxRaytracing_postProcessing, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
sbSizerRaytracingRenderOptions->Add( bSizer16, 0, wxEXPAND|wxBOTTOM, 5 ); |
|||
|
|||
wxFlexGridSizer* fgSizer111; |
|||
fgSizer111 = new wxFlexGridSizer( 0, 4, 6, 8 ); |
|||
fgSizer111->SetFlexibleDirection( wxBOTH ); |
|||
fgSizer111->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); |
|||
|
|||
|
|||
fgSizer111->Add( 0, 0, 1, wxEXPAND, 5 ); |
|||
|
|||
m_staticText19 = new wxStaticText( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Number of Samples"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText19->Wrap( -1 ); |
|||
fgSizer111->Add( m_staticText19, 0, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_staticText201 = new wxStaticText( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Spread Factor %"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText201->Wrap( -1 ); |
|||
fgSizer111->Add( m_staticText201, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_staticText211 = new wxStaticText( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Recursion Level"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText211->Wrap( -1 ); |
|||
fgSizer111->Add( m_staticText211, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_checkBoxRaytracing_renderShadows = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Shadows:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_renderShadows->SetValue(true); |
|||
fgSizer111->Add( m_checkBoxRaytracing_renderShadows, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrl_NrSamples_Shadows = new wxSpinCtrl( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 64, 0 ); |
|||
m_spinCtrl_NrSamples_Shadows->SetToolTip( _("Number of rays that will be cast, into light direction, to evaluate a shadow point") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrl_NrSamples_Shadows, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrlDouble_SpreadFactor_Shadows = new wxSpinCtrlDouble( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 0.1, 25, 0, 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Shadows->SetDigits( 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Shadows->SetToolTip( _("Random direction factor of the cast rays") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrlDouble_SpreadFactor_Shadows, 0, wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
fgSizer111->Add( 0, 0, 1, wxEXPAND, 5 ); |
|||
|
|||
m_checkBoxRaytracing_showReflections = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Reflections:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_showReflections->SetValue(true); |
|||
fgSizer111->Add( m_checkBoxRaytracing_showReflections, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrl_NrSamples_Reflections = new wxSpinCtrl( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 32, 0 ); |
|||
m_spinCtrl_NrSamples_Reflections->SetToolTip( _("Number of rays that will be cast to evaluate a reflection point") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrl_NrSamples_Reflections, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlDouble_SpreadFactor_Reflections = new wxSpinCtrlDouble( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 0.1, 25, 0, 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Reflections->SetDigits( 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Reflections->SetToolTip( _("Random direction factor of the cast rays") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrlDouble_SpreadFactor_Reflections, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrlRecursiveLevel_Reflections = new wxSpinCtrl( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 5, 0 ); |
|||
m_spinCtrlRecursiveLevel_Reflections->SetToolTip( _("Interactions number that a ray can travel through objects. (higher number of levels improve results, specially on very transparent boards)") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrlRecursiveLevel_Reflections, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxRaytracing_showRefractions = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Refractions:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_showRefractions->SetValue(true); |
|||
fgSizer111->Add( m_checkBoxRaytracing_showRefractions, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrl_NrSamples_Refractions = new wxSpinCtrl( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 5, 0 ); |
|||
m_spinCtrl_NrSamples_Refractions->SetToolTip( _("Number of rays that will be cast to evaluate a refraction point") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrl_NrSamples_Refractions, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrlDouble_SpreadFactor_Refractions = new wxSpinCtrlDouble( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 0.1, 25, 0, 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Refractions->SetDigits( 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Refractions->SetToolTip( _("Random direction factor of the cast rays") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrlDouble_SpreadFactor_Refractions, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrlRecursiveLevel_Refractions = new wxSpinCtrl( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 7, 0 ); |
|||
m_spinCtrlRecursiveLevel_Refractions->SetToolTip( _("Number of bounces that a ray can hit reflective objects") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrlRecursiveLevel_Refractions, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
sbSizerRaytracingRenderOptions->Add( fgSizer111, 0, wxTOP|wxBOTTOM|wxRIGHT|wxEXPAND, 5 ); |
|||
|
|||
|
|||
bSizerRaytracing->Add( sbSizerRaytracingRenderOptions, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); |
|||
|
|||
|
|||
m_panelRaytracingCfg->SetSizer( bSizerRaytracing ); |
|||
m_panelRaytracingCfg->Layout(); |
|||
bSizerRaytracing->Fit( m_panelRaytracingCfg ); |
|||
m_notebook2->AddPage( m_panelRaytracingCfg, _("Render Options"), true ); |
|||
m_panelLightsConfig = new wxPanel( m_notebook2, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); |
|||
wxBoxSizer* bSizer17; |
|||
bSizer17 = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxStaticBoxSizer* sbSizerRaytracingLightConfiguration; |
|||
sbSizerRaytracingLightConfiguration = new wxStaticBoxSizer( new wxStaticBox( m_panelLightsConfig, wxID_ANY, _("Lights Configuration") ), wxVERTICAL ); |
|||
|
|||
wxBoxSizer* bSizer11; |
|||
bSizer11 = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
|
|||
bSizer11->Add( 0, 0, 1, 0, 5 ); |
|||
|
|||
m_staticText17 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Ambient camera light:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText17->Wrap( -1 ); |
|||
bSizer11->Add( m_staticText17, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_colourPickerCameraLight = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxColour( 51, 51, 51 ), wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
bSizer11->Add( m_colourPickerCameraLight, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
|
|||
bSizer11->Add( 0, 0, 1, 0, 5 ); |
|||
|
|||
|
|||
sbSizerRaytracingLightConfiguration->Add( bSizer11, 0, wxBOTTOM|wxEXPAND, 5 ); |
|||
|
|||
wxBoxSizer* bSizer13; |
|||
bSizer13 = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
|
|||
bSizer13->Add( 0, 0, 1, 0, 5 ); |
|||
|
|||
m_staticText5 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Top light:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText5->Wrap( -1 ); |
|||
bSizer13->Add( m_staticText5, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_colourPickerTopLight = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxColour( 63, 63, 63 ), wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
bSizer13->Add( m_colourPickerTopLight, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
|
|||
bSizer13->Add( 0, 0, 1, 0, 5 ); |
|||
|
|||
m_staticText6 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Bottom light:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText6->Wrap( -1 ); |
|||
bSizer13->Add( m_staticText6, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_colourPickerBottomLight = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxColour( 63, 63, 63 ), wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
bSizer13->Add( m_colourPickerBottomLight, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
|
|||
bSizer13->Add( 0, 0, 1, 0, 5 ); |
|||
|
|||
|
|||
sbSizerRaytracingLightConfiguration->Add( bSizer13, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); |
|||
|
|||
wxFlexGridSizer* fgSizer11; |
|||
fgSizer11 = new wxFlexGridSizer( 0, 9, 0, 0 ); |
|||
fgSizer11->AddGrowableCol( 4 ); |
|||
fgSizer11->SetFlexibleDirection( wxHORIZONTAL ); |
|||
fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText20 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Elevation (degrees)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText20->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText20, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_staticText18 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Azimuth (degrees)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText18->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText18, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText27 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Elevation (degrees)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText27->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText27, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_staticText28 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Azimuth (degrees)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText28->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText28, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_staticText21 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("1:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText21->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText21, 0, wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_colourPickerLight1 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight1, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation1 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation1, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth1 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth1, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
|
|||
fgSizer11->Add( 10, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText22 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("5:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText22->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText22, 0, wxALIGN_CENTER|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerLight5 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight5, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation5 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation5, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth5 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth5, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_staticText23 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("2:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText23->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText23, 0, wxALIGN_CENTER, 5 ); |
|||
|
|||
m_colourPickerLight2 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight2, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation2 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation2, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth2 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth2, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText24 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("6:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText24->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText24, 0, wxALIGN_CENTER|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerLight6 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight6, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation6 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation6, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth6 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth6, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_staticText25 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("3:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText25->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText25, 0, wxALIGN_CENTER, 5 ); |
|||
|
|||
m_colourPickerLight3 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight3, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation3 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation3, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth3 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth3, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText26 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("7:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText26->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText26, 0, wxALIGN_CENTER|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerLight7 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight7, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation7 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation7, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth7 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth7, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_staticText171 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("4:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText171->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText171, 0, wxALIGN_CENTER, 5 ); |
|||
|
|||
m_colourPickerLight4 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight4, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation4 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation4, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth4 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth4, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText181 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("8:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText181->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText181, 0, wxALIGN_CENTER|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerLight8 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight8, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation8 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation8, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth8 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth8, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
|
|||
sbSizerRaytracingLightConfiguration->Add( fgSizer11, 0, wxEXPAND|wxALL, 5 ); |
|||
|
|||
wxBoxSizer* bSizer19; |
|||
bSizer19 = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
|
|||
bSizer19->Add( 0, 0, 0, wxEXPAND, 5 ); |
|||
|
|||
m_buttonLightsResetToDefaults = new wxButton( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Reset to defaults"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
bSizer19->Add( m_buttonLightsResetToDefaults, 0, wxALL, 5 ); |
|||
|
|||
|
|||
sbSizerRaytracingLightConfiguration->Add( bSizer19, 0, wxALL, 5 ); |
|||
|
|||
|
|||
bSizer17->Add( sbSizerRaytracingLightConfiguration, 0, wxEXPAND|wxALL, 5 ); |
|||
|
|||
|
|||
m_panelLightsConfig->SetSizer( bSizer17 ); |
|||
m_panelLightsConfig->Layout(); |
|||
bSizer17->Fit( m_panelLightsConfig ); |
|||
m_notebook2->AddPage( m_panelLightsConfig, _("Lights Configuration"), false ); |
|||
|
|||
bSizer14->Add( m_notebook2, 0, wxEXPAND | wxALL, 5 ); |
|||
|
|||
|
|||
m_panelRaytracing->SetSizer( bSizer14 ); |
|||
m_panelRaytracing->Layout(); |
|||
bSizer14->Fit( m_panelRaytracing ); |
|||
m_notebook->AddPage( m_panelRaytracing, _("Raytracing"), false ); |
|||
|
|||
bSizerMain->Add( m_notebook, 1, wxALL|wxEXPAND, 5 ); |
|||
|
|||
m_sdbSizer = new wxStdDialogButtonSizer(); |
|||
m_sdbSizerOK = new wxButton( this, wxID_OK ); |
|||
m_sdbSizer->AddButton( m_sdbSizerOK ); |
|||
m_sdbSizerCancel = new wxButton( this, wxID_CANCEL ); |
|||
m_sdbSizer->AddButton( m_sdbSizerCancel ); |
|||
m_sdbSizer->Realize(); |
|||
|
|||
bSizerMain->Add( m_sdbSizer, 0, wxALIGN_RIGHT|wxALL, 5 ); |
|||
|
|||
|
|||
this->SetSizer( bSizerMain ); |
|||
this->Layout(); |
|||
|
|||
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 ); |
|||
m_buttonLightsResetToDefaults->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_3D_VIEW_OPTIONS_BASE::OnLightsResetToDefaults ), 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 ); |
|||
m_buttonLightsResetToDefaults->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_3D_VIEW_OPTIONS_BASE::OnLightsResetToDefaults ), NULL, this ); |
|||
|
|||
} |
6866
3d-viewer/3d_viewer/dialogs/dialog_3D_view_option_base.fbp
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,213 @@ |
|||
/*
|
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 2 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|||
* or you may search the http://www.gnu.org website for the version 2 license,
|
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#include "panel_3D_colors.h"
|
|||
#include <widgets/color_swatch.h>
|
|||
#include <3d_canvas/board_adapter.h>
|
|||
#include <3d_viewer/eda_3d_viewer.h>
|
|||
#include <board_stackup_manager/stackup_predefined_prms.h>
|
|||
#include <board_stackup_manager/board_stackup.h>
|
|||
#include <board_design_settings.h>
|
|||
|
|||
PANEL_3D_COLORS::PANEL_3D_COLORS( EDA_3D_VIEWER* aFrame, wxWindow* aParent ) : |
|||
PANEL_3D_COLORS_BASE( aParent ), |
|||
m_settings( aFrame->GetAdapter() ) |
|||
{ |
|||
#define ADD_COLOR( list, r, g, b, a, name ) \
|
|||
list.push_back( CUSTOM_COLOR_ITEM( r/255.0, g/255.0, b/255.0, a, name ) ) |
|||
|
|||
m_backgroundTop->SetDefaultColor( COLOR4D( 0.8, 0.8, 0.9, 1.0 ) ); |
|||
m_backgroundBottom->SetDefaultColor( COLOR4D( 0.4, 0.4, 0.5, 1.0 ) ); |
|||
|
|||
m_silkscreenTop->SetDefaultColor( COLOR4D( 0.9, 0.9, 0.9, 1.0 ) ); |
|||
m_silkscreenBottom->SetDefaultColor( COLOR4D( 0.9, 0.9, 0.9, 1.0 ) ); |
|||
|
|||
ADD_COLOR( m_silkscreenColors, 241, 241, 241, 1.0, "White" ); |
|||
ADD_COLOR( m_silkscreenColors, 4, 18, 21, 1.0, "Dark" ); |
|||
m_silkscreenTop->SetUserColors( &m_silkscreenColors ); |
|||
m_silkscreenBottom->SetUserColors( &m_silkscreenColors ); |
|||
|
|||
m_solderMaskTop->SetDefaultColor( COLOR4D( 0.1, 0.2, 0.1, 0.83 ) ); |
|||
m_solderMaskBottom->SetDefaultColor( COLOR4D( 0.1, 0.2, 0.1, 0.83 ) ); |
|||
|
|||
ADD_COLOR( m_maskColors, 20, 51, 36, 0.83, "Green" ); |
|||
ADD_COLOR( m_maskColors, 91, 168, 12, 0.83, "Light Green" ); |
|||
ADD_COLOR( m_maskColors, 13, 104, 11, 0.83, "Saturated Green" ); |
|||
ADD_COLOR( m_maskColors, 181, 19, 21, 0.83, "Red" ); |
|||
ADD_COLOR( m_maskColors, 239, 53, 41, 0.83, "Red Light Orange" ); |
|||
ADD_COLOR( m_maskColors, 210, 40, 14, 0.83, "Red 2" ); |
|||
ADD_COLOR( m_maskColors, 2, 59, 162, 0.83, "Blue" ); |
|||
ADD_COLOR( m_maskColors, 54, 79, 116, 0.83, "Light blue 1" ); |
|||
ADD_COLOR( m_maskColors, 61, 85, 130, 0.83, "Light blue 2" ); |
|||
ADD_COLOR( m_maskColors, 21, 70, 80, 0.83, "Green blue (dark)" ); |
|||
ADD_COLOR( m_maskColors, 11, 11, 11, 0.83, "Black" ); |
|||
ADD_COLOR( m_maskColors, 245, 245, 245, 0.83, "White" ); |
|||
ADD_COLOR( m_maskColors, 119, 31, 91, 0.83, "Purple" ); |
|||
ADD_COLOR( m_maskColors, 32, 2, 53, 0.83, "Purple Dark" ); |
|||
m_solderMaskTop->SetUserColors( &m_maskColors ); |
|||
m_solderMaskBottom->SetUserColors( &m_maskColors ); |
|||
|
|||
m_solderPaste->SetDefaultColor( COLOR4D( 0.4, 0.4, 0.4, 1.0 ) ); |
|||
|
|||
ADD_COLOR( m_pasteColors, 128, 128, 128, 1.0, "grey" ); |
|||
ADD_COLOR( m_pasteColors, 213, 213, 213, 1.0, "Silver" ); |
|||
ADD_COLOR( m_pasteColors, 90, 90, 90, 1.0, "grey 2" ); |
|||
m_solderPaste->SetUserColors( &m_pasteColors ); |
|||
|
|||
m_surfaceFinish->SetDefaultColor( COLOR4D( 0.75, 0.61, 0.23, 1.0 ) ); |
|||
|
|||
ADD_COLOR( m_finishColors, 184, 115, 50, 1.0, "Copper" ); |
|||
ADD_COLOR( m_finishColors, 178, 156, 0, 1.0, "Gold" ); |
|||
ADD_COLOR( m_finishColors, 213, 213, 213, 1.0, "Silver" ); |
|||
ADD_COLOR( m_finishColors, 160, 160, 160, 1.0, "Tin" ); |
|||
m_surfaceFinish->SetUserColors( &m_finishColors ); |
|||
|
|||
m_boardBody->SetDefaultColor( COLOR4D( 0.4, 0.4, 0.5, 0.9 ) ); |
|||
|
|||
ADD_COLOR( m_boardColors, 51, 43, 22, 0.9, "FR4 natural, dark" ); |
|||
ADD_COLOR( m_boardColors, 109, 116, 75, 0.9, "FR4 natural" ); |
|||
ADD_COLOR( m_boardColors, 78, 14, 5, 0.9, "brown/red" ); |
|||
ADD_COLOR( m_boardColors, 146, 99, 47, 0.9, "brown 1" ); |
|||
ADD_COLOR( m_boardColors, 160, 123, 54, 0.9, "brown 2" ); |
|||
ADD_COLOR( m_boardColors, 146, 99, 47, 0.9, "brown 3" ); |
|||
ADD_COLOR( m_boardColors, 63, 126, 71, 0.9, "green 1" ); |
|||
ADD_COLOR( m_boardColors, 117, 122, 90, 0.9, "green 2" ); |
|||
m_boardBody->SetUserColors( &m_boardColors ); |
|||
|
|||
// Only allow the stackup to be used in the PCB editor, since it isn't editable in the other
|
|||
// frames
|
|||
m_loadStackup->Show( aFrame->Parent()->IsType( FRAME_PCB_EDITOR ) ); |
|||
|
|||
#undef ADD_COLOR
|
|||
} |
|||
|
|||
|
|||
bool PANEL_3D_COLORS::TransferDataToWindow() |
|||
{ |
|||
auto to_COLOR4D = []( const SFVEC4F& src ) |
|||
{ |
|||
return COLOR4D( src.r, src.g, src.b, src.a ); |
|||
}; |
|||
|
|||
m_backgroundTop->SetSwatchColor( to_COLOR4D( m_settings.m_BgColorTop ), false ); |
|||
m_backgroundBottom->SetSwatchColor( to_COLOR4D( m_settings.m_BgColorBot ), false ); |
|||
m_silkscreenTop->SetSwatchColor( to_COLOR4D( m_settings.m_SilkScreenColorTop ), false ); |
|||
m_silkscreenBottom->SetSwatchColor( to_COLOR4D( m_settings.m_SilkScreenColorBot ), false ); |
|||
m_solderMaskTop->SetSwatchColor( to_COLOR4D( m_settings.m_SolderMaskColorTop ), false ); |
|||
m_solderMaskBottom->SetSwatchColor( to_COLOR4D( m_settings.m_SolderMaskColorBot ), false ); |
|||
m_solderPaste->SetSwatchColor( to_COLOR4D( m_settings.m_SolderPasteColor ), false ); |
|||
m_surfaceFinish->SetSwatchColor( to_COLOR4D( m_settings.m_CopperColor ), false ); |
|||
m_boardBody->SetSwatchColor( to_COLOR4D( m_settings.m_BoardBodyColor ), false ); |
|||
|
|||
return true; |
|||
} |
|||
|
|||
|
|||
bool PANEL_3D_COLORS::TransferDataFromWindow() |
|||
{ |
|||
auto to_SFVEC4F = []( const COLOR4D& src ) |
|||
{ |
|||
return SFVEC4F( src.r, src.g, src.b, src.a ); |
|||
}; |
|||
|
|||
m_settings.m_BgColorTop = to_SFVEC4F( m_backgroundTop->GetSwatchColor() ); |
|||
m_settings.m_BgColorBot = to_SFVEC4F( m_backgroundBottom->GetSwatchColor() ); |
|||
m_settings.m_SilkScreenColorTop = to_SFVEC4F( m_silkscreenTop->GetSwatchColor() ); |
|||
m_settings.m_SilkScreenColorBot = to_SFVEC4F( m_silkscreenBottom->GetSwatchColor() ); |
|||
m_settings.m_SolderMaskColorTop = to_SFVEC4F( m_solderMaskTop->GetSwatchColor() ); |
|||
m_settings.m_SolderMaskColorBot = to_SFVEC4F( m_solderMaskBottom->GetSwatchColor() ); |
|||
m_settings.m_SolderPasteColor = to_SFVEC4F( m_solderPaste->GetSwatchColor() ); |
|||
m_settings.m_CopperColor = to_SFVEC4F( m_surfaceFinish->GetSwatchColor() ); |
|||
m_settings.m_BoardBodyColor = to_SFVEC4F( m_boardBody->GetSwatchColor() ); |
|||
|
|||
return true; |
|||
} |
|||
|
|||
|
|||
void PANEL_3D_COLORS::OnLoadColorsFromBoardStackup( wxCommandEvent& event ) |
|||
{ |
|||
const BOARD* brd = m_settings.GetBoard(); |
|||
const FAB_LAYER_COLOR* stdColors = GetColorStandardList(); |
|||
wxColour color; |
|||
|
|||
if( brd ) |
|||
{ |
|||
const BOARD_STACKUP& stckp = brd->GetDesignSettings().GetStackupDescriptor(); |
|||
|
|||
for( const BOARD_STACKUP_ITEM* stckpItem : stckp.GetList() ) |
|||
{ |
|||
wxString colorName = stckpItem->GetColor(); |
|||
|
|||
if( colorName.StartsWith( "#" ) ) // This is a user defined color.
|
|||
{ |
|||
color.Set( colorName ); |
|||
} |
|||
else |
|||
{ |
|||
for( int i = 0; i < GetColorStandardListCount(); i++ ) |
|||
{ |
|||
if( stdColors[i].m_ColorName == colorName ) |
|||
{ |
|||
color = stdColors[i].m_Color; |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
|
|||
if( color.IsOk() ) |
|||
{ |
|||
switch( stckpItem->GetBrdLayerId() ) |
|||
{ |
|||
case F_SilkS: |
|||
m_settings.m_SilkScreenColorTop.r = color.Red() / 255.0; |
|||
m_settings.m_SilkScreenColorTop.g = color.Green() / 255.0; |
|||
m_settings.m_SilkScreenColorTop.b = color.Blue() / 255.0; |
|||
break; |
|||
case B_SilkS: |
|||
m_settings.m_SilkScreenColorBot.r = color.Red() / 255.0; |
|||
m_settings.m_SilkScreenColorBot.g = color.Green() / 255.0; |
|||
m_settings.m_SilkScreenColorBot.b = color.Blue() / 255.0; |
|||
break; |
|||
case F_Mask: |
|||
m_settings.m_SolderMaskColorTop.r = color.Red() / 255.0; |
|||
m_settings.m_SolderMaskColorTop.g = color.Green() / 255.0; |
|||
m_settings.m_SolderMaskColorTop.b = color.Blue() / 255.0; |
|||
// Keep the previous alpha value
|
|||
//m_boardAdapter.m_SolderMaskColorTop.a = color.Alpha() / 255.0;
|
|||
break; |
|||
case B_Mask: |
|||
m_settings.m_SolderMaskColorBot.r = color.Red() / 255.0; |
|||
m_settings.m_SolderMaskColorBot.g = color.Green() / 255.0; |
|||
m_settings.m_SolderMaskColorBot.b = color.Blue() / 255.0; |
|||
// Keep the previous alpha value
|
|||
//m_boardAdapter.m_SolderMaskColorBot.a = color.Alpha() / 255.0;
|
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
|
|||
TransferDataToWindow(); |
|||
} |
|||
} |
@ -0,0 +1,54 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 2 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html |
|||
* or you may search the http://www.gnu.org website for the version 2 license, |
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#ifndef PANEL_3D_COLORS_H |
|||
#define PANEL_3D_COLORS_H |
|||
|
|||
#include "panel_3D_colors_base.h" |
|||
#include <3d_viewer/eda_3d_viewer.h> |
|||
|
|||
class PANEL_3D_COLORS : public PANEL_3D_COLORS_BASE |
|||
{ |
|||
public: |
|||
explicit PANEL_3D_COLORS( EDA_3D_VIEWER* aFrame, wxWindow* aParent ); |
|||
|
|||
/// Automatically called when clicking on the OK button |
|||
bool TransferDataFromWindow() override; |
|||
|
|||
/// Automatically called after creating the dialog |
|||
bool TransferDataToWindow() override; |
|||
|
|||
void OnLoadColorsFromBoardStackup( wxCommandEvent& event ) override; |
|||
|
|||
private: |
|||
BOARD_ADAPTER& m_settings; |
|||
|
|||
CUSTOM_COLORS_LIST m_silkscreenColors; |
|||
CUSTOM_COLORS_LIST m_maskColors; |
|||
CUSTOM_COLORS_LIST m_pasteColors; |
|||
CUSTOM_COLORS_LIST m_finishColors; |
|||
CUSTOM_COLORS_LIST m_boardColors; |
|||
}; |
|||
|
|||
|
|||
#endif // PANEL_3D_COLORS_H |
@ -0,0 +1,146 @@ |
|||
///////////////////////////////////////////////////////////////////////////
|
|||
// C++ code generated with wxFormBuilder (version Oct 26 2018)
|
|||
// http://www.wxformbuilder.org/
|
|||
//
|
|||
// PLEASE DO *NOT* EDIT THIS FILE!
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "widgets/color_swatch.h"
|
|||
|
|||
#include "panel_3D_colors_base.h"
|
|||
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
PANEL_3D_COLORS_BASE::PANEL_3D_COLORS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name ) |
|||
{ |
|||
wxBoxSizer* bSizerMain; |
|||
bSizerMain = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxBoxSizer* bSizerMargins; |
|||
bSizerMargins = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
wxFlexGridSizer* fgSizer1; |
|||
fgSizer1 = new wxFlexGridSizer( 0, 2, 5, 0 ); |
|||
fgSizer1->SetFlexibleDirection( wxBOTH ); |
|||
fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); |
|||
|
|||
backgroundTopLabel = new wxStaticText( this, wxID_ANY, _("Background top:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
backgroundTopLabel->Wrap( -1 ); |
|||
fgSizer1->Add( backgroundTopLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_backgroundTop = new COLOR_SWATCH( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
fgSizer1->Add( m_backgroundTop, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
backgroundBotLabel = new wxStaticText( this, wxID_ANY, _("Background bottom:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
backgroundBotLabel->Wrap( -1 ); |
|||
fgSizer1->Add( backgroundBotLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_backgroundBottom = new COLOR_SWATCH( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
fgSizer1->Add( m_backgroundBottom, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
fgSizer1->Add( 0, 10, 1, wxEXPAND, 5 ); |
|||
|
|||
|
|||
fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 ); |
|||
|
|||
silkscreenTopLabel = new wxStaticText( this, wxID_ANY, _("Silkscreen top:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
silkscreenTopLabel->Wrap( -1 ); |
|||
fgSizer1->Add( silkscreenTopLabel, 0, wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_silkscreenTop = new COLOR_SWATCH( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
fgSizer1->Add( m_silkscreenTop, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
silkscreenBottomLabel = new wxStaticText( this, wxID_ANY, _("Silkscreen bottom:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
silkscreenBottomLabel->Wrap( -1 ); |
|||
fgSizer1->Add( silkscreenBottomLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_silkscreenBottom = new COLOR_SWATCH( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
fgSizer1->Add( m_silkscreenBottom, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
fgSizer1->Add( 0, 10, 1, wxEXPAND, 5 ); |
|||
|
|||
|
|||
fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 ); |
|||
|
|||
solderMaskTopLabel = new wxStaticText( this, wxID_ANY, _("Solder mask top:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
solderMaskTopLabel->Wrap( -1 ); |
|||
fgSizer1->Add( solderMaskTopLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_solderMaskTop = new COLOR_SWATCH( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
fgSizer1->Add( m_solderMaskTop, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
solderMaskBottomLabel = new wxStaticText( this, wxID_ANY, _("Solder mask bottom:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
solderMaskBottomLabel->Wrap( -1 ); |
|||
fgSizer1->Add( solderMaskBottomLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_solderMaskBottom = new COLOR_SWATCH( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
fgSizer1->Add( m_solderMaskBottom, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
fgSizer1->Add( 0, 10, 1, wxEXPAND, 5 ); |
|||
|
|||
|
|||
fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 ); |
|||
|
|||
solderPasteLabel = new wxStaticText( this, wxID_ANY, _("Solder paste:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
solderPasteLabel->Wrap( -1 ); |
|||
fgSizer1->Add( solderPasteLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_solderPaste = new COLOR_SWATCH( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
fgSizer1->Add( m_solderPaste, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
|
|||
fgSizer1->Add( 0, 10, 1, wxEXPAND, 5 ); |
|||
|
|||
|
|||
fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 ); |
|||
|
|||
surfaceFinishLabel = new wxStaticText( this, wxID_ANY, _("Copper/surface finish:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
surfaceFinishLabel->Wrap( -1 ); |
|||
fgSizer1->Add( surfaceFinishLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_surfaceFinish = new COLOR_SWATCH( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
fgSizer1->Add( m_surfaceFinish, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
fgSizer1->Add( 0, 10, 1, wxEXPAND, 5 ); |
|||
|
|||
|
|||
fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 ); |
|||
|
|||
boardBodyLabel = new wxStaticText( this, wxID_ANY, _("Board body:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
boardBodyLabel->Wrap( -1 ); |
|||
fgSizer1->Add( boardBodyLabel, 0, wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_boardBody = new COLOR_SWATCH( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
fgSizer1->Add( m_boardBody, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
|
|||
bSizerMargins->Add( fgSizer1, 0, wxTOP, 5 ); |
|||
|
|||
|
|||
bSizerMargins->Add( 0, 0, 1, wxEXPAND, 5 ); |
|||
|
|||
m_loadStackup = new wxButton( this, wxID_ANY, _("Load Colors from Board Stackup"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
bSizerMargins->Add( m_loadStackup, 0, wxALL, 5 ); |
|||
|
|||
|
|||
bSizerMain->Add( bSizerMargins, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 ); |
|||
|
|||
|
|||
this->SetSizer( bSizerMain ); |
|||
this->Layout(); |
|||
bSizerMain->Fit( this ); |
|||
|
|||
// Connect Events
|
|||
m_loadStackup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_3D_COLORS_BASE::OnLoadColorsFromBoardStackup ), NULL, this ); |
|||
} |
|||
|
|||
PANEL_3D_COLORS_BASE::~PANEL_3D_COLORS_BASE() |
|||
{ |
|||
// Disconnect Events
|
|||
m_loadStackup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_3D_COLORS_BASE::OnLoadColorsFromBoardStackup ), NULL, this ); |
|||
|
|||
} |
1379
3d-viewer/3d_viewer/dialogs/panel_3D_colors_base.fbp
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,69 @@ |
|||
/////////////////////////////////////////////////////////////////////////// |
|||
// C++ code generated with wxFormBuilder (version Oct 26 2018) |
|||
// http://www.wxformbuilder.org/ |
|||
// |
|||
// PLEASE DO *NOT* EDIT THIS FILE! |
|||
/////////////////////////////////////////////////////////////////////////// |
|||
|
|||
#pragma once |
|||
|
|||
#include <wx/artprov.h> |
|||
#include <wx/xrc/xmlres.h> |
|||
#include <wx/intl.h> |
|||
class COLOR_SWATCH; |
|||
|
|||
#include <wx/string.h> |
|||
#include <wx/stattext.h> |
|||
#include <wx/gdicmn.h> |
|||
#include <wx/font.h> |
|||
#include <wx/colour.h> |
|||
#include <wx/settings.h> |
|||
#include <wx/sizer.h> |
|||
#include <wx/bitmap.h> |
|||
#include <wx/image.h> |
|||
#include <wx/icon.h> |
|||
#include <wx/button.h> |
|||
#include <wx/panel.h> |
|||
|
|||
/////////////////////////////////////////////////////////////////////////// |
|||
|
|||
|
|||
/////////////////////////////////////////////////////////////////////////////// |
|||
/// Class PANEL_3D_COLORS_BASE |
|||
/////////////////////////////////////////////////////////////////////////////// |
|||
class PANEL_3D_COLORS_BASE : public wxPanel |
|||
{ |
|||
private: |
|||
|
|||
protected: |
|||
wxStaticText* backgroundTopLabel; |
|||
COLOR_SWATCH* m_backgroundTop; |
|||
wxStaticText* backgroundBotLabel; |
|||
COLOR_SWATCH* m_backgroundBottom; |
|||
wxStaticText* silkscreenTopLabel; |
|||
COLOR_SWATCH* m_silkscreenTop; |
|||
wxStaticText* silkscreenBottomLabel; |
|||
COLOR_SWATCH* m_silkscreenBottom; |
|||
wxStaticText* solderMaskTopLabel; |
|||
COLOR_SWATCH* m_solderMaskTop; |
|||
wxStaticText* solderMaskBottomLabel; |
|||
COLOR_SWATCH* m_solderMaskBottom; |
|||
wxStaticText* solderPasteLabel; |
|||
COLOR_SWATCH* m_solderPaste; |
|||
wxStaticText* surfaceFinishLabel; |
|||
COLOR_SWATCH* m_surfaceFinish; |
|||
wxStaticText* boardBodyLabel; |
|||
COLOR_SWATCH* m_boardBody; |
|||
wxButton* m_loadStackup; |
|||
|
|||
// Virtual event handlers, overide them in your derived class |
|||
virtual void OnLoadColorsFromBoardStackup( wxCommandEvent& event ) { event.Skip(); } |
|||
|
|||
|
|||
public: |
|||
|
|||
PANEL_3D_COLORS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); |
|||
~PANEL_3D_COLORS_BASE(); |
|||
|
|||
}; |
|||
|
@ -0,0 +1,136 @@ |
|||
/*
|
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2017 Jean-Pierre Charras, jp.charras at wanadoo.fr |
|||
* Copyright (C) 2014-2021 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 2 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|||
* or you may search the http://www.gnu.org website for the version 2 license,
|
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#include "panel_3D_display_options.h"
|
|||
#include <3d_canvas/board_adapter.h>
|
|||
#include <3d_viewer/eda_3d_viewer.h>
|
|||
#include <3d_viewer/tools/3d_controller.h>
|
|||
#include <tool/tool_manager.h>
|
|||
|
|||
|
|||
PANEL_3D_DISPLAY_OPTIONS::PANEL_3D_DISPLAY_OPTIONS( EDA_3D_VIEWER* aFrame, wxWindow* aParent ) : |
|||
PANEL_3D_DISPLAY_OPTIONS_BASE( aParent ), |
|||
m_frame( aFrame ), |
|||
m_settings( aFrame->GetAdapter() ), |
|||
m_canvas( aFrame->GetCanvas() ) |
|||
{ |
|||
} |
|||
|
|||
|
|||
void PANEL_3D_DISPLAY_OPTIONS::OnCheckEnableAnimation( wxCommandEvent& event ) |
|||
{ |
|||
m_staticAnimationSpeed->Enable( m_checkBoxEnableAnimation->GetValue() ); |
|||
m_sliderAnimationSpeed->Enable( m_checkBoxEnableAnimation->GetValue() ); |
|||
} |
|||
|
|||
|
|||
bool PANEL_3D_DISPLAY_OPTIONS::TransferDataToWindow() |
|||
{ |
|||
// Check/uncheck checkboxes
|
|||
m_checkBoxRealisticMode->SetValue( m_settings.GetFlag( FL_USE_REALISTIC_MODE ) ); |
|||
m_checkBoxBoardBody->SetValue( m_settings.GetFlag( FL_SHOW_BOARD_BODY ) ); |
|||
m_checkBoxAreas->SetValue( m_settings.GetFlag( FL_ZONE ) ); |
|||
|
|||
m_checkBox3DshapesTH->SetValue( m_settings.GetFlag( FL_FP_ATTRIBUTES_NORMAL ) ); |
|||
m_checkBox3DshapesSMD->SetValue( m_settings.GetFlag( FL_FP_ATTRIBUTES_NORMAL_INSERT ) ); |
|||
m_checkBox3DshapesVirtual->SetValue( m_settings.GetFlag( FL_FP_ATTRIBUTES_VIRTUAL ) ); |
|||
|
|||
m_checkBoxSilkscreen->SetValue( m_settings.GetFlag( FL_SILKSCREEN ) ); |
|||
m_checkBoxSolderMask->SetValue( m_settings.GetFlag( FL_SOLDERMASK ) ); |
|||
m_checkBoxSolderpaste->SetValue( m_settings.GetFlag( FL_SOLDERPASTE ) ); |
|||
m_checkBoxAdhesive->SetValue( m_settings.GetFlag( FL_ADHESIVE ) ); |
|||
m_checkBoxComments->SetValue( m_settings.GetFlag( FL_COMMENTS ) ); |
|||
m_checkBoxECO->SetValue( m_settings.GetFlag( FL_ECO ) ); |
|||
m_checkBoxSubtractMaskFromSilk->SetValue( m_settings.GetFlag( FL_SUBTRACT_MASK_FROM_SILK ) ); |
|||
m_checkBoxClipSilkOnViaAnnulus->SetValue( m_settings.GetFlag( FL_CLIP_SILK_ON_VIA_ANNULUS ) ); |
|||
m_checkBoxRenderPlatedPadsAsPlated->SetValue( |
|||
m_settings.GetFlag( FL_RENDER_PLATED_PADS_AS_PLATED ) ); |
|||
|
|||
switch( m_settings.GetMaterialMode() ) |
|||
{ |
|||
default: |
|||
case MATERIAL_MODE::NORMAL: m_materialProperties->SetSelection( 0 ); break; |
|||
case MATERIAL_MODE::DIFFUSE_ONLY: m_materialProperties->SetSelection( 1 ); break; |
|||
case MATERIAL_MODE::CAD_MODE: m_materialProperties->SetSelection( 2 ); break; |
|||
} |
|||
|
|||
// 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() ); |
|||
|
|||
EDA_3D_CONTROLLER* ctrlTool = m_frame->GetToolManager()->GetTool<EDA_3D_CONTROLLER>(); |
|||
m_spinCtrlRotationAngle->SetValue( ctrlTool->GetRotationIncrement() ); |
|||
|
|||
return true; |
|||
} |
|||
|
|||
|
|||
bool PANEL_3D_DISPLAY_OPTIONS::TransferDataFromWindow() |
|||
{ |
|||
// Set render mode
|
|||
m_settings.SetFlag( FL_USE_REALISTIC_MODE, m_checkBoxRealisticMode->GetValue() ); |
|||
|
|||
// Set visibility of items
|
|||
m_settings.SetFlag( FL_SHOW_BOARD_BODY, m_checkBoxBoardBody->GetValue() ); |
|||
m_settings.SetFlag( FL_ZONE, m_checkBoxAreas->GetValue() ); |
|||
m_settings.SetFlag( FL_SUBTRACT_MASK_FROM_SILK, m_checkBoxSubtractMaskFromSilk->GetValue() ); |
|||
m_settings.SetFlag( FL_CLIP_SILK_ON_VIA_ANNULUS, m_checkBoxClipSilkOnViaAnnulus->GetValue() ); |
|||
m_settings.SetFlag( FL_RENDER_PLATED_PADS_AS_PLATED, |
|||
m_checkBoxRenderPlatedPadsAsPlated->GetValue() ); |
|||
|
|||
switch( m_materialProperties->GetSelection() ) |
|||
{ |
|||
default: |
|||
case 0: m_settings.SetMaterialMode( MATERIAL_MODE::NORMAL ); break; |
|||
case 1: m_settings.SetMaterialMode( MATERIAL_MODE::DIFFUSE_ONLY ); break; |
|||
case 2: m_settings.SetMaterialMode( MATERIAL_MODE::CAD_MODE ); break; |
|||
} |
|||
|
|||
// Set 3D shapes visibility
|
|||
m_settings.SetFlag( FL_FP_ATTRIBUTES_NORMAL, m_checkBox3DshapesTH->GetValue() ); |
|||
m_settings.SetFlag( FL_FP_ATTRIBUTES_NORMAL_INSERT, m_checkBox3DshapesSMD->GetValue() ); |
|||
m_settings.SetFlag( FL_FP_ATTRIBUTES_VIRTUAL, m_checkBox3DshapesVirtual->GetValue() ); |
|||
|
|||
// Set Layer visibility
|
|||
m_settings.SetFlag( FL_SILKSCREEN, m_checkBoxSilkscreen->GetValue() ); |
|||
m_settings.SetFlag( FL_SOLDERMASK, m_checkBoxSolderMask->GetValue() ); |
|||
m_settings.SetFlag( FL_SOLDERPASTE, m_checkBoxSolderpaste->GetValue() ); |
|||
m_settings.SetFlag( FL_ADHESIVE, m_checkBoxAdhesive->GetValue() ); |
|||
m_settings.SetFlag( FL_COMMENTS, m_checkBoxComments->GetValue() ); |
|||
m_settings.SetFlag( FL_ECO, m_checkBoxECO->GetValue( ) ); |
|||
|
|||
// Camera Options
|
|||
m_canvas->AnimationEnabledSet( m_checkBoxEnableAnimation->GetValue() ); |
|||
m_canvas->MovingSpeedMultiplierSet( m_sliderAnimationSpeed->GetValue() ); |
|||
|
|||
EDA_3D_CONTROLLER* ctrlTool = m_frame->GetToolManager()->GetTool<EDA_3D_CONTROLLER>(); |
|||
ctrlTool->SetRotationIncrement( m_spinCtrlRotationAngle->GetValue() ); |
|||
|
|||
m_frame->NewDisplay(); |
|||
m_canvas->Request_refresh(); |
|||
|
|||
return true; |
|||
} |
@ -0,0 +1,54 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2017 Jean-Pierre Charras, jp.charras at wanadoo.fr |
|||
* Copyright (C) 2014-2021 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 2 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html |
|||
* or you may search the http://www.gnu.org website for the version 2 license, |
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#ifndef PANEL_3D_DISPLAY_OPTIONS_H |
|||
#define PANEL_3D_DISPLAY_OPTIONS_H |
|||
|
|||
#include "panel_3D_display_options_base.h" |
|||
#include <3d_viewer/eda_3d_viewer.h> |
|||
|
|||
|
|||
class PANEL_3D_DISPLAY_OPTIONS : public PANEL_3D_DISPLAY_OPTIONS_BASE |
|||
{ |
|||
public: |
|||
explicit PANEL_3D_DISPLAY_OPTIONS( EDA_3D_VIEWER* aFrame, wxWindow* aParent ); |
|||
|
|||
void OnCheckEnableAnimation( wxCommandEvent& WXUNUSED( event ) ) override; |
|||
|
|||
/// Automatically called when clicking on the OK button |
|||
bool TransferDataFromWindow() override; |
|||
|
|||
/// Automatically called after creating the dialog |
|||
bool TransferDataToWindow() override; |
|||
|
|||
void TransferColorDataToWindow(); |
|||
|
|||
private: |
|||
EDA_3D_VIEWER* m_frame; |
|||
BOARD_ADAPTER& m_settings; |
|||
EDA_3D_CANVAS* m_canvas; |
|||
}; |
|||
|
|||
|
|||
#endif // PANEL_3D_DISPLAY_OPTIONS_H |
@ -0,0 +1,178 @@ |
|||
///////////////////////////////////////////////////////////////////////////
|
|||
// C++ code generated with wxFormBuilder (version Oct 26 2018)
|
|||
// http://www.wxformbuilder.org/
|
|||
//
|
|||
// PLEASE DO *NOT* EDIT THIS FILE!
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "panel_3D_display_options_base.h"
|
|||
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
PANEL_3D_DISPLAY_OPTIONS_BASE::PANEL_3D_DISPLAY_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name ) |
|||
{ |
|||
wxBoxSizer* bSizerMain; |
|||
bSizerMain = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
wxBoxSizer* bSizeLeft; |
|||
bSizeLeft = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxStaticBoxSizer* sbModelVisibility; |
|||
sbModelVisibility = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("3D Model Visibility") ), wxVERTICAL ); |
|||
|
|||
m_checkBox3DshapesTH = new wxCheckBox( sbModelVisibility->GetStaticBox(), wxID_ANY, _("Show 3D through hole models"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbModelVisibility->Add( m_checkBox3DshapesTH, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBox3DshapesSMD = new wxCheckBox( sbModelVisibility->GetStaticBox(), wxID_ANY, _("Show 3D SMD models"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbModelVisibility->Add( m_checkBox3DshapesSMD, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBox3DshapesVirtual = new wxCheckBox( sbModelVisibility->GetStaticBox(), wxID_ANY, _("Show 3D virtual models"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbModelVisibility->Add( m_checkBox3DshapesVirtual, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
|
|||
bSizeLeft->Add( sbModelVisibility, 0, wxEXPAND|wxALL, 5 ); |
|||
|
|||
wxStaticBoxSizer* sbBoardLayers; |
|||
sbBoardLayers = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Board Layers") ), wxVERTICAL ); |
|||
|
|||
m_checkBoxSilkscreen = new wxCheckBox( sbBoardLayers->GetStaticBox(), wxID_ANY, _("Show silkscreen layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbBoardLayers->Add( m_checkBoxSilkscreen, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxSolderMask = new wxCheckBox( sbBoardLayers->GetStaticBox(), wxID_ANY, _("Show solder mask layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbBoardLayers->Add( m_checkBoxSolderMask, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxSolderpaste = new wxCheckBox( sbBoardLayers->GetStaticBox(), wxID_ANY, _("Show solder paste layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbBoardLayers->Add( m_checkBoxSolderpaste, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxAdhesive = new wxCheckBox( sbBoardLayers->GetStaticBox(), wxID_ANY, _("Show adhesive layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbBoardLayers->Add( m_checkBoxAdhesive, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
|
|||
bSizeLeft->Add( sbBoardLayers, 0, wxEXPAND|wxALL, 5 ); |
|||
|
|||
wxStaticBoxSizer* sbUserLayers; |
|||
sbUserLayers = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("User Layers (not shown in realistic mode)") ), wxVERTICAL ); |
|||
|
|||
m_checkBoxComments = new wxCheckBox( sbUserLayers->GetStaticBox(), wxID_ANY, _("Show comments and drawings layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbUserLayers->Add( m_checkBoxComments, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxECO = new wxCheckBox( sbUserLayers->GetStaticBox(), wxID_ANY, _("Show ECO layers"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbUserLayers->Add( m_checkBoxECO, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
|
|||
bSizeLeft->Add( sbUserLayers, 0, wxEXPAND|wxALL, 5 ); |
|||
|
|||
|
|||
bSizerMain->Add( bSizeLeft, 1, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 10 ); |
|||
|
|||
wxBoxSizer* bSizerRight; |
|||
bSizerRight = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxStaticBoxSizer* sbRenderOptions; |
|||
sbRenderOptions = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Render Options") ), wxVERTICAL ); |
|||
|
|||
m_checkBoxRealisticMode = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Realistic mode"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbRenderOptions->Add( m_checkBoxRealisticMode, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxBoardBody = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Show board body"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbRenderOptions->Add( m_checkBoxBoardBody, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxAreas = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Show filled areas in zones"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbRenderOptions->Add( m_checkBoxAreas, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxSubtractMaskFromSilk = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Subtract soldermask from silkscreen"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbRenderOptions->Add( m_checkBoxSubtractMaskFromSilk, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxClipSilkOnViaAnnulus = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Clip silkscreen at via annuli"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbRenderOptions->Add( m_checkBoxClipSilkOnViaAnnulus, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
m_checkBoxRenderPlatedPadsAsPlated = new wxCheckBox( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Use bare copper color for unplated copper"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRenderPlatedPadsAsPlated->SetToolTip( _("Use different colors for plated and unplated copper. (Slow)") ); |
|||
|
|||
sbRenderOptions->Add( m_checkBoxRenderPlatedPadsAsPlated, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
wxBoxSizer* bSizerMaterials; |
|||
bSizerMaterials = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
m_materialPropertiesLabel = new wxStaticText( sbRenderOptions->GetStaticBox(), wxID_ANY, _("Material properties:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_materialPropertiesLabel->Wrap( -1 ); |
|||
bSizerMaterials->Add( m_materialPropertiesLabel, 0, wxTOP|wxBOTTOM|wxLEFT, 5 ); |
|||
|
|||
wxString m_materialPropertiesChoices[] = { _("Use all properties"), _("Diffuse properties only"), _("CAD color style") }; |
|||
int m_materialPropertiesNChoices = sizeof( m_materialPropertiesChoices ) / sizeof( wxString ); |
|||
m_materialProperties = new wxChoice( sbRenderOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_materialPropertiesNChoices, m_materialPropertiesChoices, 0 ); |
|||
m_materialProperties->SetSelection( 0 ); |
|||
bSizerMaterials->Add( m_materialProperties, 0, wxALL, 5 ); |
|||
|
|||
|
|||
sbRenderOptions->Add( bSizerMaterials, 1, wxEXPAND, 5 ); |
|||
|
|||
|
|||
bSizerRight->Add( sbRenderOptions, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 ); |
|||
|
|||
wxStaticBoxSizer* sbCameraOptions; |
|||
sbCameraOptions = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Camera Options") ), wxVERTICAL ); |
|||
|
|||
wxBoxSizer* bSizerRotAngle; |
|||
bSizerRotAngle = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
m_staticTextRotAngle = new wxStaticText( sbCameraOptions->GetStaticBox(), wxID_ANY, _("Rotation Increment:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticTextRotAngle->Wrap( -1 ); |
|||
bSizerRotAngle->Add( m_staticTextRotAngle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrlRotationAngle = new wxSpinCtrlDouble( sbCameraOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 359, 10, 1 ); |
|||
m_spinCtrlRotationAngle->SetDigits( 0 ); |
|||
bSizerRotAngle->Add( m_spinCtrlRotationAngle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_staticTextRotAngleUnits = new wxStaticText( sbCameraOptions->GetStaticBox(), wxID_ANY, _("deg"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticTextRotAngleUnits->Wrap( -1 ); |
|||
bSizerRotAngle->Add( m_staticTextRotAngleUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); |
|||
|
|||
|
|||
sbCameraOptions->Add( bSizerRotAngle, 0, wxEXPAND|wxBOTTOM, 5 ); |
|||
|
|||
m_staticline3 = new wxStaticLine( sbCameraOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); |
|||
sbCameraOptions->Add( m_staticline3, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); |
|||
|
|||
m_checkBoxEnableAnimation = new wxCheckBox( sbCameraOptions->GetStaticBox(), wxID_ANY, _("Enable animation"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxEnableAnimation->SetValue(true); |
|||
sbCameraOptions->Add( m_checkBoxEnableAnimation, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
wxBoxSizer* bSizerSlider; |
|||
bSizerSlider = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
m_staticAnimationSpeed = new wxStaticText( sbCameraOptions->GetStaticBox(), wxID_ANY, _("Animation speed:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticAnimationSpeed->Wrap( -1 ); |
|||
bSizerSlider->Add( m_staticAnimationSpeed, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_sliderAnimationSpeed = new wxSlider( sbCameraOptions->GetStaticBox(), wxID_ANY, 3, 1, 5, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS ); |
|||
m_sliderAnimationSpeed->SetMinSize( wxSize( 100,-1 ) ); |
|||
|
|||
bSizerSlider->Add( m_sliderAnimationSpeed, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 ); |
|||
|
|||
|
|||
sbCameraOptions->Add( bSizerSlider, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); |
|||
|
|||
|
|||
bSizerRight->Add( sbCameraOptions, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 ); |
|||
|
|||
|
|||
bSizerMain->Add( bSizerRight, 1, wxEXPAND|wxTOP|wxBOTTOM, 10 ); |
|||
|
|||
|
|||
this->SetSizer( bSizerMain ); |
|||
this->Layout(); |
|||
bSizerMain->Fit( this ); |
|||
|
|||
// Connect Events
|
|||
m_checkBoxRealisticMode->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_3D_DISPLAY_OPTIONS_BASE::OnCheckRealisticMode ), NULL, this ); |
|||
m_checkBoxEnableAnimation->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_3D_DISPLAY_OPTIONS_BASE::OnCheckEnableAnimation ), NULL, this ); |
|||
} |
|||
|
|||
PANEL_3D_DISPLAY_OPTIONS_BASE::~PANEL_3D_DISPLAY_OPTIONS_BASE() |
|||
{ |
|||
// Disconnect Events
|
|||
m_checkBoxRealisticMode->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_3D_DISPLAY_OPTIONS_BASE::OnCheckRealisticMode ), NULL, this ); |
|||
m_checkBoxEnableAnimation->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_3D_DISPLAY_OPTIONS_BASE::OnCheckEnableAnimation ), NULL, this ); |
|||
|
|||
} |
1706
3d-viewer/3d_viewer/dialogs/panel_3D_display_options_base.fbp
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,75 @@ |
|||
/////////////////////////////////////////////////////////////////////////// |
|||
// C++ code generated with wxFormBuilder (version Oct 26 2018) |
|||
// http://www.wxformbuilder.org/ |
|||
// |
|||
// PLEASE DO *NOT* EDIT THIS FILE! |
|||
/////////////////////////////////////////////////////////////////////////// |
|||
|
|||
#pragma once |
|||
|
|||
#include <wx/artprov.h> |
|||
#include <wx/xrc/xmlres.h> |
|||
#include <wx/intl.h> |
|||
#include <wx/string.h> |
|||
#include <wx/checkbox.h> |
|||
#include <wx/gdicmn.h> |
|||
#include <wx/font.h> |
|||
#include <wx/colour.h> |
|||
#include <wx/settings.h> |
|||
#include <wx/sizer.h> |
|||
#include <wx/statbox.h> |
|||
#include <wx/stattext.h> |
|||
#include <wx/choice.h> |
|||
#include <wx/spinctrl.h> |
|||
#include <wx/statline.h> |
|||
#include <wx/slider.h> |
|||
#include <wx/panel.h> |
|||
|
|||
/////////////////////////////////////////////////////////////////////////// |
|||
|
|||
|
|||
/////////////////////////////////////////////////////////////////////////////// |
|||
/// Class PANEL_3D_DISPLAY_OPTIONS_BASE |
|||
/////////////////////////////////////////////////////////////////////////////// |
|||
class PANEL_3D_DISPLAY_OPTIONS_BASE : public wxPanel |
|||
{ |
|||
private: |
|||
|
|||
protected: |
|||
wxCheckBox* m_checkBox3DshapesTH; |
|||
wxCheckBox* m_checkBox3DshapesSMD; |
|||
wxCheckBox* m_checkBox3DshapesVirtual; |
|||
wxCheckBox* m_checkBoxSilkscreen; |
|||
wxCheckBox* m_checkBoxSolderMask; |
|||
wxCheckBox* m_checkBoxSolderpaste; |
|||
wxCheckBox* m_checkBoxAdhesive; |
|||
wxCheckBox* m_checkBoxComments; |
|||
wxCheckBox* m_checkBoxECO; |
|||
wxCheckBox* m_checkBoxRealisticMode; |
|||
wxCheckBox* m_checkBoxBoardBody; |
|||
wxCheckBox* m_checkBoxAreas; |
|||
wxCheckBox* m_checkBoxSubtractMaskFromSilk; |
|||
wxCheckBox* m_checkBoxClipSilkOnViaAnnulus; |
|||
wxCheckBox* m_checkBoxRenderPlatedPadsAsPlated; |
|||
wxStaticText* m_materialPropertiesLabel; |
|||
wxChoice* m_materialProperties; |
|||
wxStaticText* m_staticTextRotAngle; |
|||
wxSpinCtrlDouble* m_spinCtrlRotationAngle; |
|||
wxStaticText* m_staticTextRotAngleUnits; |
|||
wxStaticLine* m_staticline3; |
|||
wxCheckBox* m_checkBoxEnableAnimation; |
|||
wxStaticText* m_staticAnimationSpeed; |
|||
wxSlider* m_sliderAnimationSpeed; |
|||
|
|||
// Virtual event handlers, overide them in your derived class |
|||
virtual void OnCheckRealisticMode( wxCommandEvent& event ) { event.Skip(); } |
|||
virtual void OnCheckEnableAnimation( wxCommandEvent& event ) { event.Skip(); } |
|||
|
|||
|
|||
public: |
|||
|
|||
PANEL_3D_DISPLAY_OPTIONS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); |
|||
~PANEL_3D_DISPLAY_OPTIONS_BASE(); |
|||
|
|||
}; |
|||
|
@ -0,0 +1,89 @@ |
|||
/*
|
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2017 Jean-Pierre Charras, jp.charras at wanadoo.fr |
|||
* Copyright (C) 2014-2021 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 2 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|||
* or you may search the http://www.gnu.org website for the version 2 license,
|
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#include "panel_3D_opengl_options.h"
|
|||
#include <widgets/color_swatch.h>
|
|||
#include <3d_canvas/board_adapter.h>
|
|||
#include <3d_viewer/eda_3d_viewer.h>
|
|||
#include <3d_viewer/tools/3d_controller.h>
|
|||
|
|||
PANEL_3D_OPENGL_OPTIONS::PANEL_3D_OPENGL_OPTIONS( EDA_3D_VIEWER* aFrame, wxWindow* aParent ) : |
|||
PANEL_3D_OPENGL_OPTIONS_BASE( aParent ), |
|||
m_settings( aFrame->GetAdapter() ), |
|||
m_canvas( aFrame->GetCanvas() ) |
|||
{ |
|||
m_selectionColorSwatch->SetDefaultColor( COLOR4D( 0.0, 1.0, 0.0, 1.0 ) ); |
|||
m_selectionColorSwatch->SetSupportsOpacity( false ); |
|||
} |
|||
|
|||
|
|||
bool PANEL_3D_OPENGL_OPTIONS::TransferDataToWindow() |
|||
{ |
|||
m_checkBoxCuThickness->SetValue( m_settings.GetFlag( FL_RENDER_OPENGL_COPPER_THICKNESS ) ); |
|||
m_checkBoxBoundingBoxes->SetValue( m_settings.GetFlag( FL_RENDER_OPENGL_SHOW_MODEL_BBOX ) ); |
|||
m_checkBoxHighlightOnRollOver->SetValue( m_settings.GetFlag( FL_HIGHLIGHT_ROLLOVER_ITEM ) ); |
|||
|
|||
m_choiceAntiAliasing->SetSelection( static_cast<int>( m_settings.GetAntiAliasingMode() ) ); |
|||
m_selectionColorSwatch->SetSwatchColor( COLOR4D( m_settings.m_OpenGlSelectionColor.r, |
|||
m_settings.m_OpenGlSelectionColor.g, |
|||
m_settings.m_OpenGlSelectionColor.b, |
|||
1.0 ), |
|||
false ); |
|||
|
|||
m_checkBoxDisableAAMove->SetValue( |
|||
m_settings.GetFlag( FL_RENDER_OPENGL_AA_DISABLE_ON_MOVE ) ); |
|||
m_checkBoxDisableMoveThickness->SetValue( |
|||
m_settings.GetFlag( FL_RENDER_OPENGL_THICKNESS_DISABLE_ON_MOVE ) ); |
|||
m_checkBoxDisableMoveVias->SetValue( |
|||
m_settings.GetFlag( FL_RENDER_OPENGL_VIAS_DISABLE_ON_MOVE ) ); |
|||
m_checkBoxDisableMoveHoles->SetValue( |
|||
m_settings.GetFlag( FL_RENDER_OPENGL_HOLES_DISABLE_ON_MOVE ) ); |
|||
|
|||
return true; |
|||
} |
|||
|
|||
|
|||
bool PANEL_3D_OPENGL_OPTIONS::TransferDataFromWindow() |
|||
{ |
|||
m_settings.SetFlag( FL_RENDER_OPENGL_COPPER_THICKNESS, m_checkBoxCuThickness->GetValue() ); |
|||
m_settings.SetFlag( FL_RENDER_OPENGL_SHOW_MODEL_BBOX, m_checkBoxBoundingBoxes->GetValue() ); |
|||
m_settings.SetFlag( FL_HIGHLIGHT_ROLLOVER_ITEM, m_checkBoxHighlightOnRollOver->GetValue() ); |
|||
|
|||
m_settings.SetAntiAliasingMode( |
|||
static_cast<ANTIALIASING_MODE>( m_choiceAntiAliasing->GetSelection() ) ); |
|||
m_settings.m_OpenGlSelectionColor = SFVEC3F( m_selectionColorSwatch->GetSwatchColor().r, |
|||
m_selectionColorSwatch->GetSwatchColor().g, |
|||
m_selectionColorSwatch->GetSwatchColor().b ); |
|||
|
|||
m_settings.SetFlag( FL_RENDER_OPENGL_AA_DISABLE_ON_MOVE, |
|||
m_checkBoxDisableAAMove->GetValue() ); |
|||
m_settings.SetFlag( FL_RENDER_OPENGL_THICKNESS_DISABLE_ON_MOVE, |
|||
m_checkBoxDisableMoveThickness->GetValue() ); |
|||
m_settings.SetFlag( FL_RENDER_OPENGL_VIAS_DISABLE_ON_MOVE, |
|||
m_checkBoxDisableMoveVias->GetValue() ); |
|||
m_settings.SetFlag( FL_RENDER_OPENGL_HOLES_DISABLE_ON_MOVE, |
|||
m_checkBoxDisableMoveHoles->GetValue() ); |
|||
|
|||
return true; |
|||
} |
@ -0,0 +1,48 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2017 Jean-Pierre Charras, jp.charras at wanadoo.fr |
|||
* Copyright (C) 2014-2021 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 2 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html |
|||
* or you may search the http://www.gnu.org website for the version 2 license, |
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#ifndef PANEL_3D_OPENGL_OPTIONS_H |
|||
#define PANEL_3D_OPENGL_OPTIONS_H |
|||
|
|||
#include "panel_3D_opengl_options_base.h" |
|||
#include <3d_viewer/eda_3d_viewer.h> |
|||
|
|||
class PANEL_3D_OPENGL_OPTIONS : public PANEL_3D_OPENGL_OPTIONS_BASE |
|||
{ |
|||
public: |
|||
explicit PANEL_3D_OPENGL_OPTIONS( EDA_3D_VIEWER* aFrame, wxWindow* aParent ); |
|||
|
|||
/// Automatically called when clicking on the OK button |
|||
bool TransferDataFromWindow() override; |
|||
|
|||
/// Automatically called after creating the dialog |
|||
bool TransferDataToWindow() override; |
|||
|
|||
private: |
|||
BOARD_ADAPTER& m_settings; |
|||
EDA_3D_CANVAS* m_canvas; |
|||
}; |
|||
|
|||
|
|||
#endif // PANEL_3D_OPENGL_OPTIONS_H |
@ -0,0 +1,91 @@ |
|||
///////////////////////////////////////////////////////////////////////////
|
|||
// C++ code generated with wxFormBuilder (version Oct 26 2018)
|
|||
// http://www.wxformbuilder.org/
|
|||
//
|
|||
// PLEASE DO *NOT* EDIT THIS FILE!
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "widgets/color_swatch.h"
|
|||
|
|||
#include "panel_3D_opengl_options_base.h"
|
|||
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
PANEL_3D_OPENGL_OPTIONS_BASE::PANEL_3D_OPENGL_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name ) |
|||
{ |
|||
wxBoxSizer* bSizerMain; |
|||
bSizerMain = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxBoxSizer* bSizerMargins; |
|||
bSizerMargins = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxStaticBoxSizer* sbSizerOpenGLRenderoptions; |
|||
sbSizerOpenGLRenderoptions = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Rendering Options") ), wxVERTICAL ); |
|||
|
|||
m_checkBoxBoundingBoxes = new wxCheckBox( sbSizerOpenGLRenderoptions->GetStaticBox(), wxID_ANY, _("Show model bounding boxes"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerOpenGLRenderoptions->Add( m_checkBoxBoundingBoxes, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxCuThickness = new wxCheckBox( sbSizerOpenGLRenderoptions->GetStaticBox(), wxID_ANY, _("Show copper thickness"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerOpenGLRenderoptions->Add( m_checkBoxCuThickness, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxHighlightOnRollOver = new wxCheckBox( sbSizerOpenGLRenderoptions->GetStaticBox(), wxID_ANY, _("Highlight items on rollover"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerOpenGLRenderoptions->Add( m_checkBoxHighlightOnRollOver, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
wxGridSizer* gSizer1; |
|||
gSizer1 = new wxGridSizer( 0, 2, 0, 0 ); |
|||
|
|||
m_staticText221 = new wxStaticText( sbSizerOpenGLRenderoptions->GetStaticBox(), wxID_ANY, _("Anti-aliasing:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText221->Wrap( -1 ); |
|||
gSizer1->Add( m_staticText221, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
wxString m_choiceAntiAliasingChoices[] = { _("Disabled"), _("2x"), _("4x"), _("8x") }; |
|||
int m_choiceAntiAliasingNChoices = sizeof( m_choiceAntiAliasingChoices ) / sizeof( wxString ); |
|||
m_choiceAntiAliasing = new wxChoice( sbSizerOpenGLRenderoptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceAntiAliasingNChoices, m_choiceAntiAliasingChoices, 0 ); |
|||
m_choiceAntiAliasing->SetSelection( 0 ); |
|||
m_choiceAntiAliasing->SetToolTip( _("3D-Viewer must be closed and re-opened to apply this setting") ); |
|||
|
|||
gSizer1->Add( m_choiceAntiAliasing, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_selectionColorLabel = new wxStaticText( sbSizerOpenGLRenderoptions->GetStaticBox(), wxID_ANY, _("Selection color:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_selectionColorLabel->Wrap( -1 ); |
|||
gSizer1->Add( m_selectionColorLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_selectionColorSwatch = new COLOR_SWATCH( sbSizerOpenGLRenderoptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); |
|||
gSizer1->Add( m_selectionColorSwatch, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
|
|||
sbSizerOpenGLRenderoptions->Add( gSizer1, 0, 0, 5 ); |
|||
|
|||
|
|||
bSizerMargins->Add( sbSizerOpenGLRenderoptions, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
wxStaticBoxSizer* sbSizerWhileMoving; |
|||
sbSizerWhileMoving = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("While Moving") ), wxVERTICAL ); |
|||
|
|||
m_checkBoxDisableAAMove = new wxCheckBox( sbSizerWhileMoving->GetStaticBox(), wxID_ANY, _("Disable anti-aliasing"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerWhileMoving->Add( m_checkBoxDisableAAMove, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxDisableMoveThickness = new wxCheckBox( sbSizerWhileMoving->GetStaticBox(), wxID_ANY, _("Disable thickness"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerWhileMoving->Add( m_checkBoxDisableMoveThickness, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxDisableMoveVias = new wxCheckBox( sbSizerWhileMoving->GetStaticBox(), wxID_ANY, _("Disable vias"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerWhileMoving->Add( m_checkBoxDisableMoveVias, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxDisableMoveHoles = new wxCheckBox( sbSizerWhileMoving->GetStaticBox(), wxID_ANY, _("Disable holes"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
sbSizerWhileMoving->Add( m_checkBoxDisableMoveHoles, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
bSizerMargins->Add( sbSizerWhileMoving, 0, wxALL|wxEXPAND, 5 ); |
|||
|
|||
|
|||
bSizerMain->Add( bSizerMargins, 1, wxEXPAND|wxRIGHT, 5 ); |
|||
|
|||
|
|||
this->SetSizer( bSizerMain ); |
|||
this->Layout(); |
|||
bSizerMain->Fit( this ); |
|||
} |
|||
|
|||
PANEL_3D_OPENGL_OPTIONS_BASE::~PANEL_3D_OPENGL_OPTIONS_BASE() |
|||
{ |
|||
} |
@ -0,0 +1,809 @@ |
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> |
|||
<wxFormBuilder_Project> |
|||
<FileVersion major="1" minor="15" /> |
|||
<object class="Project" expanded="1"> |
|||
<property name="class_decoration"></property> |
|||
<property name="code_generation">C++</property> |
|||
<property name="disconnect_events">1</property> |
|||
<property name="disconnect_mode">source_name</property> |
|||
<property name="disconnect_php_events">0</property> |
|||
<property name="disconnect_python_events">0</property> |
|||
<property name="embedded_files_path">res</property> |
|||
<property name="encoding">UTF-8</property> |
|||
<property name="event_generation">connect</property> |
|||
<property name="file">panel_3D_opengl_options_base</property> |
|||
<property name="first_id">1000</property> |
|||
<property name="help_provider">none</property> |
|||
<property name="indent_with_spaces"></property> |
|||
<property name="internationalize">1</property> |
|||
<property name="name">panel_3D_opengl_optionS_base</property> |
|||
<property name="namespace"></property> |
|||
<property name="path">.</property> |
|||
<property name="precompiled_header"></property> |
|||
<property name="relative_path">1</property> |
|||
<property name="skip_lua_events">1</property> |
|||
<property name="skip_php_events">1</property> |
|||
<property name="skip_python_events">1</property> |
|||
<property name="ui_table">UI</property> |
|||
<property name="use_enum">0</property> |
|||
<property name="use_microsoft_bom">0</property> |
|||
<object class="Panel" expanded="1"> |
|||
<property name="aui_managed">0</property> |
|||
<property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> |
|||
<property name="bg"></property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="enabled">1</property> |
|||
<property name="event_handler">impl_virtual</property> |
|||
<property name="fg"></property> |
|||
<property name="font"></property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="minimum_size"></property> |
|||
<property name="name">PANEL_3D_OPENGL_OPTIONS_BASE</property> |
|||
<property name="pos"></property> |
|||
<property name="size">-1,-1</property> |
|||
<property name="subclass">; ; forward_declare</property> |
|||
<property name="tooltip"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style">wxTAB_TRAVERSAL</property> |
|||
<object class="wxBoxSizer" expanded="1"> |
|||
<property name="minimum_size"></property> |
|||
<property name="name">bSizerMain</property> |
|||
<property name="orient">wxVERTICAL</property> |
|||
<property name="permission">none</property> |
|||
<object class="sizeritem" expanded="1"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxEXPAND|wxRIGHT</property> |
|||
<property name="proportion">1</property> |
|||
<object class="wxBoxSizer" expanded="1"> |
|||
<property name="minimum_size"></property> |
|||
<property name="name">bSizerMargins</property> |
|||
<property name="orient">wxVERTICAL</property> |
|||
<property name="permission">none</property> |
|||
<object class="sizeritem" expanded="1"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxALL|wxEXPAND</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxStaticBoxSizer" expanded="1"> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">Rendering Options</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="name">sbSizerOpenGLRenderoptions</property> |
|||
<property name="orient">wxVERTICAL</property> |
|||
<property name="parent">1</property> |
|||
<property name="permission">none</property> |
|||
<object class="sizeritem" expanded="0"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxCheckBox" expanded="0"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="checked">0</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">Show model bounding boxes</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_checkBoxBoundingBoxes</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="style"></property> |
|||
<property name="subclass"></property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="validator_data_type"></property> |
|||
<property name="validator_style">wxFILTER_NONE</property> |
|||
<property name="validator_type">wxDefaultValidator</property> |
|||
<property name="validator_variable"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
</object> |
|||
</object> |
|||
<object class="sizeritem" expanded="0"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxCheckBox" expanded="0"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="checked">0</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">Show copper thickness</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_checkBoxCuThickness</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="style"></property> |
|||
<property name="subclass"></property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="validator_data_type"></property> |
|||
<property name="validator_style">wxFILTER_NONE</property> |
|||
<property name="validator_type">wxDefaultValidator</property> |
|||
<property name="validator_variable"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
</object> |
|||
</object> |
|||
<object class="sizeritem" expanded="1"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxCheckBox" expanded="1"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="checked">0</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">Highlight items on rollover</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_checkBoxHighlightOnRollOver</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="style"></property> |
|||
<property name="subclass">; ; forward_declare</property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="validator_data_type"></property> |
|||
<property name="validator_style">wxFILTER_NONE</property> |
|||
<property name="validator_type">wxDefaultValidator</property> |
|||
<property name="validator_variable"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
</object> |
|||
</object> |
|||
<object class="sizeritem" expanded="1"> |
|||
<property name="border">5</property> |
|||
<property name="flag"></property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxGridSizer" expanded="1"> |
|||
<property name="cols">2</property> |
|||
<property name="hgap">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="name">gSizer1</property> |
|||
<property name="permission">none</property> |
|||
<property name="rows">0</property> |
|||
<property name="vgap">0</property> |
|||
<object class="sizeritem" expanded="1"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxStaticText" expanded="1"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">Anti-aliasing:</property> |
|||
<property name="markup">0</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_staticText221</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="style"></property> |
|||
<property name="subclass">; ; forward_declare</property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
<property name="wrap">-1</property> |
|||
</object> |
|||
</object> |
|||
<object class="sizeritem" expanded="0"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxChoice" expanded="0"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="choices">"Disabled" "2x" "4x" "8x"</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_choiceAntiAliasing</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="selection">0</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="style"></property> |
|||
<property name="subclass">; ; forward_declare</property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip">3D-Viewer must be closed and re-opened to apply this setting</property> |
|||
<property name="validator_data_type"></property> |
|||
<property name="validator_style">wxFILTER_NONE</property> |
|||
<property name="validator_type">wxDefaultValidator</property> |
|||
<property name="validator_variable"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
</object> |
|||
</object> |
|||
<object class="sizeritem" expanded="1"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxStaticText" expanded="1"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">Selection color:</property> |
|||
<property name="markup">0</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_selectionColorLabel</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="style"></property> |
|||
<property name="subclass">; ; forward_declare</property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
<property name="wrap">-1</property> |
|||
</object> |
|||
</object> |
|||
<object class="sizeritem" expanded="1"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxALL|wxEXPAND</property> |
|||
<property name="proportion">0</property> |
|||
<object class="CustomControl" expanded="1"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="class">COLOR_SWATCH</property> |
|||
<property name="close_button">1</property> |
|||
<property name="construction"></property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="declaration"></property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="include"></property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_selectionColorSwatch</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="settings"></property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="subclass">COLOR_SWATCH; widgets/color_swatch.h; forward_declare</property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
<object class="sizeritem" expanded="1"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxALL|wxEXPAND</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxStaticBoxSizer" expanded="1"> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">While Moving</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="name">sbSizerWhileMoving</property> |
|||
<property name="orient">wxVERTICAL</property> |
|||
<property name="parent">1</property> |
|||
<property name="permission">none</property> |
|||
<object class="sizeritem" expanded="0"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxCheckBox" expanded="0"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="checked">0</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">Disable anti-aliasing</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_checkBoxDisableAAMove</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="style"></property> |
|||
<property name="subclass"></property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="validator_data_type"></property> |
|||
<property name="validator_style">wxFILTER_NONE</property> |
|||
<property name="validator_type">wxDefaultValidator</property> |
|||
<property name="validator_variable"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
</object> |
|||
</object> |
|||
<object class="sizeritem" expanded="0"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxCheckBox" expanded="0"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="checked">0</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">Disable thickness</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_checkBoxDisableMoveThickness</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="style"></property> |
|||
<property name="subclass"></property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="validator_data_type"></property> |
|||
<property name="validator_style">wxFILTER_NONE</property> |
|||
<property name="validator_type">wxDefaultValidator</property> |
|||
<property name="validator_variable"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
</object> |
|||
</object> |
|||
<object class="sizeritem" expanded="0"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxCheckBox" expanded="0"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="checked">0</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">Disable vias</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_checkBoxDisableMoveVias</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="style"></property> |
|||
<property name="subclass"></property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="validator_data_type"></property> |
|||
<property name="validator_style">wxFILTER_NONE</property> |
|||
<property name="validator_type">wxDefaultValidator</property> |
|||
<property name="validator_variable"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
</object> |
|||
</object> |
|||
<object class="sizeritem" expanded="0"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> |
|||
<property name="proportion">0</property> |
|||
<object class="wxCheckBox" expanded="0"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="checked">0</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="label">Disable holes</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_checkBoxDisableMoveHoles</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">protected</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="style"></property> |
|||
<property name="subclass"></property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="validator_data_type"></property> |
|||
<property name="validator_style">wxFILTER_NONE</property> |
|||
<property name="validator_type">wxDefaultValidator</property> |
|||
<property name="validator_variable"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style"></property> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</wxFormBuilder_Project> |
@ -0,0 +1,56 @@ |
|||
/////////////////////////////////////////////////////////////////////////// |
|||
// C++ code generated with wxFormBuilder (version Oct 26 2018) |
|||
// http://www.wxformbuilder.org/ |
|||
// |
|||
// PLEASE DO *NOT* EDIT THIS FILE! |
|||
/////////////////////////////////////////////////////////////////////////// |
|||
|
|||
#pragma once |
|||
|
|||
#include <wx/artprov.h> |
|||
#include <wx/xrc/xmlres.h> |
|||
#include <wx/intl.h> |
|||
class COLOR_SWATCH; |
|||
|
|||
#include <wx/string.h> |
|||
#include <wx/checkbox.h> |
|||
#include <wx/gdicmn.h> |
|||
#include <wx/font.h> |
|||
#include <wx/colour.h> |
|||
#include <wx/settings.h> |
|||
#include <wx/stattext.h> |
|||
#include <wx/choice.h> |
|||
#include <wx/sizer.h> |
|||
#include <wx/statbox.h> |
|||
#include <wx/panel.h> |
|||
|
|||
/////////////////////////////////////////////////////////////////////////// |
|||
|
|||
|
|||
/////////////////////////////////////////////////////////////////////////////// |
|||
/// Class PANEL_3D_OPENGL_OPTIONS_BASE |
|||
/////////////////////////////////////////////////////////////////////////////// |
|||
class PANEL_3D_OPENGL_OPTIONS_BASE : public wxPanel |
|||
{ |
|||
private: |
|||
|
|||
protected: |
|||
wxCheckBox* m_checkBoxBoundingBoxes; |
|||
wxCheckBox* m_checkBoxCuThickness; |
|||
wxCheckBox* m_checkBoxHighlightOnRollOver; |
|||
wxStaticText* m_staticText221; |
|||
wxChoice* m_choiceAntiAliasing; |
|||
wxStaticText* m_selectionColorLabel; |
|||
COLOR_SWATCH* m_selectionColorSwatch; |
|||
wxCheckBox* m_checkBoxDisableAAMove; |
|||
wxCheckBox* m_checkBoxDisableMoveThickness; |
|||
wxCheckBox* m_checkBoxDisableMoveVias; |
|||
wxCheckBox* m_checkBoxDisableMoveHoles; |
|||
|
|||
public: |
|||
|
|||
PANEL_3D_OPENGL_OPTIONS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); |
|||
~PANEL_3D_OPENGL_OPTIONS_BASE(); |
|||
|
|||
}; |
|||
|
@ -0,0 +1,52 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2017 Jean-Pierre Charras, jp.charras at wanadoo.fr |
|||
* Copyright (C) 2014-2021 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 2 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html |
|||
* or you may search the http://www.gnu.org website for the version 2 license, |
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#ifndef PANEL_3D_RAYTRACING_OPTIONS_H |
|||
#define PANEL_3D_RAYTRACING_OPTIONS_H |
|||
|
|||
#include "panel_3D_raytracing_options_base.h" |
|||
#include <3d_viewer/eda_3d_viewer.h> |
|||
|
|||
class PANEL_3D_RAYTRACING_OPTIONS : public PANEL_3D_RAYTRACING_OPTIONS_BASE |
|||
{ |
|||
public: |
|||
explicit PANEL_3D_RAYTRACING_OPTIONS( EDA_3D_VIEWER* aFrame, wxWindow* aParent ); |
|||
|
|||
void ResetPanel() override; |
|||
|
|||
/// Automatically called when clicking on the OK button |
|||
bool TransferDataFromWindow() override; |
|||
|
|||
/// Automatically called after creating the dialog |
|||
bool TransferDataToWindow() override; |
|||
|
|||
void TransferColorDataToWindow(); |
|||
|
|||
private: |
|||
BOARD_ADAPTER& m_settings; |
|||
EDA_3D_CANVAS* m_canvas; |
|||
}; |
|||
|
|||
|
|||
#endif // PANEL_3D_RAYTRACING_OPTIONS_H |
@ -0,0 +1,339 @@ |
|||
///////////////////////////////////////////////////////////////////////////
|
|||
// C++ code generated with wxFormBuilder (version Oct 26 2018)
|
|||
// http://www.wxformbuilder.org/
|
|||
//
|
|||
// PLEASE DO *NOT* EDIT THIS FILE!
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "panel_3D_raytracing_options_base.h"
|
|||
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
PANEL_3D_RAYTRACING_OPTIONS_BASE::PANEL_3D_RAYTRACING_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : RESETTABLE_PANEL( parent, id, pos, size, style, name ) |
|||
{ |
|||
wxBoxSizer* bSizerMain; |
|||
bSizerMain = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxBoxSizer* bSizerMargins; |
|||
bSizerMargins = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
wxStaticBoxSizer* sbSizerRaytracingRenderOptions; |
|||
sbSizerRaytracingRenderOptions = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Rendering Options") ), wxVERTICAL ); |
|||
|
|||
sbSizerRaytracingRenderOptions->SetMinSize( wxSize( -1,32 ) ); |
|||
wxGridSizer* gSizer1; |
|||
gSizer1 = new wxGridSizer( 0, 1, 0, 20 ); |
|||
|
|||
m_checkBoxRaytracing_proceduralTextures = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Procedural textures (slow)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_proceduralTextures->SetValue(true); |
|||
gSizer1->Add( m_checkBoxRaytracing_proceduralTextures, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxRaytracing_addFloor = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Add floor (slow)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_addFloor->SetValue(true); |
|||
gSizer1->Add( m_checkBoxRaytracing_addFloor, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxRaytracing_antiAliasing = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Anti-aliasing (slow)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_antiAliasing->SetValue(true); |
|||
gSizer1->Add( m_checkBoxRaytracing_antiAliasing, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxRaytracing_postProcessing = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Screen space ambient occlusions and global illumination reflections (slow)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_postProcessing->SetValue(true); |
|||
gSizer1->Add( m_checkBoxRaytracing_postProcessing, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
sbSizerRaytracingRenderOptions->Add( gSizer1, 1, wxEXPAND|wxBOTTOM, 5 ); |
|||
|
|||
wxFlexGridSizer* fgSizer111; |
|||
fgSizer111 = new wxFlexGridSizer( 0, 4, 4, 8 ); |
|||
fgSizer111->SetFlexibleDirection( wxBOTH ); |
|||
fgSizer111->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); |
|||
|
|||
|
|||
fgSizer111->Add( 0, 0, 1, wxEXPAND, 5 ); |
|||
|
|||
m_staticText19 = new wxStaticText( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Number of Samples"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText19->Wrap( -1 ); |
|||
fgSizer111->Add( m_staticText19, 0, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_staticText201 = new wxStaticText( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Spread Factor %"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText201->Wrap( -1 ); |
|||
fgSizer111->Add( m_staticText201, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_staticText211 = new wxStaticText( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Recursion Level"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText211->Wrap( -1 ); |
|||
fgSizer111->Add( m_staticText211, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_checkBoxRaytracing_renderShadows = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Shadows:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_renderShadows->SetValue(true); |
|||
fgSizer111->Add( m_checkBoxRaytracing_renderShadows, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrl_NrSamples_Shadows = new wxSpinCtrl( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 64, 0 ); |
|||
m_spinCtrl_NrSamples_Shadows->SetToolTip( _("Number of rays that will be cast, into light direction, to evaluate a shadow point") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrl_NrSamples_Shadows, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrlDouble_SpreadFactor_Shadows = new wxSpinCtrlDouble( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 0.1, 25, 0, 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Shadows->SetDigits( 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Shadows->SetToolTip( _("Random direction factor of the cast rays") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrlDouble_SpreadFactor_Shadows, 0, wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
fgSizer111->Add( 0, 0, 1, wxEXPAND, 5 ); |
|||
|
|||
m_checkBoxRaytracing_showReflections = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Reflections:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_showReflections->SetValue(true); |
|||
fgSizer111->Add( m_checkBoxRaytracing_showReflections, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrl_NrSamples_Reflections = new wxSpinCtrl( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 32, 0 ); |
|||
m_spinCtrl_NrSamples_Reflections->SetToolTip( _("Number of rays that will be cast to evaluate a reflection point") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrl_NrSamples_Reflections, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlDouble_SpreadFactor_Reflections = new wxSpinCtrlDouble( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 0.1, 25, 0, 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Reflections->SetDigits( 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Reflections->SetToolTip( _("Random direction factor of the cast rays") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrlDouble_SpreadFactor_Reflections, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrlRecursiveLevel_Reflections = new wxSpinCtrl( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 5, 0 ); |
|||
m_spinCtrlRecursiveLevel_Reflections->SetToolTip( _("Interactions number that a ray can travel through objects. (higher number of levels improve results, specially on very transparent boards)") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrlRecursiveLevel_Reflections, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_checkBoxRaytracing_showRefractions = new wxCheckBox( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, _("Refractions:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_checkBoxRaytracing_showRefractions->SetValue(true); |
|||
fgSizer111->Add( m_checkBoxRaytracing_showRefractions, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrl_NrSamples_Refractions = new wxSpinCtrl( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 5, 0 ); |
|||
m_spinCtrl_NrSamples_Refractions->SetToolTip( _("Number of rays that will be cast to evaluate a refraction point") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrl_NrSamples_Refractions, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrlDouble_SpreadFactor_Refractions = new wxSpinCtrlDouble( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 0.1, 25, 0, 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Refractions->SetDigits( 1 ); |
|||
m_spinCtrlDouble_SpreadFactor_Refractions->SetToolTip( _("Random direction factor of the cast rays") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrlDouble_SpreadFactor_Refractions, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_spinCtrlRecursiveLevel_Refractions = new wxSpinCtrl( sbSizerRaytracingRenderOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 7, 0 ); |
|||
m_spinCtrlRecursiveLevel_Refractions->SetToolTip( _("Number of bounces that a ray can hit reflective objects") ); |
|||
|
|||
fgSizer111->Add( m_spinCtrlRecursiveLevel_Refractions, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
sbSizerRaytracingRenderOptions->Add( fgSizer111, 0, wxTOP|wxBOTTOM|wxRIGHT|wxEXPAND, 5 ); |
|||
|
|||
|
|||
sbSizerRaytracingRenderOptions->Add( 0, 3, 0, wxEXPAND, 5 ); |
|||
|
|||
|
|||
bSizerMargins->Add( sbSizerRaytracingRenderOptions, 0, wxEXPAND|wxALL, 5 ); |
|||
|
|||
wxStaticBoxSizer* sbSizerRaytracingLightConfiguration; |
|||
sbSizerRaytracingLightConfiguration = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Lights Configuration") ), wxVERTICAL ); |
|||
|
|||
wxBoxSizer* bSizer11; |
|||
bSizer11 = new wxBoxSizer( wxHORIZONTAL ); |
|||
|
|||
m_staticText17 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Ambient camera light:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText17->Wrap( -1 ); |
|||
bSizer11->Add( m_staticText17, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerCameraLight = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxColour( 51, 51, 51 ), wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
bSizer11->Add( m_colourPickerCameraLight, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
|
|||
bSizer11->Add( 0, 0, 1, 0, 5 ); |
|||
|
|||
m_staticText5 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Top light:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText5->Wrap( -1 ); |
|||
bSizer11->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerTopLight = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxColour( 63, 63, 63 ), wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
bSizer11->Add( m_colourPickerTopLight, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
|
|||
bSizer11->Add( 0, 0, 1, 0, 5 ); |
|||
|
|||
m_staticText6 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Bottom light:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText6->Wrap( -1 ); |
|||
bSizer11->Add( m_staticText6, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerBottomLight = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxColour( 63, 63, 63 ), wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
bSizer11->Add( m_colourPickerBottomLight, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); |
|||
|
|||
|
|||
sbSizerRaytracingLightConfiguration->Add( bSizer11, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 5 ); |
|||
|
|||
wxFlexGridSizer* fgSizer11; |
|||
fgSizer11 = new wxFlexGridSizer( 0, 9, 0, 0 ); |
|||
fgSizer11->AddGrowableCol( 4 ); |
|||
fgSizer11->SetFlexibleDirection( wxHORIZONTAL ); |
|||
fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText20 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Elevation (deg)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText20->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText20, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_staticText18 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Azimuth (deg)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText18->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText18, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText27 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Elevation (deg)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText27->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText27, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_staticText28 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Azimuth (deg)"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText28->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText28, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
m_staticText21 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Light 1:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText21->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText21, 0, wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_colourPickerLight1 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight1, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation1 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation1, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth1 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth1, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
|
|||
fgSizer11->Add( 10, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText22 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Light 5:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText22->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText22, 0, wxALIGN_CENTER|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerLight5 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight5, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation5 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation5, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth5 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth5, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_staticText23 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Light 2:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText23->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText23, 0, wxALIGN_CENTER, 5 ); |
|||
|
|||
m_colourPickerLight2 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight2, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation2 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation2, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth2 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth2, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText24 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Light 6:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText24->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText24, 0, wxALIGN_CENTER|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerLight6 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight6, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation6 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation6, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth6 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth6, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_staticText25 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Light 3:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText25->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText25, 0, wxALIGN_CENTER, 5 ); |
|||
|
|||
m_colourPickerLight3 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight3, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation3 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation3, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth3 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth3, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText26 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Light 7:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText26->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText26, 0, wxALIGN_CENTER|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerLight7 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight7, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation7 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation7, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth7 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth7, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_staticText171 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Light 4:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText171->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText171, 0, wxALIGN_CENTER, 5 ); |
|||
|
|||
m_colourPickerLight4 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight4, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation4 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation4, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth4 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth4, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
|
|||
fgSizer11->Add( 0, 0, 0, 0, 5 ); |
|||
|
|||
m_staticText181 = new wxStaticText( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, _("Light 8:"), wxDefaultPosition, wxDefaultSize, 0 ); |
|||
m_staticText181->Wrap( -1 ); |
|||
fgSizer11->Add( m_staticText181, 0, wxALIGN_CENTER|wxLEFT, 5 ); |
|||
|
|||
m_colourPickerLight8 = new wxColourPickerCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize( 72,-1 ), wxCLRP_DEFAULT_STYLE ); |
|||
fgSizer11->Add( m_colourPickerLight8, 0, wxALIGN_CENTER_VERTICAL, 5 ); |
|||
|
|||
m_spinCtrlLightElevation8 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, -90, 90, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightElevation8, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
m_spinCtrlLightAzimuth8 = new wxSpinCtrl( sbSizerRaytracingLightConfiguration->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS|wxSP_WRAP, 0, 359, 0 ); |
|||
fgSizer11->Add( m_spinCtrlLightAzimuth8, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 1 ); |
|||
|
|||
|
|||
sbSizerRaytracingLightConfiguration->Add( fgSizer11, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
bSizerMargins->Add( sbSizerRaytracingLightConfiguration, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); |
|||
|
|||
|
|||
bSizerMain->Add( bSizerMargins, 1, wxEXPAND|wxRIGHT, 5 ); |
|||
|
|||
|
|||
this->SetSizer( bSizerMain ); |
|||
this->Layout(); |
|||
bSizerMain->Fit( this ); |
|||
} |
|||
|
|||
PANEL_3D_RAYTRACING_OPTIONS_BASE::~PANEL_3D_RAYTRACING_OPTIONS_BASE() |
|||
{ |
|||
} |
4033
3d-viewer/3d_viewer/dialogs/panel_3D_raytracing_options_base.fbp
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue