From d90f2842c89391ff9a4d7be83f27953ae1cc5b23 Mon Sep 17 00:00:00 2001 From: Jon Evans Date: Thu, 21 Nov 2024 19:19:51 -0500 Subject: [PATCH] API: Add layerset to via padstack serialization --- pcbnew/pcb_track.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pcbnew/pcb_track.cpp b/pcbnew/pcb_track.cpp index 94168c43c9..3e332ca78e 100644 --- a/pcbnew/pcb_track.cpp +++ b/pcbnew/pcb_track.cpp @@ -471,6 +471,17 @@ void PCB_VIA::Serialize( google::protobuf::Any &aContainer ) const PADSTACK padstack = Padstack(); + // TODO(JE) Should this be done here or should the padstack layerset be kept up to date? + // It's not really used elsewhere at the moment + for( PCB_LAYER_ID layer : LAYER_RANGE( Padstack().Drill().start, Padstack().Drill().end, MAX_CU_LAYERS ) ) + padstack.LayerSet().set( layer ); + + if( !IsTented( F_Mask ) && Padstack().Drill().start == F_Cu ) + padstack.LayerSet().set( F_Mask ); + + if( !IsTented( B_Mask ) && Padstack().Drill().end == B_Cu ) + padstack.LayerSet().set( B_Mask ); + google::protobuf::Any padStackWrapper; padstack.Serialize( padStackWrapper ); padStackWrapper.UnpackTo( via.mutable_pad_stack() );