From 0fb1ccff21d9814b0721df056daa4e4036740638 Mon Sep 17 00:00:00 2001
From: Jeff Young <jeff@rokeby.ie>
Date: Mon, 13 Mar 2023 11:25:30 +0000
Subject: [PATCH] Commenting and formatting.  No functional changes.

---
 common/drawing_sheet/ds_data_model.cpp     | 19 +---------
 common/plotters/common_plot_functions.cpp  | 26 +++++---------
 include/drawing_sheet/ds_data_model.h      |  7 +---
 include/drawing_sheet/ds_draw_item.h       | 15 +++-----
 include/drawing_sheet/ds_painter.h         |  6 ++--
 include/drawing_sheet/ds_proxy_view_item.h | 13 +++----
 pcbnew/pcbnew_printout.cpp                 | 21 ++++-------
 pcbnew/pcbnew_printout.h                   | 15 ++++----
 pcbnew/plot_board_layers.cpp               | 42 ++++++++--------------
 9 files changed, 50 insertions(+), 114 deletions(-)

diff --git a/common/drawing_sheet/ds_data_model.cpp b/common/drawing_sheet/ds_data_model.cpp
index acc9b22833..370ba9064b 100644
--- a/common/drawing_sheet/ds_data_model.cpp
+++ b/common/drawing_sheet/ds_data_model.cpp
@@ -2,7 +2,7 @@
  * This program source code file is part of KiCad, a free EDA CAD application.
  *
  * Copyright (C) 1992-2018 Jean-Pierre Charras <jp.charras at wanadoo.fr>.
- * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors.
+ * Copyright (C) 1992-2023 KiCad Developers, see AUTHORS.txt for contributors.
  *
  *
  * This program is free software; you can redistribute it and/or
@@ -137,23 +137,6 @@ void DS_DATA_MODEL::Remove( DS_DATA_ITEM* aItem )
 }
 
 
-int DS_DATA_MODEL::GetItemIndex( DS_DATA_ITEM* aItem ) const
-{
-    unsigned idx = 0;
-
-    while( idx < m_list.size() )
-    {
-        if( m_list[idx] == aItem )
-            return (int) idx;
-
-        idx++;
-    }
-
-    return -1;
-}
-
-/* return the item from its index aIdx, or NULL if does not exist
- */
 DS_DATA_ITEM* DS_DATA_MODEL::GetItem( unsigned aIdx ) const
 {
     if( aIdx < m_list.size() )
diff --git a/common/plotters/common_plot_functions.cpp b/common/plotters/common_plot_functions.cpp
index 875123822e..d497cf4738 100644
--- a/common/plotters/common_plot_functions.cpp
+++ b/common/plotters/common_plot_functions.cpp
@@ -1,7 +1,7 @@
 /*
  * This program source code file is part of KiCad, a free EDA CAD application.
  *
- * Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.txt for contributors.
+ * Copyright (C) 1992-2023 KiCad Developers, see AUTHORS.txt for contributors.
  *
  *
  * This program is free software; you can redistribute it and/or
@@ -38,21 +38,13 @@ wxString GetDefaultPlotExtension( PLOT_FORMAT aFormat )
 {
     switch( aFormat )
     {
-    case PLOT_FORMAT::DXF:
-        return DXF_PLOTTER::GetDefaultFileExtension();
-    case PLOT_FORMAT::POST:
-        return PS_PLOTTER::GetDefaultFileExtension();
-    case PLOT_FORMAT::PDF:
-        return PDF_PLOTTER::GetDefaultFileExtension();
-    case PLOT_FORMAT::HPGL:
-        return HPGL_PLOTTER::GetDefaultFileExtension();
-    case PLOT_FORMAT::GERBER:
-        return GERBER_PLOTTER::GetDefaultFileExtension();
-    case PLOT_FORMAT::SVG:
-        return SVG_PLOTTER::GetDefaultFileExtension();
-    default:
-        wxASSERT( false );
-        return wxEmptyString;
+    case PLOT_FORMAT::DXF:    return DXF_PLOTTER::GetDefaultFileExtension();
+    case PLOT_FORMAT::POST:   return PS_PLOTTER::GetDefaultFileExtension();
+    case PLOT_FORMAT::PDF:    return PDF_PLOTTER::GetDefaultFileExtension();
+    case PLOT_FORMAT::HPGL:   return HPGL_PLOTTER::GetDefaultFileExtension();
+    case PLOT_FORMAT::GERBER: return GERBER_PLOTTER::GetDefaultFileExtension();
+    case PLOT_FORMAT::SVG:    return SVG_PLOTTER::GetDefaultFileExtension();
+    default:    wxFAIL;       return wxEmptyString;
     }
 }
 
@@ -174,7 +166,7 @@ void PlotDrawingSheet( PLOTTER* plotter, const PROJECT* aProject, const TITLE_BL
                 break;
 
             bitmap->m_ImageBitmap->PlotImage( plotter, drawItem->GetPosition(), plotColor,
-                                                  PLOTTER::USE_DEFAULT_LINE_WIDTH );
+                                              PLOTTER::USE_DEFAULT_LINE_WIDTH );
         }
             break;
 
diff --git a/include/drawing_sheet/ds_data_model.h b/include/drawing_sheet/ds_data_model.h
index 85239e8d09..c839cc5fcc 100644
--- a/include/drawing_sheet/ds_data_model.h
+++ b/include/drawing_sheet/ds_data_model.h
@@ -2,7 +2,7 @@
  * This program source code file is part of KiCad, a free EDA CAD application.
  *
  * Copyright (C) 2013-2014 Jean-Pierre Charras, jp.charras at wanadoo.fr
- * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors.
+ * Copyright (C) 1992-2023 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
@@ -114,11 +114,6 @@ public:
     void Append( DS_DATA_ITEM* aItem );
     void Remove( DS_DATA_ITEM* aItem );
 
-    /**
-     * @return the index of aItem, or -1 if does not exist.
-     */
-    int GetItemIndex( DS_DATA_ITEM* aItem ) const;
-
     /**
      * @return is the item from its index \a aIdx, or NULL if does not exist.
      */
diff --git a/include/drawing_sheet/ds_draw_item.h b/include/drawing_sheet/ds_draw_item.h
index dea9570379..12babcd1f8 100644
--- a/include/drawing_sheet/ds_draw_item.h
+++ b/include/drawing_sheet/ds_draw_item.h
@@ -2,7 +2,7 @@
  * This program source code file is part of KiCad, a free EDA CAD application.
  *
  * Copyright (C) 2013-2014 Jean-Pierre Charras, jp.charras at wanadoo.fr
- * Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.txt for contributors.
+ * Copyright (C) 1992-2023 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
@@ -109,6 +109,7 @@ protected:
         m_flags = 0;
     }
 
+protected:
     DS_DATA_ITEM*  m_peer;       // the parent DS_DATA_ITEM item in the DS_DATA_MODEL
     int            m_index;      // the index in the parent's repeat count
     int            m_penWidth;
@@ -194,7 +195,6 @@ public:
      */
     SHAPE_POLY_SET m_Polygons;
 
-
 private:
     VECTOR2I m_pos; // position of reference point, from the DS_DATA_ITEM_POLYGONS parent
                     // (used only in drawing sheet editor to draw anchors)
@@ -287,9 +287,9 @@ public:
 #endif
 
 private:
-    VECTOR2I m_markerPos; // position of the marker
-    VECTOR2I m_pageSize;  // full size of the page
-    double m_markerSize;
+    VECTOR2I m_markerPos;   // position of the marker
+    VECTOR2I m_pageSize;    // full size of the page
+    double   m_markerSize;
 };
 
 
@@ -500,11 +500,6 @@ public:
             return nullptr;
     }
 
-    void GetAllItems( std::vector<DS_DRAW_ITEM_BASE*>* aList )
-    {
-        *aList = m_graphicList;
-    }
-
     /**
      * Draws the item list created by BuildDrawItemsList
      */
diff --git a/include/drawing_sheet/ds_painter.h b/include/drawing_sheet/ds_painter.h
index fafce4c41d..b554831aef 100644
--- a/include/drawing_sheet/ds_painter.h
+++ b/include/drawing_sheet/ds_painter.h
@@ -1,7 +1,7 @@
 /*
  * This program source code file is part of KiCad, a free EDA CAD application.
  *
- * Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors.
+ * Copyright (C) 1992-2023 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
@@ -129,8 +129,8 @@ private:
  *
  * @param aDC The device context.
  * @param aPageInfo for margins and page size (in mils).
-* @param aSheetName The sheet name, for basic inscriptions.
-* @param aSheetPath The sheetpath (full sheet name), for basic inscriptions.
+ * @param aSheetName The sheet name, for basic inscriptions.
+ * @param aSheetPath The sheetpath (full sheet name), for basic inscriptions.
  * @param aFileName The file name, for basic inscriptions.
  * @param aTitleBlock The sheet title block, for text variable resolution.
  * @param aProperties Optional properties for text variable resolution.
diff --git a/include/drawing_sheet/ds_proxy_view_item.h b/include/drawing_sheet/ds_proxy_view_item.h
index faa4889913..4aef062789 100644
--- a/include/drawing_sheet/ds_proxy_view_item.h
+++ b/include/drawing_sheet/ds_proxy_view_item.h
@@ -2,7 +2,7 @@
  * This program source code file is part of KICAD, a free EDA CAD application.
  *
  * Copyright (C) 2013 CERN
- * Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
+ * Copyright (C) 2020-2023 KiCad Developers, see AUTHORS.txt for contributors.
  * @author Maciej Suminski <maciej.suminski@cern.ch>
  *
  * This program is free software; you can redistribute it and/or
@@ -88,19 +88,13 @@ public:
      * Can be used to override which layer ID is used for drawing sheet item colors
      * @param aLayerId is the color to use (defaults to LAYER_DRAWINGSHEET if this is not called)
      */
-    void SetColorLayer( int aLayerId )
-    {
-        m_colorLayer = aLayerId;
-    }
+    void SetColorLayer( int aLayerId ) { m_colorLayer = aLayerId; }
 
     /**
      * Overrides the layer used to pick the color of the page border (normally LAYER_GRID)
      * @param aLayerId is the layer to use
      */
-    void SetPageBorderColorLayer( int aLayerId )
-    {
-        m_pageBorderColorLayer = aLayerId;
-    }
+    void SetPageBorderColorLayer( int aLayerId ) { m_pageBorderColorLayer = aLayerId; }
 
     const PAGE_INFO& GetPageInfo() { return *m_pageInfo; }
     const TITLE_BLOCK& GetTitleBlock() { return *m_titleBlock; }
@@ -133,6 +127,7 @@ protected:
     void buildDrawList( KIGFX::VIEW* aView, const std::map<wxString, wxString>* aProperties,
                         DS_DRAW_ITEM_LIST* aDrawList ) const;
 
+protected:
     /// the factor between mils (units used in drawing sheet and internal units)
     /// it is the value IU_PER_MILS used in the caller
     int                m_mils2IUscalefactor;
diff --git a/pcbnew/pcbnew_printout.cpp b/pcbnew/pcbnew_printout.cpp
index 9e2ac4e410..2540821de4 100644
--- a/pcbnew/pcbnew_printout.cpp
+++ b/pcbnew/pcbnew_printout.cpp
@@ -2,7 +2,7 @@
  * This program source code file is part of KiCad, a free EDA CAD application.
  *
  * Copyright (C) 2009 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
- * Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.txt for contributors.
+ * Copyright (C) 1992-2023 KiCad Developers, see AUTHORS.txt for contributors.
  * Copyright (C) 2018 CERN
  * Author: Maciej Suminski <maciej.suminski@cern.ch>
  * Author: Tomasz Wlostowski <tomasz.wlostowski@cern.ch>
@@ -37,8 +37,8 @@
 
 #include <advanced_config.h>
 
-PCBNEW_PRINTOUT_SETTINGS::PCBNEW_PRINTOUT_SETTINGS( const PAGE_INFO& aPageInfo )
-    : BOARD_PRINTOUT_SETTINGS( aPageInfo )
+PCBNEW_PRINTOUT_SETTINGS::PCBNEW_PRINTOUT_SETTINGS( const PAGE_INFO& aPageInfo ) :
+        BOARD_PRINTOUT_SETTINGS( aPageInfo )
 {
     m_DrillMarks = DRILL_MARKS::SMALL_DRILL_SHAPE;
     m_Pagination = ALL_LAYERS;
@@ -77,7 +77,7 @@ void PCBNEW_PRINTOUT_SETTINGS::Save( APP_SETTINGS_BASE* aConfig )
 
 PCBNEW_PRINTOUT::PCBNEW_PRINTOUT( BOARD* aBoard, const PCBNEW_PRINTOUT_SETTINGS& aParams,
                                   const KIGFX::VIEW* aView, const wxString& aTitle ) :
-    BOARD_PRINTOUT( aParams, aView, aTitle ), m_pcbnewSettings( aParams )
+        BOARD_PRINTOUT( aParams, aView, aTitle ), m_pcbnewSettings( aParams )
 {
     m_board = aBoard;
 }
@@ -309,19 +309,10 @@ int KIGFX::PCB_PRINT_PAINTER::getDrillShape( const PAD* aPad ) const
 
 SHAPE_SEGMENT KIGFX::PCB_PRINT_PAINTER::getPadHoleShape( const PAD* aPad ) const
 {
-    SHAPE_SEGMENT segm;
-
     if( m_drillMarkReal )
-    {
-        segm =  KIGFX::PCB_PAINTER::getPadHoleShape( aPad );
-    }
+        return KIGFX::PCB_PAINTER::getPadHoleShape( aPad );
     else
-    {
-        segm = SHAPE_SEGMENT( aPad->GetPosition(),
-                              aPad->GetPosition(), m_drillMarkSize );
-    }
-
-    return segm;
+        return SHAPE_SEGMENT( aPad->GetPosition(), aPad->GetPosition(), m_drillMarkSize );
 }
 
 
diff --git a/pcbnew/pcbnew_printout.h b/pcbnew/pcbnew_printout.h
index a3283e4dbe..87bfbc68a2 100644
--- a/pcbnew/pcbnew_printout.h
+++ b/pcbnew/pcbnew_printout.h
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2018 CERN
- * Copyright (C) 2018-2022 KiCad Developers, see AUTHORS.txt for contributors.
+ * Copyright (C) 2018-2023 KiCad Developers, see AUTHORS.txt for contributors.
  *
  * @author Maciej Suminski <maciej.suminski@cern.ch>
  *
@@ -50,7 +50,7 @@ class PCBNEW_PRINTOUT : public BOARD_PRINTOUT
 {
 public:
     PCBNEW_PRINTOUT( BOARD* aBoard, const PCBNEW_PRINTOUT_SETTINGS& aParams,
-            const KIGFX::VIEW* aView, const wxString& aTitle );
+                     const KIGFX::VIEW* aView, const wxString& aTitle );
 
     bool OnPrintPage( int aPage ) override;
 
@@ -68,8 +68,7 @@ protected:
     std::unique_ptr<KIGFX::PAINTER> getPainter( KIGFX::GAL* aGal ) override;
 
 private:
-    BOARD* m_board;
-
+    BOARD*                   m_board;
     PCBNEW_PRINTOUT_SETTINGS m_pcbnewSettings;
 };
 
@@ -104,11 +103,9 @@ protected:
 
     int getViaDrillSize( const PCB_VIA* aVia ) const override;
 
-    ///< Flag deciding whether use the actual hole size or user-specified size for drill marks
-    bool m_drillMarkReal;
-
-    ///< User-specified size for drill marks (expressed in internal units)
-    int m_drillMarkSize;
+protected:
+    bool m_drillMarkReal;    ///< Actual hole size or user-specified size for drill marks
+    int  m_drillMarkSize;    ///< User-specified size (in internal units)
 };
 
 }; // namespace KIGFX
diff --git a/pcbnew/plot_board_layers.cpp b/pcbnew/plot_board_layers.cpp
index 36455bdb13..4b475e99c2 100644
--- a/pcbnew/plot_board_layers.cpp
+++ b/pcbnew/plot_board_layers.cpp
@@ -726,8 +726,8 @@ void PlotLayerOutlines( BOARD* aBoard, PLOTTER* aPlotter, LSET aLayerMask,
             for( int kk = 0; kk <= outlines.HoleCount(ii); kk++ )
             {
                 cornerList.clear();
-                const SHAPE_LINE_CHAIN& path =
-                        ( kk == 0 ) ? outlines.COutline( ii ) : outlines.CHole( ii, kk - 1 );
+                const SHAPE_LINE_CHAIN& path = ( kk == 0 ) ? outlines.COutline( ii )
+                                                           : outlines.CHole( ii, kk - 1 );
 
                 aPlotter->PlotPoly( path, FILL_T::NO_FILL );
             }
@@ -737,8 +737,8 @@ void PlotLayerOutlines( BOARD* aBoard, PLOTTER* aPlotter, LSET aLayerMask,
         if( aPlotOpt.GetDrillMarksType() != DRILL_MARKS::NO_DRILL_SHAPE )
         {
             int smallDrill = ( aPlotOpt.GetDrillMarksType() == DRILL_MARKS::SMALL_DRILL_SHAPE )
-                             ? pcbIUScale.mmToIU( ADVANCED_CFG::GetCfg().m_SmallDrillMarkSize ) :
-                             INT_MAX;
+                                  ? pcbIUScale.mmToIU( ADVANCED_CFG::GetCfg().m_SmallDrillMarkSize )
+                                  : INT_MAX;
 
             for( FOOTPRINT* footprint : aBoard->Footprints() )
             {
@@ -756,8 +756,7 @@ void PlotLayerOutlines( BOARD* aBoard, PLOTTER* aPlotter, LSET aLayerMask,
                         else
                         {
                             // Note: small drill marks have no significance when applied to slots
-                            aPlotter->ThickSegment( slot->GetSeg().A,
-                                                    slot->GetSeg().B,
+                            aPlotter->ThickSegment( slot->GetSeg().A, slot->GetSeg().B,
                                                     slot->GetWidth(), SKETCH, nullptr );
                         }
                     }
@@ -782,26 +781,16 @@ void PlotLayerOutlines( BOARD* aBoard, PLOTTER* aPlotter, LSET aLayerMask,
  *
  * Solder mask layers have a minimum thickness value and cannot be drawn like standard layers,
  * unless the minimum thickness is 0.
- * Currently the algo is:
- * 1 - build all pad shapes as polygons with a size inflated by
- *      mask clearance + (min width solder mask /2)
- * 2 - Merge shapes
- * 3 - deflate result by (min width solder mask /2)
- * 4 - ORing result by all pad shapes as polygons with a size inflated by
- *      mask clearance only (because deflate sometimes creates shape artifacts)
- * 5 - draw result as polygons
  *
  * The algorithm is somewhat complicated to allow for min web thickness while also preserving
  * pad attributes in Gerber.
  *
- * create initial polygons for every shape (pad or polygon),
- * inflate and deflate polygons
- * with Min Thickness/2, and merges the result (like initial algo)
- * remove all initial polygons.
- * The remaining polygons are areas with thickness < min thickness
- * plot all initial shapes by flashing (or using regions) for pad and polygons
- * (shapes will be better) and remaining polygons to
- * remove areas with thickness < min thickness from final mask
+ * 1 - create initial polygons for every shape
+ * 2 - inflate and deflate polygons with Min Thickness/2, and merges the result
+ * 3 - substract all initial polygons from (2), leaving the areas where the thickness was less
+ *      than min thickness
+ * 4 - plot all initial shapes by flashing (or using regions), including Gerber attribute data
+ * 5 - plot remaining polygons from (2) (witout any Gerber attributes)
  */
 
 void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask,
@@ -827,9 +816,8 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask,
     // Extra margin is half the min width for solder mask, which is used to merge too-close shapes
     // (distance < aMinThickness), and will be removed when creating the actual shapes.
 
-    // Will contain shapes inflated by inflate value that will be merged and deflated by
-    // inflate value to build final polygons
-    // After calculations the remaining polygons are polygons to plot
+    // Will contain shapes inflated by inflate value that will be merged and deflated by inflate
+    // value to build final polygons
     SHAPE_POLY_SET areas;
 
     // Will contain exact shapes of all items on solder mask
@@ -972,8 +960,8 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask,
 
     int numSegs = GetArcToSegmentCount( inflate, maxError, FULL_CIRCLE );
 
-    // Merge all polygons: After deflating, not merged (not overlapping) polygons
-    // will have the initial shape (with perhaps small changes due to deflating transform)
+    // Merge all polygons: After deflating, not merged (not overlapping) polygons will have the
+    // initial shape (with perhaps small changes due to deflating transform)
     areas.Simplify( SHAPE_POLY_SET::PM_STRICTLY_SIMPLE );
     areas.Deflate( inflate, numSegs );