Loading 3d-viewer/3d_draw.cpp +30 −25 Original line number Original line Diff line number Diff line Loading @@ -168,9 +168,6 @@ static inline void SetGLEpoxyColor( double aTransparency = 1.0 ) // in realistic mode and normal mode. // in realistic mode and normal mode. static inline void SetGLTechLayersColor( LAYER_NUM aLayer ) static inline void SetGLTechLayersColor( LAYER_NUM aLayer ) { { // Generates an epoxy color, near board color // const double lum = 0.2/255.0; if( g_Parm_3D_Visu.IsRealisticMode() ) if( g_Parm_3D_Visu.IsRealisticMode() ) { { switch( aLayer ) switch( aLayer ) Loading Loading @@ -228,8 +225,6 @@ void EDA_3D_CANVAS::BuildBoard3DView() // Build a polygon from edge cut items // Build a polygon from edge cut items wxString msg; wxString msg; if( realistic_mode || g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SHOW_BOARD_BODY] ) { if( ! pcb->GetBoardPolygonOutlines( bufferPcbOutlines, if( ! pcb->GetBoardPolygonOutlines( bufferPcbOutlines, allLayerHoles, &msg ) ) allLayerHoles, &msg ) ) { { Loading @@ -237,7 +232,6 @@ void EDA_3D_CANVAS::BuildBoard3DView() _("Unable to calculate the board outlines, will use the outlines boundary box"); _("Unable to calculate the board outlines, will use the outlines boundary box"); wxMessageBox( msg ); wxMessageBox( msg ); } } } CPOLYGONS_LIST bufferZonesPolys; CPOLYGONS_LIST bufferZonesPolys; bufferZonesPolys.reserve( 500000 ); // Reserve for large board ( copper zones mainly ) bufferZonesPolys.reserve( 500000 ); // Reserve for large board ( copper zones mainly ) Loading Loading @@ -317,7 +311,7 @@ void EDA_3D_CANVAS::BuildBoard3DView() } } // Draw copper zones // Draw copper zones if( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ZONE] ) if( g_Parm_3D_Visu.GetFlag( FL_ZONE ) ) { { for( int ii = 0; ii < pcb->GetAreaCount(); ii++ ) for( int ii = 0; ii < pcb->GetAreaCount(); ii++ ) { { Loading Loading @@ -418,7 +412,8 @@ void EDA_3D_CANVAS::BuildBoard3DView() } } // Draw board substrate: // Draw board substrate: if( bufferPcbOutlines.GetCornersCount() ) if( bufferPcbOutlines.GetCornersCount() && ( realistic_mode || g_Parm_3D_Visu.GetFlag( FL_SHOW_BOARD_BODY ) ) ) { { int copper_thickness = g_Parm_3D_Visu.GetCopperThicknessBIU(); int copper_thickness = g_Parm_3D_Visu.GetCopperThicknessBIU(); // a small offset between substrate and external copper layer to avoid artifacts // a small offset between substrate and external copper layer to avoid artifacts Loading Loading @@ -465,13 +460,16 @@ void EDA_3D_CANVAS::BuildBoard3DView() } } // draw graphic items, not on copper layers // draw graphic items, not on copper layers KI_POLYGON_SET brdpolysetHoles; allLayerHoles.ExportTo( brdpolysetHoles ); for( LAYER_NUM layer = FIRST_NON_COPPER_LAYER; layer <= LAST_NON_COPPER_LAYER; for( LAYER_NUM layer = FIRST_NON_COPPER_LAYER; layer <= LAST_NON_COPPER_LAYER; layer++ ) layer++ ) { { if( !Is3DLayerEnabled( layer ) ) if( !Is3DLayerEnabled( layer ) ) continue; continue; if( layer == EDGE_N && g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SHOW_BOARD_BODY] ) if( layer == EDGE_N && g_Parm_3D_Visu.GetFlag( FL_SHOW_BOARD_BODY ) ) continue; continue; bufferPolys.RemoveAllContours(); bufferPolys.RemoveAllContours(); Loading Loading @@ -547,6 +545,13 @@ void EDA_3D_CANVAS::BuildBoard3DView() bufferPolys.ExportTo( polyset ); bufferPolys.ExportTo( polyset ); currLayerPolyset -= polyset; currLayerPolyset -= polyset; } } // Remove holes from Solder paste layers and siklscreen else if( layer == SOLDERPASTE_N_BACK || layer == SOLDERPASTE_N_FRONT || layer == SILKSCREEN_N_BACK || layer == SILKSCREEN_N_FRONT ) { bufferPolys.ExportTo( currLayerPolyset ); currLayerPolyset -= brdpolysetHoles; } else // usuall layers, merge polys built from each item shape: else // usuall layers, merge polys built from each item shape: { { bufferPolys.ExportTo( polyset ); bufferPolys.ExportTo( polyset ); Loading Loading @@ -606,7 +611,7 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List() glColorMaterial( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE ); glColorMaterial( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE ); // draw axis // draw axis if( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_AXIS] ) if( g_Parm_3D_Visu.GetFlag( FL_AXIS ) ) { { glEnable( GL_COLOR_MATERIAL ); glEnable( GL_COLOR_MATERIAL ); SetGLColor( WHITE ); SetGLColor( WHITE ); Loading Loading @@ -638,7 +643,7 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List() BuildBoard3DView(); BuildBoard3DView(); // Draw grid // Draw grid if( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] ) if( g_Parm_3D_Visu.GetFlag( FL_GRID ) ) DrawGrid( g_Parm_3D_Visu.m_3D_Grid ); DrawGrid( g_Parm_3D_Visu.m_3D_Grid ); glEndList(); glEndList(); Loading Loading @@ -825,7 +830,7 @@ void MODULE::ReadAndInsert3DComponentShape( EDA_3D_CANVAS* glcanvas ) // Draw module shape: 3D shape if exists (or module outlines if not exists) // Draw module shape: 3D shape if exists (or module outlines if not exists) S3D_MASTER* struct3D = m_3D_Drawings; S3D_MASTER* struct3D = m_3D_Drawings; if( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_MODULE] ) if( g_Parm_3D_Visu.GetFlag( FL_MODULE ) ) { { double zpos; double zpos; Loading Loading @@ -921,7 +926,7 @@ void EDA_3D_CANVAS::Draw3DPadHole( D_PAD* aPad ) bool Is3DLayerEnabled( LAYER_NUM aLayer ) bool Is3DLayerEnabled( LAYER_NUM aLayer ) { { int flg; DISPLAY3D_FLG flg; bool realistic_mode = g_Parm_3D_Visu.IsRealisticMode(); bool realistic_mode = g_Parm_3D_Visu.IsRealisticMode(); // see if layer needs to be shown // see if layer needs to be shown Loading @@ -930,22 +935,22 @@ bool Is3DLayerEnabled( LAYER_NUM aLayer ) { { case ADHESIVE_N_BACK: case ADHESIVE_N_BACK: case ADHESIVE_N_FRONT: case ADHESIVE_N_FRONT: flg = g_Parm_3D_Visu.FL_ADHESIVE; flg = FL_ADHESIVE; break; break; case SOLDERPASTE_N_BACK: case SOLDERPASTE_N_BACK: case SOLDERPASTE_N_FRONT: case SOLDERPASTE_N_FRONT: flg = g_Parm_3D_Visu.FL_SOLDERPASTE; flg = FL_SOLDERPASTE; break; break; case SILKSCREEN_N_BACK: case SILKSCREEN_N_BACK: case SILKSCREEN_N_FRONT: case SILKSCREEN_N_FRONT: flg = g_Parm_3D_Visu.FL_SILKSCREEN; flg = FL_SILKSCREEN; break; break; case SOLDERMASK_N_BACK: case SOLDERMASK_N_BACK: case SOLDERMASK_N_FRONT: case SOLDERMASK_N_FRONT: flg = g_Parm_3D_Visu.FL_SOLDERMASK; flg = FL_SOLDERMASK; break; break; case DRAW_N: case DRAW_N: Loading @@ -953,7 +958,7 @@ bool Is3DLayerEnabled( LAYER_NUM aLayer ) if( realistic_mode ) if( realistic_mode ) return false; return false; flg = g_Parm_3D_Visu.FL_COMMENTS; flg = FL_COMMENTS; break; break; case ECO1_N: case ECO1_N: Loading @@ -961,7 +966,7 @@ bool Is3DLayerEnabled( LAYER_NUM aLayer ) if( realistic_mode ) if( realistic_mode ) return false; return false; flg = g_Parm_3D_Visu.FL_ECO; flg = FL_ECO; break; break; case LAYER_N_BACK: case LAYER_N_BACK: Loading @@ -979,7 +984,7 @@ bool Is3DLayerEnabled( LAYER_NUM aLayer ) } } // if the layer has a flag, return the flag // if the layer has a flag, return the flag return g_Parm_3D_Visu.m_DrawFlags[flg] && return g_Parm_3D_Visu.GetFlag( flg ) && g_Parm_3D_Visu.m_BoardSettings->IsLayerVisible( aLayer ); g_Parm_3D_Visu.m_BoardSettings->IsLayerVisible( aLayer ); } } Loading 3d-viewer/3d_frame.cpp +67 −45 Original line number Original line Diff line number Diff line Loading @@ -154,6 +154,7 @@ void EDA_3D_FRAME::GetSettings() { { wxString text; wxString text; wxConfig* config = wxGetApp().GetSettings(); // Current config used by application wxConfig* config = wxGetApp().GetSettings(); // Current config used by application class INFO3D_VISU& prms = g_Parm_3D_Visu; if( config ) if( config ) { { Loading @@ -168,22 +169,43 @@ void EDA_3D_FRAME::GetSettings() config->Read( keyBgColor_Red, &g_Parm_3D_Visu.m_BgColor.m_Red, 0.0 ); config->Read( keyBgColor_Red, &g_Parm_3D_Visu.m_BgColor.m_Red, 0.0 ); config->Read( keyBgColor_Green, &g_Parm_3D_Visu.m_BgColor.m_Green, 0.0 ); config->Read( keyBgColor_Green, &g_Parm_3D_Visu.m_BgColor.m_Green, 0.0 ); config->Read( keyBgColor_Blue, &g_Parm_3D_Visu.m_BgColor.m_Blue, 0.0 ); config->Read( keyBgColor_Blue, &g_Parm_3D_Visu.m_BgColor.m_Blue, 0.0 ); class INFO3D_VISU& prms = g_Parm_3D_Visu; config->Read( keyShowRealisticMode, bool tmp; &prms.m_DrawFlags[prms.FL_USE_REALISTIC_MODE], false ); config->Read( keyShowRealisticMode, &tmp, false ); config->Read( keyShowAxis, &prms.m_DrawFlags[prms.FL_AXIS], true ); prms.SetFlag( FL_USE_REALISTIC_MODE, tmp ); config->Read( keyShowFootprints, &prms.m_DrawFlags[prms.FL_MODULE], true ); config->Read( keyShowCopperThickness, config->Read( keyShowAxis, &tmp, true ); &prms.m_DrawFlags[prms.FL_USE_COPPER_THICKNESS], prms.SetFlag( FL_AXIS, tmp ); false ); config->Read( keyShowZones, &prms.m_DrawFlags[prms.FL_ZONE], true ); config->Read( keyShowFootprints, &tmp, true ); config->Read( keyShowAdhesiveLayers, &prms.m_DrawFlags[prms.FL_ADHESIVE], true ); prms.SetFlag( FL_MODULE, tmp ); config->Read( keyShowSilkScreenLayers, &prms.m_DrawFlags[prms.FL_SILKSCREEN], true ); config->Read( keyShowSolderMaskLayers, &prms.m_DrawFlags[prms.FL_SOLDERMASK], true ); config->Read( keyShowCopperThickness, &tmp, false ); config->Read( keyShowSolderPasteLayers, &prms.m_DrawFlags[prms.FL_SOLDERPASTE], true ); prms.SetFlag( FL_USE_COPPER_THICKNESS, tmp ); config->Read( keyShowCommentsLayer, &prms.m_DrawFlags[prms.FL_COMMENTS], true ); config->Read( keyShowEcoLayers, &prms.m_DrawFlags[prms.FL_ECO], true ); config->Read( keyShowZones, &tmp, true ); config->Read( keyShowBoardBody, &prms.m_DrawFlags[prms.FL_SHOW_BOARD_BODY], true ); prms.SetFlag( FL_ZONE, tmp ); config->Read( keyShowAdhesiveLayers, &tmp, true ); prms.SetFlag( FL_ADHESIVE, tmp ); config->Read( keyShowSilkScreenLayers, &tmp, true ); prms.SetFlag( FL_SILKSCREEN, tmp ); config->Read( keyShowSolderMaskLayers, &tmp, true ); prms.SetFlag( FL_SOLDERMASK, tmp ); config->Read( keyShowSolderPasteLayers, &tmp, true ); prms.SetFlag( FL_SOLDERPASTE, tmp ); config->Read( keyShowCommentsLayer, &tmp, true ); prms.SetFlag( FL_COMMENTS, tmp ); config->Read( keyShowEcoLayers, &tmp, true ); prms.SetFlag( FL_ECO, tmp ); config->Read( keyShowBoardBody, &tmp, true ); prms.SetFlag( FL_SHOW_BOARD_BODY, tmp ); } } } } Loading @@ -200,18 +222,18 @@ void EDA_3D_FRAME::SaveSettings() config->Write( keyBgColor_Green, g_Parm_3D_Visu.m_BgColor.m_Green ); config->Write( keyBgColor_Green, g_Parm_3D_Visu.m_BgColor.m_Green ); config->Write( keyBgColor_Blue, g_Parm_3D_Visu.m_BgColor.m_Blue ); config->Write( keyBgColor_Blue, g_Parm_3D_Visu.m_BgColor.m_Blue ); class INFO3D_VISU& prms = g_Parm_3D_Visu; class INFO3D_VISU& prms = g_Parm_3D_Visu; config->Write( keyShowRealisticMode, prms.m_DrawFlags[prms.FL_USE_REALISTIC_MODE] ); config->Write( keyShowRealisticMode, prms.GetFlag( FL_USE_REALISTIC_MODE ) ); config->Write( keyShowAxis, prms.m_DrawFlags[prms.FL_AXIS] ); config->Write( keyShowAxis, prms.GetFlag( FL_AXIS ) ); config->Write( keyShowFootprints, prms.m_DrawFlags[prms.FL_MODULE] ); config->Write( keyShowFootprints, prms.GetFlag( FL_MODULE ) ); config->Write( keyShowCopperThickness, prms.m_DrawFlags[prms.FL_USE_COPPER_THICKNESS] ); config->Write( keyShowCopperThickness, prms.GetFlag( FL_USE_COPPER_THICKNESS ) ); config->Write( keyShowZones, prms.m_DrawFlags[prms.FL_ZONE] ); config->Write( keyShowZones, prms.GetFlag( FL_ZONE ) ); config->Write( keyShowAdhesiveLayers, prms.m_DrawFlags[prms.FL_ADHESIVE] ); config->Write( keyShowAdhesiveLayers, prms.GetFlag( FL_ADHESIVE ) ); config->Write( keyShowSilkScreenLayers, prms.m_DrawFlags[prms.FL_SILKSCREEN] ); config->Write( keyShowSilkScreenLayers, prms.GetFlag( FL_SILKSCREEN ) ); config->Write( keyShowSolderMaskLayers, prms.m_DrawFlags[prms.FL_SOLDERMASK] ); config->Write( keyShowSolderMaskLayers, prms.GetFlag( FL_SOLDERMASK ) ); config->Write( keyShowSolderPasteLayers, prms.m_DrawFlags[prms.FL_SOLDERPASTE] ); config->Write( keyShowSolderPasteLayers, prms.GetFlag( FL_SOLDERPASTE ) ); config->Write( keyShowCommentsLayer, prms.m_DrawFlags[prms.FL_COMMENTS] ); config->Write( keyShowCommentsLayer, prms.GetFlag( FL_COMMENTS ) ); config->Write( keyShowEcoLayers, prms.m_DrawFlags[prms.FL_ECO] ); config->Write( keyShowEcoLayers, prms.GetFlag( FL_ECO ) ); config->Write( keyShowBoardBody, prms.m_DrawFlags[prms.FL_SHOW_BOARD_BODY] ); config->Write( keyShowBoardBody, prms.GetFlag( FL_SHOW_BOARD_BODY ) ); if( IsIconized() ) if( IsIconized() ) return; return; Loading Loading @@ -363,62 +385,62 @@ void EDA_3D_FRAME::Process_Special_Functions( wxCommandEvent& event ) return; return; case ID_MENU3D_REALISTIC_MODE: case ID_MENU3D_REALISTIC_MODE: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_REALISTIC_MODE] = isChecked; g_Parm_3D_Visu.SetFlag( FL_USE_REALISTIC_MODE, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_SHOW_BOARD_BODY: case ID_MENU3D_SHOW_BOARD_BODY: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SHOW_BOARD_BODY] = isChecked; g_Parm_3D_Visu.SetFlag( FL_SHOW_BOARD_BODY, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_AXIS_ONOFF: case ID_MENU3D_AXIS_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_AXIS] = isChecked; g_Parm_3D_Visu.SetFlag( FL_AXIS, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_MODULE_ONOFF: case ID_MENU3D_MODULE_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_MODULE] = isChecked; g_Parm_3D_Visu.SetFlag( FL_MODULE, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_USE_COPPER_THICKNESS: case ID_MENU3D_USE_COPPER_THICKNESS: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_COPPER_THICKNESS] = isChecked; g_Parm_3D_Visu.SetFlag( FL_USE_COPPER_THICKNESS, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_ZONE_ONOFF: case ID_MENU3D_ZONE_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ZONE] = isChecked; g_Parm_3D_Visu.SetFlag( FL_ZONE, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_ADHESIVE_ONOFF: case ID_MENU3D_ADHESIVE_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ADHESIVE] = isChecked; g_Parm_3D_Visu.SetFlag( FL_ADHESIVE, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_SILKSCREEN_ONOFF: case ID_MENU3D_SILKSCREEN_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SILKSCREEN] = isChecked; g_Parm_3D_Visu.SetFlag( FL_SILKSCREEN, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_SOLDER_MASK_ONOFF: case ID_MENU3D_SOLDER_MASK_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERMASK] = isChecked; g_Parm_3D_Visu.SetFlag( FL_SOLDERMASK, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_SOLDER_PASTE_ONOFF: case ID_MENU3D_SOLDER_PASTE_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERPASTE] = isChecked; g_Parm_3D_Visu.SetFlag( FL_SOLDERPASTE, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_COMMENTS_ONOFF: case ID_MENU3D_COMMENTS_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_COMMENTS] = isChecked; g_Parm_3D_Visu.SetFlag( FL_COMMENTS, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_ECO_ONOFF: case ID_MENU3D_ECO_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ECO] = isChecked; g_Parm_3D_Visu.SetFlag( FL_ECO, isChecked ); NewDisplay(); NewDisplay(); return; return; Loading Loading @@ -448,26 +470,26 @@ void EDA_3D_FRAME::On3DGridSelection( wxCommandEvent& event ) switch( id ) switch( id ) { { case ID_MENU3D_GRID_NOGRID: case ID_MENU3D_GRID_NOGRID: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] = false; g_Parm_3D_Visu.SetFlag( FL_GRID, false ); break; break; case ID_MENU3D_GRID_10_MM: case ID_MENU3D_GRID_10_MM: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] = true; g_Parm_3D_Visu.SetFlag( FL_GRID, true ); g_Parm_3D_Visu.m_3D_Grid = 10.0; g_Parm_3D_Visu.m_3D_Grid = 10.0; break; break; case ID_MENU3D_GRID_5_MM: case ID_MENU3D_GRID_5_MM: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] = true; g_Parm_3D_Visu.SetFlag( FL_GRID, true ); g_Parm_3D_Visu.m_3D_Grid = 5.0; g_Parm_3D_Visu.m_3D_Grid = 5.0; break; break; case ID_MENU3D_GRID_2P5_MM: case ID_MENU3D_GRID_2P5_MM: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] = true; g_Parm_3D_Visu.SetFlag( FL_GRID, true ); g_Parm_3D_Visu.m_3D_Grid = 2.5; g_Parm_3D_Visu.m_3D_Grid = 2.5; break; break; case ID_MENU3D_GRID_1_MM: case ID_MENU3D_GRID_1_MM: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] = true; g_Parm_3D_Visu.SetFlag( FL_GRID, true ); g_Parm_3D_Visu.m_3D_Grid = 1.0; g_Parm_3D_Visu.m_3D_Grid = 1.0; break; break; Loading 3d-viewer/3d_toolbar.cpp +19 −15 Original line number Original line Diff line number Diff line /* /* * This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application. * * * Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com * Copyright (C) 2013 Jean-Pierre Charras, jp.charras at wanadoo.fr * Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net> * Copyright (C) 2013 Wayne Stambaugh <stambaughw@verizon.net> * Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors. * Copyright (C) 1992-2013 KiCad Developers, see AUTHORS.txt for contributors. * * * This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License Loading Loading @@ -180,6 +180,8 @@ void EDA_3D_FRAME::CreateMenuBar() gridlistMenu->Append( ID_MENU3D_GRID_2P5_MM, _( "3D Grid 2.5 mm" ), wxEmptyString, true ); gridlistMenu->Append( ID_MENU3D_GRID_2P5_MM, _( "3D Grid 2.5 mm" ), wxEmptyString, true ); gridlistMenu->Append( ID_MENU3D_GRID_1_MM, _( "3D Grid 1 mm" ), wxEmptyString, true ); gridlistMenu->Append( ID_MENU3D_GRID_1_MM, _( "3D Grid 1 mm" ), wxEmptyString, true ); prefsMenu->AppendSeparator(); AddMenuItem( prefsMenu, ID_MENU3D_SHOW_BOARD_BODY, AddMenuItem( prefsMenu, ID_MENU3D_SHOW_BOARD_BODY, _( "Show Board Body" ), KiBitmap( use_3D_copper_thickness_xpm ), wxITEM_CHECK ); _( "Show Board Body" ), KiBitmap( use_3D_copper_thickness_xpm ), wxITEM_CHECK ); Loading @@ -192,6 +194,8 @@ void EDA_3D_FRAME::CreateMenuBar() AddMenuItem( prefsMenu, ID_MENU3D_ZONE_ONOFF, AddMenuItem( prefsMenu, ID_MENU3D_ZONE_ONOFF, _( "Show Zone &Filling" ), KiBitmap( add_zone_xpm ), wxITEM_CHECK ); _( "Show Zone &Filling" ), KiBitmap( add_zone_xpm ), wxITEM_CHECK ); prefsMenu->AppendSeparator(); AddMenuItem( prefsMenu, ID_MENU3D_ADHESIVE_ONOFF, AddMenuItem( prefsMenu, ID_MENU3D_ADHESIVE_ONOFF, _( "Show &Adhesive Layers" ), KiBitmap( tools_xpm ), wxITEM_CHECK ); _( "Show &Adhesive Layers" ), KiBitmap( tools_xpm ), wxITEM_CHECK ); Loading Loading @@ -224,40 +228,40 @@ void EDA_3D_FRAME::SetMenuBarOptionsState() wxMenuItem* item; wxMenuItem* item; // Set the state of toggle menus according to the current display options // Set the state of toggle menus according to the current display options item = menuBar->FindItem( ID_MENU3D_REALISTIC_MODE ); item = menuBar->FindItem( ID_MENU3D_REALISTIC_MODE ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_REALISTIC_MODE]); item->Check(g_Parm_3D_Visu.GetFlag( FL_USE_REALISTIC_MODE ) ); item = menuBar->FindItem( ID_MENU3D_SHOW_BOARD_BODY ); item = menuBar->FindItem( ID_MENU3D_SHOW_BOARD_BODY ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SHOW_BOARD_BODY]); item->Check(g_Parm_3D_Visu.GetFlag( FL_SHOW_BOARD_BODY ) ); item = menuBar->FindItem( ID_MENU3D_USE_COPPER_THICKNESS ); item = menuBar->FindItem( ID_MENU3D_USE_COPPER_THICKNESS ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_COPPER_THICKNESS]); item->Check(g_Parm_3D_Visu.GetFlag( FL_USE_COPPER_THICKNESS ) ); item = menuBar->FindItem( ID_MENU3D_MODULE_ONOFF ); item = menuBar->FindItem( ID_MENU3D_MODULE_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_MODULE]); item->Check(g_Parm_3D_Visu.GetFlag( FL_MODULE ) ); item = menuBar->FindItem( ID_MENU3D_ZONE_ONOFF ); item = menuBar->FindItem( ID_MENU3D_ZONE_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ZONE]); item->Check(g_Parm_3D_Visu.GetFlag( FL_ZONE ) ); item = menuBar->FindItem( ID_MENU3D_AXIS_ONOFF ); item = menuBar->FindItem( ID_MENU3D_AXIS_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_AXIS]); item->Check(g_Parm_3D_Visu.GetFlag( FL_AXIS ) ); item = menuBar->FindItem( ID_MENU3D_ADHESIVE_ONOFF ); item = menuBar->FindItem( ID_MENU3D_ADHESIVE_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ADHESIVE]); item->Check(g_Parm_3D_Visu.GetFlag( FL_ADHESIVE ) ); item = menuBar->FindItem( ID_MENU3D_SILKSCREEN_ONOFF ); item = menuBar->FindItem( ID_MENU3D_SILKSCREEN_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SILKSCREEN]); item->Check(g_Parm_3D_Visu.GetFlag( FL_SILKSCREEN ) ); item = menuBar->FindItem( ID_MENU3D_SOLDER_MASK_ONOFF ); item = menuBar->FindItem( ID_MENU3D_SOLDER_MASK_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERMASK]); item->Check(g_Parm_3D_Visu.GetFlag( FL_SOLDERMASK ) ); item = menuBar->FindItem( ID_MENU3D_SOLDER_PASTE_ONOFF ); item = menuBar->FindItem( ID_MENU3D_SOLDER_PASTE_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERPASTE]); item->Check(g_Parm_3D_Visu.GetFlag( FL_SOLDERPASTE ) ); item = menuBar->FindItem( ID_MENU3D_COMMENTS_ONOFF ); item = menuBar->FindItem( ID_MENU3D_COMMENTS_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_COMMENTS]); item->Check(g_Parm_3D_Visu.GetFlag( FL_COMMENTS ) ); item = menuBar->FindItem( ID_MENU3D_ECO_ONOFF ); item = menuBar->FindItem( ID_MENU3D_ECO_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ECO]); item->Check(g_Parm_3D_Visu.GetFlag( FL_ECO )); } } void EDA_3D_FRAME::SetToolbars() void EDA_3D_FRAME::SetToolbars() Loading 3d-viewer/dialogs/dialog_3D_view_option.cpp +21 −37 Original line number Original line Diff line number Diff line Loading @@ -10,6 +10,7 @@ public: private: private: EDA_3D_FRAME* m_parent; EDA_3D_FRAME* m_parent; INFO3D_VISU & m_3Dprms; void initDialog(); void initDialog(); Loading @@ -31,7 +32,7 @@ void EDA_3D_FRAME::Install_3D_ViewOptionDialog( wxCommandEvent& event ) DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS( EDA_3D_FRAME* parent ) DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS( EDA_3D_FRAME* parent ) :DIALOG_3D_VIEW_OPTIONS_BASE( parent ) :DIALOG_3D_VIEW_OPTIONS_BASE( parent ), m_3Dprms( g_Parm_3D_Visu ) { { m_parent = parent; m_parent = parent; Loading @@ -55,24 +56,15 @@ void DIALOG_3D_VIEW_OPTIONS::initDialog() m_bitmapECO->SetBitmap( KiBitmap( edit_sheet_xpm ) ); m_bitmapECO->SetBitmap( KiBitmap( edit_sheet_xpm ) ); // Check/uncheck checkboxes // Check/uncheck checkboxes m_checkBoxCuThickness->SetValue( m_checkBoxCuThickness->SetValue( m_3Dprms.GetFlag( FL_USE_COPPER_THICKNESS ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_COPPER_THICKNESS] ); m_checkBox3Dshapes->SetValue( m_3Dprms.GetFlag( FL_MODULE ) ); m_checkBox3Dshapes->SetValue( m_checkBoxAreas->SetValue( m_3Dprms.GetFlag( FL_ZONE ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_MODULE] ); m_checkBoxSilkscreen->SetValue( m_3Dprms.GetFlag( FL_SILKSCREEN ) ); m_checkBoxAreas->SetValue( m_checkBoxSolderMask->SetValue( m_3Dprms.GetFlag( FL_SOLDERMASK ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ZONE] ); m_checkBoxSolderpaste->SetValue( m_3Dprms.GetFlag( FL_SOLDERPASTE ) ); m_checkBoxSilkscreen->SetValue( m_checkBoxAdhesive->SetValue( m_3Dprms.GetFlag( FL_ADHESIVE ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SILKSCREEN] ); m_checkBoxComments->SetValue( m_3Dprms.GetFlag( FL_COMMENTS ) ); m_checkBoxSolderMask->SetValue( m_checkBoxECO->SetValue( m_3Dprms.GetFlag( FL_ECO ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERMASK] ); m_checkBoxSolderpaste->SetValue( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERPASTE] ); m_checkBoxAdhesive->SetValue( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ADHESIVE] ); m_checkBoxComments->SetValue( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_COMMENTS] ); m_checkBoxECO->SetValue( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ECO] ); } } void DIALOG_3D_VIEW_OPTIONS::OnShowAllClick( wxCommandEvent& event ) void DIALOG_3D_VIEW_OPTIONS::OnShowAllClick( wxCommandEvent& event ) Loading Loading @@ -105,24 +97,16 @@ void DIALOG_3D_VIEW_OPTIONS::OnShowNoneClick( wxCommandEvent& event ) void DIALOG_3D_VIEW_OPTIONS::OnOKClick( wxCommandEvent& event ) void DIALOG_3D_VIEW_OPTIONS::OnOKClick( wxCommandEvent& event ) { { g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_COPPER_THICKNESS] = m_3Dprms.SetFlag( FL_USE_COPPER_THICKNESS, m_checkBoxCuThickness->GetValue(); m_checkBoxCuThickness->GetValue() ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_MODULE] = m_3Dprms.SetFlag( FL_MODULE, m_checkBox3Dshapes->GetValue() ); m_checkBox3Dshapes->GetValue(); m_3Dprms.SetFlag( FL_ZONE, m_checkBoxAreas->GetValue() ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ZONE] = m_3Dprms.SetFlag( FL_SILKSCREEN, m_checkBoxSilkscreen->GetValue() ); m_checkBoxAreas->GetValue(); m_3Dprms.SetFlag( FL_SOLDERMASK, m_checkBoxSolderMask->GetValue() ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SILKSCREEN] = m_3Dprms.SetFlag( FL_SOLDERPASTE, m_checkBoxSolderpaste->GetValue() ); m_checkBoxSilkscreen->GetValue(); m_3Dprms.SetFlag( FL_ADHESIVE, m_checkBoxAdhesive->GetValue() ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERMASK] = m_3Dprms.SetFlag( FL_COMMENTS, m_checkBoxComments->GetValue() ); m_checkBoxSolderMask->GetValue(); m_3Dprms.SetFlag( FL_ECO, m_checkBoxECO->GetValue( ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERPASTE] = m_checkBoxSolderpaste->GetValue(); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ADHESIVE] = m_checkBoxAdhesive->GetValue(); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_COMMENTS] = m_checkBoxComments->GetValue(); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ECO] = m_checkBoxECO->GetValue(); EndModal( wxID_OK ); EndModal( wxID_OK ); } } 3d-viewer/info3d_visu.cpp +4 −4 Original line number Original line Diff line number Diff line Loading @@ -68,10 +68,10 @@ INFO3D_VISU::INFO3D_VISU() // default all special item layers Visible // default all special item layers Visible for( ii = 0; ii < FL_LAST; ii++ ) for( ii = 0; ii < FL_LAST; ii++ ) m_DrawFlags[ii] = true; m_drawFlags[ii] = true; m_DrawFlags[FL_GRID] = false; SetFlag( FL_GRID, false ); m_DrawFlags[FL_USE_COPPER_THICKNESS] = false; SetFlag( FL_USE_COPPER_THICKNESS, false ); } } Loading Loading @@ -164,7 +164,7 @@ void INFO3D_VISU::InitSettings( BOARD* aBoard ) break; break; case SOLDERMASK_N_FRONT: case SOLDERMASK_N_FRONT: zpos = zpos_copper_front + 2 * zpos_offset; zpos = zpos_copper_front + 1 * zpos_offset; break; break; case SILKSCREEN_N_BACK: case SILKSCREEN_N_BACK: Loading Loading
3d-viewer/3d_draw.cpp +30 −25 Original line number Original line Diff line number Diff line Loading @@ -168,9 +168,6 @@ static inline void SetGLEpoxyColor( double aTransparency = 1.0 ) // in realistic mode and normal mode. // in realistic mode and normal mode. static inline void SetGLTechLayersColor( LAYER_NUM aLayer ) static inline void SetGLTechLayersColor( LAYER_NUM aLayer ) { { // Generates an epoxy color, near board color // const double lum = 0.2/255.0; if( g_Parm_3D_Visu.IsRealisticMode() ) if( g_Parm_3D_Visu.IsRealisticMode() ) { { switch( aLayer ) switch( aLayer ) Loading Loading @@ -228,8 +225,6 @@ void EDA_3D_CANVAS::BuildBoard3DView() // Build a polygon from edge cut items // Build a polygon from edge cut items wxString msg; wxString msg; if( realistic_mode || g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SHOW_BOARD_BODY] ) { if( ! pcb->GetBoardPolygonOutlines( bufferPcbOutlines, if( ! pcb->GetBoardPolygonOutlines( bufferPcbOutlines, allLayerHoles, &msg ) ) allLayerHoles, &msg ) ) { { Loading @@ -237,7 +232,6 @@ void EDA_3D_CANVAS::BuildBoard3DView() _("Unable to calculate the board outlines, will use the outlines boundary box"); _("Unable to calculate the board outlines, will use the outlines boundary box"); wxMessageBox( msg ); wxMessageBox( msg ); } } } CPOLYGONS_LIST bufferZonesPolys; CPOLYGONS_LIST bufferZonesPolys; bufferZonesPolys.reserve( 500000 ); // Reserve for large board ( copper zones mainly ) bufferZonesPolys.reserve( 500000 ); // Reserve for large board ( copper zones mainly ) Loading Loading @@ -317,7 +311,7 @@ void EDA_3D_CANVAS::BuildBoard3DView() } } // Draw copper zones // Draw copper zones if( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ZONE] ) if( g_Parm_3D_Visu.GetFlag( FL_ZONE ) ) { { for( int ii = 0; ii < pcb->GetAreaCount(); ii++ ) for( int ii = 0; ii < pcb->GetAreaCount(); ii++ ) { { Loading Loading @@ -418,7 +412,8 @@ void EDA_3D_CANVAS::BuildBoard3DView() } } // Draw board substrate: // Draw board substrate: if( bufferPcbOutlines.GetCornersCount() ) if( bufferPcbOutlines.GetCornersCount() && ( realistic_mode || g_Parm_3D_Visu.GetFlag( FL_SHOW_BOARD_BODY ) ) ) { { int copper_thickness = g_Parm_3D_Visu.GetCopperThicknessBIU(); int copper_thickness = g_Parm_3D_Visu.GetCopperThicknessBIU(); // a small offset between substrate and external copper layer to avoid artifacts // a small offset between substrate and external copper layer to avoid artifacts Loading Loading @@ -465,13 +460,16 @@ void EDA_3D_CANVAS::BuildBoard3DView() } } // draw graphic items, not on copper layers // draw graphic items, not on copper layers KI_POLYGON_SET brdpolysetHoles; allLayerHoles.ExportTo( brdpolysetHoles ); for( LAYER_NUM layer = FIRST_NON_COPPER_LAYER; layer <= LAST_NON_COPPER_LAYER; for( LAYER_NUM layer = FIRST_NON_COPPER_LAYER; layer <= LAST_NON_COPPER_LAYER; layer++ ) layer++ ) { { if( !Is3DLayerEnabled( layer ) ) if( !Is3DLayerEnabled( layer ) ) continue; continue; if( layer == EDGE_N && g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SHOW_BOARD_BODY] ) if( layer == EDGE_N && g_Parm_3D_Visu.GetFlag( FL_SHOW_BOARD_BODY ) ) continue; continue; bufferPolys.RemoveAllContours(); bufferPolys.RemoveAllContours(); Loading Loading @@ -547,6 +545,13 @@ void EDA_3D_CANVAS::BuildBoard3DView() bufferPolys.ExportTo( polyset ); bufferPolys.ExportTo( polyset ); currLayerPolyset -= polyset; currLayerPolyset -= polyset; } } // Remove holes from Solder paste layers and siklscreen else if( layer == SOLDERPASTE_N_BACK || layer == SOLDERPASTE_N_FRONT || layer == SILKSCREEN_N_BACK || layer == SILKSCREEN_N_FRONT ) { bufferPolys.ExportTo( currLayerPolyset ); currLayerPolyset -= brdpolysetHoles; } else // usuall layers, merge polys built from each item shape: else // usuall layers, merge polys built from each item shape: { { bufferPolys.ExportTo( polyset ); bufferPolys.ExportTo( polyset ); Loading Loading @@ -606,7 +611,7 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List() glColorMaterial( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE ); glColorMaterial( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE ); // draw axis // draw axis if( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_AXIS] ) if( g_Parm_3D_Visu.GetFlag( FL_AXIS ) ) { { glEnable( GL_COLOR_MATERIAL ); glEnable( GL_COLOR_MATERIAL ); SetGLColor( WHITE ); SetGLColor( WHITE ); Loading Loading @@ -638,7 +643,7 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List() BuildBoard3DView(); BuildBoard3DView(); // Draw grid // Draw grid if( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] ) if( g_Parm_3D_Visu.GetFlag( FL_GRID ) ) DrawGrid( g_Parm_3D_Visu.m_3D_Grid ); DrawGrid( g_Parm_3D_Visu.m_3D_Grid ); glEndList(); glEndList(); Loading Loading @@ -825,7 +830,7 @@ void MODULE::ReadAndInsert3DComponentShape( EDA_3D_CANVAS* glcanvas ) // Draw module shape: 3D shape if exists (or module outlines if not exists) // Draw module shape: 3D shape if exists (or module outlines if not exists) S3D_MASTER* struct3D = m_3D_Drawings; S3D_MASTER* struct3D = m_3D_Drawings; if( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_MODULE] ) if( g_Parm_3D_Visu.GetFlag( FL_MODULE ) ) { { double zpos; double zpos; Loading Loading @@ -921,7 +926,7 @@ void EDA_3D_CANVAS::Draw3DPadHole( D_PAD* aPad ) bool Is3DLayerEnabled( LAYER_NUM aLayer ) bool Is3DLayerEnabled( LAYER_NUM aLayer ) { { int flg; DISPLAY3D_FLG flg; bool realistic_mode = g_Parm_3D_Visu.IsRealisticMode(); bool realistic_mode = g_Parm_3D_Visu.IsRealisticMode(); // see if layer needs to be shown // see if layer needs to be shown Loading @@ -930,22 +935,22 @@ bool Is3DLayerEnabled( LAYER_NUM aLayer ) { { case ADHESIVE_N_BACK: case ADHESIVE_N_BACK: case ADHESIVE_N_FRONT: case ADHESIVE_N_FRONT: flg = g_Parm_3D_Visu.FL_ADHESIVE; flg = FL_ADHESIVE; break; break; case SOLDERPASTE_N_BACK: case SOLDERPASTE_N_BACK: case SOLDERPASTE_N_FRONT: case SOLDERPASTE_N_FRONT: flg = g_Parm_3D_Visu.FL_SOLDERPASTE; flg = FL_SOLDERPASTE; break; break; case SILKSCREEN_N_BACK: case SILKSCREEN_N_BACK: case SILKSCREEN_N_FRONT: case SILKSCREEN_N_FRONT: flg = g_Parm_3D_Visu.FL_SILKSCREEN; flg = FL_SILKSCREEN; break; break; case SOLDERMASK_N_BACK: case SOLDERMASK_N_BACK: case SOLDERMASK_N_FRONT: case SOLDERMASK_N_FRONT: flg = g_Parm_3D_Visu.FL_SOLDERMASK; flg = FL_SOLDERMASK; break; break; case DRAW_N: case DRAW_N: Loading @@ -953,7 +958,7 @@ bool Is3DLayerEnabled( LAYER_NUM aLayer ) if( realistic_mode ) if( realistic_mode ) return false; return false; flg = g_Parm_3D_Visu.FL_COMMENTS; flg = FL_COMMENTS; break; break; case ECO1_N: case ECO1_N: Loading @@ -961,7 +966,7 @@ bool Is3DLayerEnabled( LAYER_NUM aLayer ) if( realistic_mode ) if( realistic_mode ) return false; return false; flg = g_Parm_3D_Visu.FL_ECO; flg = FL_ECO; break; break; case LAYER_N_BACK: case LAYER_N_BACK: Loading @@ -979,7 +984,7 @@ bool Is3DLayerEnabled( LAYER_NUM aLayer ) } } // if the layer has a flag, return the flag // if the layer has a flag, return the flag return g_Parm_3D_Visu.m_DrawFlags[flg] && return g_Parm_3D_Visu.GetFlag( flg ) && g_Parm_3D_Visu.m_BoardSettings->IsLayerVisible( aLayer ); g_Parm_3D_Visu.m_BoardSettings->IsLayerVisible( aLayer ); } } Loading
3d-viewer/3d_frame.cpp +67 −45 Original line number Original line Diff line number Diff line Loading @@ -154,6 +154,7 @@ void EDA_3D_FRAME::GetSettings() { { wxString text; wxString text; wxConfig* config = wxGetApp().GetSettings(); // Current config used by application wxConfig* config = wxGetApp().GetSettings(); // Current config used by application class INFO3D_VISU& prms = g_Parm_3D_Visu; if( config ) if( config ) { { Loading @@ -168,22 +169,43 @@ void EDA_3D_FRAME::GetSettings() config->Read( keyBgColor_Red, &g_Parm_3D_Visu.m_BgColor.m_Red, 0.0 ); config->Read( keyBgColor_Red, &g_Parm_3D_Visu.m_BgColor.m_Red, 0.0 ); config->Read( keyBgColor_Green, &g_Parm_3D_Visu.m_BgColor.m_Green, 0.0 ); config->Read( keyBgColor_Green, &g_Parm_3D_Visu.m_BgColor.m_Green, 0.0 ); config->Read( keyBgColor_Blue, &g_Parm_3D_Visu.m_BgColor.m_Blue, 0.0 ); config->Read( keyBgColor_Blue, &g_Parm_3D_Visu.m_BgColor.m_Blue, 0.0 ); class INFO3D_VISU& prms = g_Parm_3D_Visu; config->Read( keyShowRealisticMode, bool tmp; &prms.m_DrawFlags[prms.FL_USE_REALISTIC_MODE], false ); config->Read( keyShowRealisticMode, &tmp, false ); config->Read( keyShowAxis, &prms.m_DrawFlags[prms.FL_AXIS], true ); prms.SetFlag( FL_USE_REALISTIC_MODE, tmp ); config->Read( keyShowFootprints, &prms.m_DrawFlags[prms.FL_MODULE], true ); config->Read( keyShowCopperThickness, config->Read( keyShowAxis, &tmp, true ); &prms.m_DrawFlags[prms.FL_USE_COPPER_THICKNESS], prms.SetFlag( FL_AXIS, tmp ); false ); config->Read( keyShowZones, &prms.m_DrawFlags[prms.FL_ZONE], true ); config->Read( keyShowFootprints, &tmp, true ); config->Read( keyShowAdhesiveLayers, &prms.m_DrawFlags[prms.FL_ADHESIVE], true ); prms.SetFlag( FL_MODULE, tmp ); config->Read( keyShowSilkScreenLayers, &prms.m_DrawFlags[prms.FL_SILKSCREEN], true ); config->Read( keyShowSolderMaskLayers, &prms.m_DrawFlags[prms.FL_SOLDERMASK], true ); config->Read( keyShowCopperThickness, &tmp, false ); config->Read( keyShowSolderPasteLayers, &prms.m_DrawFlags[prms.FL_SOLDERPASTE], true ); prms.SetFlag( FL_USE_COPPER_THICKNESS, tmp ); config->Read( keyShowCommentsLayer, &prms.m_DrawFlags[prms.FL_COMMENTS], true ); config->Read( keyShowEcoLayers, &prms.m_DrawFlags[prms.FL_ECO], true ); config->Read( keyShowZones, &tmp, true ); config->Read( keyShowBoardBody, &prms.m_DrawFlags[prms.FL_SHOW_BOARD_BODY], true ); prms.SetFlag( FL_ZONE, tmp ); config->Read( keyShowAdhesiveLayers, &tmp, true ); prms.SetFlag( FL_ADHESIVE, tmp ); config->Read( keyShowSilkScreenLayers, &tmp, true ); prms.SetFlag( FL_SILKSCREEN, tmp ); config->Read( keyShowSolderMaskLayers, &tmp, true ); prms.SetFlag( FL_SOLDERMASK, tmp ); config->Read( keyShowSolderPasteLayers, &tmp, true ); prms.SetFlag( FL_SOLDERPASTE, tmp ); config->Read( keyShowCommentsLayer, &tmp, true ); prms.SetFlag( FL_COMMENTS, tmp ); config->Read( keyShowEcoLayers, &tmp, true ); prms.SetFlag( FL_ECO, tmp ); config->Read( keyShowBoardBody, &tmp, true ); prms.SetFlag( FL_SHOW_BOARD_BODY, tmp ); } } } } Loading @@ -200,18 +222,18 @@ void EDA_3D_FRAME::SaveSettings() config->Write( keyBgColor_Green, g_Parm_3D_Visu.m_BgColor.m_Green ); config->Write( keyBgColor_Green, g_Parm_3D_Visu.m_BgColor.m_Green ); config->Write( keyBgColor_Blue, g_Parm_3D_Visu.m_BgColor.m_Blue ); config->Write( keyBgColor_Blue, g_Parm_3D_Visu.m_BgColor.m_Blue ); class INFO3D_VISU& prms = g_Parm_3D_Visu; class INFO3D_VISU& prms = g_Parm_3D_Visu; config->Write( keyShowRealisticMode, prms.m_DrawFlags[prms.FL_USE_REALISTIC_MODE] ); config->Write( keyShowRealisticMode, prms.GetFlag( FL_USE_REALISTIC_MODE ) ); config->Write( keyShowAxis, prms.m_DrawFlags[prms.FL_AXIS] ); config->Write( keyShowAxis, prms.GetFlag( FL_AXIS ) ); config->Write( keyShowFootprints, prms.m_DrawFlags[prms.FL_MODULE] ); config->Write( keyShowFootprints, prms.GetFlag( FL_MODULE ) ); config->Write( keyShowCopperThickness, prms.m_DrawFlags[prms.FL_USE_COPPER_THICKNESS] ); config->Write( keyShowCopperThickness, prms.GetFlag( FL_USE_COPPER_THICKNESS ) ); config->Write( keyShowZones, prms.m_DrawFlags[prms.FL_ZONE] ); config->Write( keyShowZones, prms.GetFlag( FL_ZONE ) ); config->Write( keyShowAdhesiveLayers, prms.m_DrawFlags[prms.FL_ADHESIVE] ); config->Write( keyShowAdhesiveLayers, prms.GetFlag( FL_ADHESIVE ) ); config->Write( keyShowSilkScreenLayers, prms.m_DrawFlags[prms.FL_SILKSCREEN] ); config->Write( keyShowSilkScreenLayers, prms.GetFlag( FL_SILKSCREEN ) ); config->Write( keyShowSolderMaskLayers, prms.m_DrawFlags[prms.FL_SOLDERMASK] ); config->Write( keyShowSolderMaskLayers, prms.GetFlag( FL_SOLDERMASK ) ); config->Write( keyShowSolderPasteLayers, prms.m_DrawFlags[prms.FL_SOLDERPASTE] ); config->Write( keyShowSolderPasteLayers, prms.GetFlag( FL_SOLDERPASTE ) ); config->Write( keyShowCommentsLayer, prms.m_DrawFlags[prms.FL_COMMENTS] ); config->Write( keyShowCommentsLayer, prms.GetFlag( FL_COMMENTS ) ); config->Write( keyShowEcoLayers, prms.m_DrawFlags[prms.FL_ECO] ); config->Write( keyShowEcoLayers, prms.GetFlag( FL_ECO ) ); config->Write( keyShowBoardBody, prms.m_DrawFlags[prms.FL_SHOW_BOARD_BODY] ); config->Write( keyShowBoardBody, prms.GetFlag( FL_SHOW_BOARD_BODY ) ); if( IsIconized() ) if( IsIconized() ) return; return; Loading Loading @@ -363,62 +385,62 @@ void EDA_3D_FRAME::Process_Special_Functions( wxCommandEvent& event ) return; return; case ID_MENU3D_REALISTIC_MODE: case ID_MENU3D_REALISTIC_MODE: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_REALISTIC_MODE] = isChecked; g_Parm_3D_Visu.SetFlag( FL_USE_REALISTIC_MODE, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_SHOW_BOARD_BODY: case ID_MENU3D_SHOW_BOARD_BODY: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SHOW_BOARD_BODY] = isChecked; g_Parm_3D_Visu.SetFlag( FL_SHOW_BOARD_BODY, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_AXIS_ONOFF: case ID_MENU3D_AXIS_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_AXIS] = isChecked; g_Parm_3D_Visu.SetFlag( FL_AXIS, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_MODULE_ONOFF: case ID_MENU3D_MODULE_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_MODULE] = isChecked; g_Parm_3D_Visu.SetFlag( FL_MODULE, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_USE_COPPER_THICKNESS: case ID_MENU3D_USE_COPPER_THICKNESS: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_COPPER_THICKNESS] = isChecked; g_Parm_3D_Visu.SetFlag( FL_USE_COPPER_THICKNESS, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_ZONE_ONOFF: case ID_MENU3D_ZONE_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ZONE] = isChecked; g_Parm_3D_Visu.SetFlag( FL_ZONE, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_ADHESIVE_ONOFF: case ID_MENU3D_ADHESIVE_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ADHESIVE] = isChecked; g_Parm_3D_Visu.SetFlag( FL_ADHESIVE, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_SILKSCREEN_ONOFF: case ID_MENU3D_SILKSCREEN_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SILKSCREEN] = isChecked; g_Parm_3D_Visu.SetFlag( FL_SILKSCREEN, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_SOLDER_MASK_ONOFF: case ID_MENU3D_SOLDER_MASK_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERMASK] = isChecked; g_Parm_3D_Visu.SetFlag( FL_SOLDERMASK, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_SOLDER_PASTE_ONOFF: case ID_MENU3D_SOLDER_PASTE_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERPASTE] = isChecked; g_Parm_3D_Visu.SetFlag( FL_SOLDERPASTE, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_COMMENTS_ONOFF: case ID_MENU3D_COMMENTS_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_COMMENTS] = isChecked; g_Parm_3D_Visu.SetFlag( FL_COMMENTS, isChecked ); NewDisplay(); NewDisplay(); return; return; case ID_MENU3D_ECO_ONOFF: case ID_MENU3D_ECO_ONOFF: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ECO] = isChecked; g_Parm_3D_Visu.SetFlag( FL_ECO, isChecked ); NewDisplay(); NewDisplay(); return; return; Loading Loading @@ -448,26 +470,26 @@ void EDA_3D_FRAME::On3DGridSelection( wxCommandEvent& event ) switch( id ) switch( id ) { { case ID_MENU3D_GRID_NOGRID: case ID_MENU3D_GRID_NOGRID: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] = false; g_Parm_3D_Visu.SetFlag( FL_GRID, false ); break; break; case ID_MENU3D_GRID_10_MM: case ID_MENU3D_GRID_10_MM: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] = true; g_Parm_3D_Visu.SetFlag( FL_GRID, true ); g_Parm_3D_Visu.m_3D_Grid = 10.0; g_Parm_3D_Visu.m_3D_Grid = 10.0; break; break; case ID_MENU3D_GRID_5_MM: case ID_MENU3D_GRID_5_MM: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] = true; g_Parm_3D_Visu.SetFlag( FL_GRID, true ); g_Parm_3D_Visu.m_3D_Grid = 5.0; g_Parm_3D_Visu.m_3D_Grid = 5.0; break; break; case ID_MENU3D_GRID_2P5_MM: case ID_MENU3D_GRID_2P5_MM: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] = true; g_Parm_3D_Visu.SetFlag( FL_GRID, true ); g_Parm_3D_Visu.m_3D_Grid = 2.5; g_Parm_3D_Visu.m_3D_Grid = 2.5; break; break; case ID_MENU3D_GRID_1_MM: case ID_MENU3D_GRID_1_MM: g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_GRID] = true; g_Parm_3D_Visu.SetFlag( FL_GRID, true ); g_Parm_3D_Visu.m_3D_Grid = 1.0; g_Parm_3D_Visu.m_3D_Grid = 1.0; break; break; Loading
3d-viewer/3d_toolbar.cpp +19 −15 Original line number Original line Diff line number Diff line /* /* * This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application. * * * Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com * Copyright (C) 2013 Jean-Pierre Charras, jp.charras at wanadoo.fr * Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net> * Copyright (C) 2013 Wayne Stambaugh <stambaughw@verizon.net> * Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors. * Copyright (C) 1992-2013 KiCad Developers, see AUTHORS.txt for contributors. * * * This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License Loading Loading @@ -180,6 +180,8 @@ void EDA_3D_FRAME::CreateMenuBar() gridlistMenu->Append( ID_MENU3D_GRID_2P5_MM, _( "3D Grid 2.5 mm" ), wxEmptyString, true ); gridlistMenu->Append( ID_MENU3D_GRID_2P5_MM, _( "3D Grid 2.5 mm" ), wxEmptyString, true ); gridlistMenu->Append( ID_MENU3D_GRID_1_MM, _( "3D Grid 1 mm" ), wxEmptyString, true ); gridlistMenu->Append( ID_MENU3D_GRID_1_MM, _( "3D Grid 1 mm" ), wxEmptyString, true ); prefsMenu->AppendSeparator(); AddMenuItem( prefsMenu, ID_MENU3D_SHOW_BOARD_BODY, AddMenuItem( prefsMenu, ID_MENU3D_SHOW_BOARD_BODY, _( "Show Board Body" ), KiBitmap( use_3D_copper_thickness_xpm ), wxITEM_CHECK ); _( "Show Board Body" ), KiBitmap( use_3D_copper_thickness_xpm ), wxITEM_CHECK ); Loading @@ -192,6 +194,8 @@ void EDA_3D_FRAME::CreateMenuBar() AddMenuItem( prefsMenu, ID_MENU3D_ZONE_ONOFF, AddMenuItem( prefsMenu, ID_MENU3D_ZONE_ONOFF, _( "Show Zone &Filling" ), KiBitmap( add_zone_xpm ), wxITEM_CHECK ); _( "Show Zone &Filling" ), KiBitmap( add_zone_xpm ), wxITEM_CHECK ); prefsMenu->AppendSeparator(); AddMenuItem( prefsMenu, ID_MENU3D_ADHESIVE_ONOFF, AddMenuItem( prefsMenu, ID_MENU3D_ADHESIVE_ONOFF, _( "Show &Adhesive Layers" ), KiBitmap( tools_xpm ), wxITEM_CHECK ); _( "Show &Adhesive Layers" ), KiBitmap( tools_xpm ), wxITEM_CHECK ); Loading Loading @@ -224,40 +228,40 @@ void EDA_3D_FRAME::SetMenuBarOptionsState() wxMenuItem* item; wxMenuItem* item; // Set the state of toggle menus according to the current display options // Set the state of toggle menus according to the current display options item = menuBar->FindItem( ID_MENU3D_REALISTIC_MODE ); item = menuBar->FindItem( ID_MENU3D_REALISTIC_MODE ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_REALISTIC_MODE]); item->Check(g_Parm_3D_Visu.GetFlag( FL_USE_REALISTIC_MODE ) ); item = menuBar->FindItem( ID_MENU3D_SHOW_BOARD_BODY ); item = menuBar->FindItem( ID_MENU3D_SHOW_BOARD_BODY ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SHOW_BOARD_BODY]); item->Check(g_Parm_3D_Visu.GetFlag( FL_SHOW_BOARD_BODY ) ); item = menuBar->FindItem( ID_MENU3D_USE_COPPER_THICKNESS ); item = menuBar->FindItem( ID_MENU3D_USE_COPPER_THICKNESS ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_COPPER_THICKNESS]); item->Check(g_Parm_3D_Visu.GetFlag( FL_USE_COPPER_THICKNESS ) ); item = menuBar->FindItem( ID_MENU3D_MODULE_ONOFF ); item = menuBar->FindItem( ID_MENU3D_MODULE_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_MODULE]); item->Check(g_Parm_3D_Visu.GetFlag( FL_MODULE ) ); item = menuBar->FindItem( ID_MENU3D_ZONE_ONOFF ); item = menuBar->FindItem( ID_MENU3D_ZONE_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ZONE]); item->Check(g_Parm_3D_Visu.GetFlag( FL_ZONE ) ); item = menuBar->FindItem( ID_MENU3D_AXIS_ONOFF ); item = menuBar->FindItem( ID_MENU3D_AXIS_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_AXIS]); item->Check(g_Parm_3D_Visu.GetFlag( FL_AXIS ) ); item = menuBar->FindItem( ID_MENU3D_ADHESIVE_ONOFF ); item = menuBar->FindItem( ID_MENU3D_ADHESIVE_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ADHESIVE]); item->Check(g_Parm_3D_Visu.GetFlag( FL_ADHESIVE ) ); item = menuBar->FindItem( ID_MENU3D_SILKSCREEN_ONOFF ); item = menuBar->FindItem( ID_MENU3D_SILKSCREEN_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SILKSCREEN]); item->Check(g_Parm_3D_Visu.GetFlag( FL_SILKSCREEN ) ); item = menuBar->FindItem( ID_MENU3D_SOLDER_MASK_ONOFF ); item = menuBar->FindItem( ID_MENU3D_SOLDER_MASK_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERMASK]); item->Check(g_Parm_3D_Visu.GetFlag( FL_SOLDERMASK ) ); item = menuBar->FindItem( ID_MENU3D_SOLDER_PASTE_ONOFF ); item = menuBar->FindItem( ID_MENU3D_SOLDER_PASTE_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERPASTE]); item->Check(g_Parm_3D_Visu.GetFlag( FL_SOLDERPASTE ) ); item = menuBar->FindItem( ID_MENU3D_COMMENTS_ONOFF ); item = menuBar->FindItem( ID_MENU3D_COMMENTS_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_COMMENTS]); item->Check(g_Parm_3D_Visu.GetFlag( FL_COMMENTS ) ); item = menuBar->FindItem( ID_MENU3D_ECO_ONOFF ); item = menuBar->FindItem( ID_MENU3D_ECO_ONOFF ); item->Check(g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ECO]); item->Check(g_Parm_3D_Visu.GetFlag( FL_ECO )); } } void EDA_3D_FRAME::SetToolbars() void EDA_3D_FRAME::SetToolbars() Loading
3d-viewer/dialogs/dialog_3D_view_option.cpp +21 −37 Original line number Original line Diff line number Diff line Loading @@ -10,6 +10,7 @@ public: private: private: EDA_3D_FRAME* m_parent; EDA_3D_FRAME* m_parent; INFO3D_VISU & m_3Dprms; void initDialog(); void initDialog(); Loading @@ -31,7 +32,7 @@ void EDA_3D_FRAME::Install_3D_ViewOptionDialog( wxCommandEvent& event ) DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS( EDA_3D_FRAME* parent ) DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS( EDA_3D_FRAME* parent ) :DIALOG_3D_VIEW_OPTIONS_BASE( parent ) :DIALOG_3D_VIEW_OPTIONS_BASE( parent ), m_3Dprms( g_Parm_3D_Visu ) { { m_parent = parent; m_parent = parent; Loading @@ -55,24 +56,15 @@ void DIALOG_3D_VIEW_OPTIONS::initDialog() m_bitmapECO->SetBitmap( KiBitmap( edit_sheet_xpm ) ); m_bitmapECO->SetBitmap( KiBitmap( edit_sheet_xpm ) ); // Check/uncheck checkboxes // Check/uncheck checkboxes m_checkBoxCuThickness->SetValue( m_checkBoxCuThickness->SetValue( m_3Dprms.GetFlag( FL_USE_COPPER_THICKNESS ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_COPPER_THICKNESS] ); m_checkBox3Dshapes->SetValue( m_3Dprms.GetFlag( FL_MODULE ) ); m_checkBox3Dshapes->SetValue( m_checkBoxAreas->SetValue( m_3Dprms.GetFlag( FL_ZONE ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_MODULE] ); m_checkBoxSilkscreen->SetValue( m_3Dprms.GetFlag( FL_SILKSCREEN ) ); m_checkBoxAreas->SetValue( m_checkBoxSolderMask->SetValue( m_3Dprms.GetFlag( FL_SOLDERMASK ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ZONE] ); m_checkBoxSolderpaste->SetValue( m_3Dprms.GetFlag( FL_SOLDERPASTE ) ); m_checkBoxSilkscreen->SetValue( m_checkBoxAdhesive->SetValue( m_3Dprms.GetFlag( FL_ADHESIVE ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SILKSCREEN] ); m_checkBoxComments->SetValue( m_3Dprms.GetFlag( FL_COMMENTS ) ); m_checkBoxSolderMask->SetValue( m_checkBoxECO->SetValue( m_3Dprms.GetFlag( FL_ECO ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERMASK] ); m_checkBoxSolderpaste->SetValue( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERPASTE] ); m_checkBoxAdhesive->SetValue( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ADHESIVE] ); m_checkBoxComments->SetValue( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_COMMENTS] ); m_checkBoxECO->SetValue( g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ECO] ); } } void DIALOG_3D_VIEW_OPTIONS::OnShowAllClick( wxCommandEvent& event ) void DIALOG_3D_VIEW_OPTIONS::OnShowAllClick( wxCommandEvent& event ) Loading Loading @@ -105,24 +97,16 @@ void DIALOG_3D_VIEW_OPTIONS::OnShowNoneClick( wxCommandEvent& event ) void DIALOG_3D_VIEW_OPTIONS::OnOKClick( wxCommandEvent& event ) void DIALOG_3D_VIEW_OPTIONS::OnOKClick( wxCommandEvent& event ) { { g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_USE_COPPER_THICKNESS] = m_3Dprms.SetFlag( FL_USE_COPPER_THICKNESS, m_checkBoxCuThickness->GetValue(); m_checkBoxCuThickness->GetValue() ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_MODULE] = m_3Dprms.SetFlag( FL_MODULE, m_checkBox3Dshapes->GetValue() ); m_checkBox3Dshapes->GetValue(); m_3Dprms.SetFlag( FL_ZONE, m_checkBoxAreas->GetValue() ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ZONE] = m_3Dprms.SetFlag( FL_SILKSCREEN, m_checkBoxSilkscreen->GetValue() ); m_checkBoxAreas->GetValue(); m_3Dprms.SetFlag( FL_SOLDERMASK, m_checkBoxSolderMask->GetValue() ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SILKSCREEN] = m_3Dprms.SetFlag( FL_SOLDERPASTE, m_checkBoxSolderpaste->GetValue() ); m_checkBoxSilkscreen->GetValue(); m_3Dprms.SetFlag( FL_ADHESIVE, m_checkBoxAdhesive->GetValue() ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERMASK] = m_3Dprms.SetFlag( FL_COMMENTS, m_checkBoxComments->GetValue() ); m_checkBoxSolderMask->GetValue(); m_3Dprms.SetFlag( FL_ECO, m_checkBoxECO->GetValue( ) ); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_SOLDERPASTE] = m_checkBoxSolderpaste->GetValue(); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ADHESIVE] = m_checkBoxAdhesive->GetValue(); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_COMMENTS] = m_checkBoxComments->GetValue(); g_Parm_3D_Visu.m_DrawFlags[g_Parm_3D_Visu.FL_ECO] = m_checkBoxECO->GetValue(); EndModal( wxID_OK ); EndModal( wxID_OK ); } }
3d-viewer/info3d_visu.cpp +4 −4 Original line number Original line Diff line number Diff line Loading @@ -68,10 +68,10 @@ INFO3D_VISU::INFO3D_VISU() // default all special item layers Visible // default all special item layers Visible for( ii = 0; ii < FL_LAST; ii++ ) for( ii = 0; ii < FL_LAST; ii++ ) m_DrawFlags[ii] = true; m_drawFlags[ii] = true; m_DrawFlags[FL_GRID] = false; SetFlag( FL_GRID, false ); m_DrawFlags[FL_USE_COPPER_THICKNESS] = false; SetFlag( FL_USE_COPPER_THICKNESS, false ); } } Loading Loading @@ -164,7 +164,7 @@ void INFO3D_VISU::InitSettings( BOARD* aBoard ) break; break; case SOLDERMASK_N_FRONT: case SOLDERMASK_N_FRONT: zpos = zpos_copper_front + 2 * zpos_offset; zpos = zpos_copper_front + 1 * zpos_offset; break; break; case SILKSCREEN_N_BACK: case SILKSCREEN_N_BACK: Loading