272 COLOR4D( 0.0, 1.0, 0.0, 1.0 ) ) );
276 &
m_Render.opengl_copper_thickness,
false ) );
278 &
m_Render.show_model_bbox,
false ) );
280 &
m_Render.show_off_board_silk,
false ) );
282 &
m_Render.highlight_on_rollover,
true ) );
284 &
m_Render.opengl_AA_disableOnMove,
false ) );
286 &
m_Render.opengl_thickness_disableOnMove,
false ) );
288 &
m_Render.opengl_microvias_disableOnMove,
false ) );
290 &
m_Render.opengl_holes_disableOnMove,
false ) );
292 &
m_Render.opengl_render_bbox_only_OnMove,
false ) );
296 &
m_Render.raytrace_anti_aliasing,
true ) );
298 &
m_Render.raytrace_backfloor,
false ) );
300 &
m_Render.raytrace_post_processing,
true ) );
302 &
m_Render.raytrace_procedural_textures,
true ) );
304 &
m_Render.raytrace_reflections,
true ) );
306 &
m_Render.raytrace_refractions,
true ) );
308 &
m_Render.raytrace_shadows,
true ) );
311 &
m_Render.raytrace_nrsamples_shadows, 3 ) );
313 &
m_Render.raytrace_nrsamples_reflections, 3 ) );
315 &
m_Render.raytrace_nrsamples_refractions, 4 ) );
318 &
m_Render.raytrace_recursivelevel_reflections, 3 ) );
320 &
m_Render.raytrace_recursivelevel_refractions, 2 ) );
323 &
m_Render.raytrace_spread_shadows, 0.05f ) );
325 &
m_Render.raytrace_spread_reflections, 0.025f ) );
327 &
m_Render.raytrace_spread_refractions, 0.025f ) );
330 &
m_Render.raytrace_lightColorCamera,
331 COLOR4D( 0.2, 0.2, 0.2, 1.0 ) ) );
335 COLOR4D( 0.247, 0.247, 0.247, 1.0 ) ) );
338 &
m_Render.raytrace_lightColorBottom,
339 COLOR4D( 0.247, 0.247, 0.247, 1.0 ) ) );
341 std::vector<COLOR4D> default_colors =
343 COLOR4D( 0.168, 0.168, 0.168, 1.0 ),
344 COLOR4D( 0.168, 0.168, 0.168, 1.0 ),
345 COLOR4D( 0.168, 0.168, 0.168, 1.0 ),
346 COLOR4D( 0.168, 0.168, 0.168, 1.0 ),
347 COLOR4D( 0.168, 0.168, 0.168, 1.0 ),
348 COLOR4D( 0.168, 0.168, 0.168, 1.0 ),
349 COLOR4D( 0.168, 0.168, 0.168, 1.0 ),
350 COLOR4D( 0.168, 0.168, 0.168, 1.0 )
355 std::move( default_colors ) ) );
357 const std::vector<int> default_elevation =
359 67, 67, 67, 67, -67, -67, -67, -67,
364 std::move( default_elevation ) ) );
366 const std::vector<int> default_azimuth =
368 45, 135, 225, 315, 45, 135, 225, 315,
373 std::move( default_azimuth ) ) );
380 &
m_Render.show_board_body,
true ) );
382 &
m_Render.show_plated_barrels,
true ) );
396 &
m_Render.show_f_courtyard,
false ) );
398 &
m_Render.show_b_courtyard,
false ) );
400 for(
int layer = 0; layer < 45; ++layer )
402 m_params.emplace_back( new PARAM<bool>( fmt::format(
"render.show_user{}", layer + 1 ),
403 &m_Render.show_user[layer], false ) );
407 &
m_Render.show_footprints_insert,
true ) );
409 &
m_Render.show_footprints_normal,
true ) );
411 &
m_Render.show_footprints_virtual,
true ) );
413 &
m_Render.show_footprints_not_in_posfile,
true ) );
415 &
m_Render.show_footprints_dnp,
false ) );
417 &
m_Render.show_silkscreen_top,
true ) );
419 &
m_Render.show_silkscreen_bottom,
true ) );
421 &
m_Render.show_soldermask_top,
true ) );
423 &
m_Render.show_soldermask_bottom,
true ) );
425 &
m_Render.show_solderpaste,
true ) );
427 &
m_Render.show_copper_bottom,
true ) );
429 &
m_Render.show_copper_top,
true ) );
433 &
m_Render.show_fp_references,
true ) );
439 &
m_Render.subtract_mask_from_silk,
false ) );
441 &
m_Render.clip_silk_on_via_annuli,
false ) );
443 &
m_Render.differentiate_plated_copper,
false ) );
445 &
m_Render.use_board_editor_copper_colors,
false ) );
447 &
m_Render.preview_show_board_body,
true ) );
450 &
m_Camera.animation_enabled,
true ) );
452 &
m_Camera.moving_speed_multiplier, 3 ) );
454 &
m_Camera.rotation_increment, 10.0 ) );
479 Set(
"render.opengl_copper_thickness",
false );
486 if( std::optional<bool> optval =
Get<bool>(
"render.show_copper" ) )
488 Set(
"render.show_copper_top", *optval );
489 Set(
"render.show_copper_bottom", *optval );
492 if( std::optional<bool> optval =
Get<bool>(
"render.show_silkscreen" ) )
494 Set(
"render.show_silkscreen_top", *optval );
495 Set(
"render.show_silkscreen_bottom", *optval );
498 if( std::optional<bool> optval =
Get<bool>(
"render.show_soldermask" ) )
500 Set(
"render.show_soldermask_top", *optval );
501 Set(
"render.show_soldermask_bottom", *optval );
504 if( std::optional<bool> optval =
Get<bool>(
"render.show_comments" ) )
505 Set(
"render.show_drawings", *optval );
507 if( std::optional<bool> optval =
Get<bool>(
"render.show_eco" ) )
509 Set(
"render.show_eco1", *optval );
510 Set(
"render.show_eco2", *optval );
519 std::map<int, wxString> legacyColorMap;
521 legacyColorMap[142] =
"fp_values";
522 legacyColorMap[143] =
"fp_references";
523 legacyColorMap[130] =
"fp_text";
524 legacyColorMap[466] =
"background_bottom";
525 legacyColorMap[467] =
"background_top";
526 legacyColorMap[468] =
"board";
527 legacyColorMap[469] =
"copper";
528 legacyColorMap[470] =
"copper_bottom";
529 legacyColorMap[471] =
"silkscreen_bottom";
530 legacyColorMap[472] =
"silkscreen_top";
531 legacyColorMap[473] =
"soldermask_bottom";
532 legacyColorMap[474] =
"soldermask_top";
533 legacyColorMap[475] =
"solderpaste";
534 legacyColorMap[476] =
"adhesive";
535 legacyColorMap[477] =
"user_comments";
536 legacyColorMap[478] =
"user_drawings";
537 legacyColorMap[479] =
"user_eco1";
538 legacyColorMap[480] =
"user_eco2";
539 legacyColorMap[481] =
"th_models";
540 legacyColorMap[482] =
"smd_models";
541 legacyColorMap[483] =
"virtual_models";
542 legacyColorMap[484] =
"non_pos_file_models";
543 legacyColorMap[485] =
"dnp_models";
544 legacyColorMap[486] =
"3d_navigator";
545 legacyColorMap[487] =
"bounding_boxes";
546 legacyColorMap[488] =
"off_board_silk";
548 if( !
Contains(
"layer_presets" ) || !
At(
"layer_presets" ).is_array() )
551 for( nlohmann::json& preset :
At(
"layer_presets" ) )
553 if( preset.contains(
"colors" ) && preset.at(
"colors" ).is_array() )
555 for( nlohmann::json& color : preset.at(
"colors" ) )
557 if( color.contains(
"layer" ) && color.at(
"layer" ).is_number_integer() )
558 color[
"layer"] = legacyColorMap[color[
"layer"].get<
int>()];
562 if( preset.contains(
"layers" ) && preset.at(
"layers" ).is_array() )
564 nlohmann::json mappedLayers = nlohmann::json::array();
566 for(
const nlohmann::json& layer : preset.at(
"layers" ) )
568 if( layer.is_number_integer() )
569 mappedLayers.push_back( legacyColorMap[layer.get<
int>()] );
572 preset[
"layers"] = mappedLayers;