| 
    KiCad PCB EDA Suite
    
   | 
 
#include "board_statistics_report.h"#include "build_version.h"#include <board.h>#include <footprint.h>#include <pad.h>#include <pcb_track.h>#include <convert_basic_shapes_to_polygon.h>#include <geometry/shape_segment.h>#include <board_stackup_manager/board_stackup.h>#include <i18n_utility.h>#include <nlohmann/json.hpp>#include <string_utils.h>#include <algorithm>#include <cmath>#include <limits>#include <memory>#include <wx/datetime.h>Go to the source code of this file.
Functions | |
| void | InitializeBoardStatisticsData (BOARD_STATISTICS_DATA &aData) | 
| static void | updatePadCounts (FOOTPRINT *aFootprint, BOARD_STATISTICS_DATA &aData) | 
| void | ComputeBoardStatistics (BOARD *aBoard, const BOARD_STATISTICS_OPTIONS &aOptions, BOARD_STATISTICS_DATA &aData) | 
| static wxString | formatCount (int aCount) | 
| static void | appendTable (const std::vector< std::vector< wxString > > &aRows, bool aUseFirstColAsLabel, wxString &aOut) | 
| wxString | FormatBoardStatisticsReport (const BOARD_STATISTICS_DATA &aData, BOARD *aBoard, const UNITS_PROVIDER &aUnitsProvider, const wxString &aProjectName, const wxString &aBoardName) | 
| wxString | FormatBoardStatisticsJson (const BOARD_STATISTICS_DATA &aData, BOARD *aBoard, const UNITS_PROVIDER &aUnitsProvider, const wxString &aProjectName, const wxString &aBoardName) | 
      
  | 
  static | 
Definition at line 363 of file board_statistics_report.cpp.
Referenced by FormatBoardStatisticsReport().
| void ComputeBoardStatistics | ( | BOARD * | aBoard, | 
| const BOARD_STATISTICS_OPTIONS & | aOptions, | ||
| BOARD_STATISTICS_DATA & | aData ) | 
Definition at line 148 of file board_statistics_report.cpp.
References actual, ARC_LOW_DEF, SHAPE_LINE_CHAIN::Area(), SHAPE_POLY_SET::Area(), BOARD_STATISTICS_INFO_ENTRY< T >::attribute, BOARD_STATISTICS_FP_ENTRY::attributeMask, BOARD_STATISTICS_FP_ENTRY::attributeValue, B_Cu, BOARD_STATISTICS_DATA::backCopperArea, BOARD_STATISTICS_FP_ENTRY::backCount, SHAPE_POLY_SET::BBox(), BOARD_STATISTICS_DATA::boardArea, BOARD_STATISTICS_DATA::boardHeight, BOARD_STATISTICS_DATA::boardThickness, BOARD_STATISTICS_DATA::boardWidth, SHAPE_POLY_SET::BooleanSubtract(), BOARD_STACKUP::BuildBoardThicknessFromStackup(), center, CIRCLE, DRILL_LINE_ITEM::COL_COUNT, CollectDrillLineItems(), collide(), BOARD_STATISTICS_DATA::drillEntries, ERROR_INSIDE, ERROR_OUTSIDE, BOARD_STATISTICS_OPTIONS::excludeFootprintsWithoutPads, F_Cu, BOARD_STATISTICS_DATA::footprintEntries, BOARD::Footprints(), BOARD_STATISTICS_DATA::frontCopperArea, BOARD_STATISTICS_FP_ENTRY::frontCount, BOARD::GetBoardPolygonOutlines(), BOX2< Vec >::GetHeight(), BOARD::GetStackupOrDefault(), BOX2< Vec >::GetWidth(), BOARD_STATISTICS_DATA::hasOutline, SHAPE_POLY_SET::Hole(), SHAPE_POLY_SET::HoleCount(), BOARD_ITEM::IsOnLayer(), SEG::Length(), M_PI, BOARD_STATISTICS_DATA::minClearanceTrackToTrack, BOARD_STATISTICS_DATA::minDrillSize, BOARD_STATISTICS_DATA::minTrackWidth, SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), pad, PCB_ARC_T, PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_GROUP_T, PCB_PAD_T, PCB_TRACE_T, PCB_VIA_T, BOARD_STATISTICS_INFO_ENTRY< T >::quantity, radius, RECURSE, BOARD_STATISTICS_DATA::ResetCounts(), BOARD::RunOnChildren(), DRILL_LINE_ITEM::shape, BOARD_STATISTICS_OPTIONS::subtractHolesFromBoardArea, BOARD_STATISTICS_OPTIONS::subtractHolesFromCopperAreas, BOARD::Tracks(), trackTypes, TransformCircleToPolygon(), BOARD_ITEM::TransformShapeToPolySet(), EDA_ITEM::Type(), updatePadCounts(), via, BOARD_STATISTICS_DATA::viaEntries, and DRILL_LINE_ITEM::xSize.
Referenced by Build_Board_Characteristics_Table(), DIALOG_BOARD_STATISTICS::getDataFromPCB(), and PCBNEW_JOBS_HANDLER::JobExportStats().
| wxString FormatBoardStatisticsJson | ( | const BOARD_STATISTICS_DATA & | aData, | 
| BOARD * | aBoard, | ||
| const UNITS_PROVIDER & | aUnitsProvider, | ||
| const wxString & | aProjectName, | ||
| const wxString & | aBoardName ) | 
Definition at line 627 of file board_statistics_report.cpp.
References _, AREA, BOARD_STATISTICS_DATA::backCopperArea, BOARD_STATISTICS_FP_ENTRY::backCount, BOARD_STATISTICS_DATA::boardArea, BOARD_STATISTICS_DATA::boardHeight, BOARD_STATISTICS_DATA::boardThickness, BOARD_STATISTICS_DATA::boardWidth, CIRCLE, BOARD_STATISTICS_DATA::drillEntries, BOARD_STATISTICS_DATA::footprintEntries, BOARD_STATISTICS_DATA::frontCopperArea, BOARD_STATISTICS_FP_ENTRY::frontCount, GetBuildVersion(), GetISO8601CurrentDateTime(), BOARD::GetLayerName(), BOARD_STATISTICS_DATA::hasOutline, DRILL_LINE_ITEM::isPad, DRILL_LINE_ITEM::isPlated, DRILL_LINE_ITEM::m_Qty, UNITS_PROVIDER::MessageTextFromValue(), BOARD_STATISTICS_DATA::minClearanceTrackToTrack, BOARD_STATISTICS_DATA::minDrillSize, BOARD_STATISTICS_DATA::minTrackWidth, OBLONG, BOARD_STATISTICS_DATA::padEntries, BOARD_STATISTICS_DATA::padPropertyEntries, BOARD_STATISTICS_INFO_ENTRY< T >::quantity, DRILL_LINE_ITEM::shape, DRILL_LINE_ITEM::startLayer, DRILL_LINE_ITEM::stopLayer, BOARD_STATISTICS_FP_ENTRY::title, BOARD_STATISTICS_INFO_ENTRY< T >::title, UNDEFINED_LAYER, BOARD_STATISTICS_DATA::viaEntries, DRILL_LINE_ITEM::xSize, and DRILL_LINE_ITEM::ySize.
Referenced by PCBNEW_JOBS_HANDLER::JobExportStats().
| wxString FormatBoardStatisticsReport | ( | const BOARD_STATISTICS_DATA & | aData, | 
| BOARD * | aBoard, | ||
| const UNITS_PROVIDER & | aUnitsProvider, | ||
| const wxString & | aProjectName, | ||
| const wxString & | aBoardName ) | 
Definition at line 464 of file board_statistics_report.cpp.
References _, appendTable(), AREA, BOARD_STATISTICS_DATA::backCopperArea, BOARD_STATISTICS_FP_ENTRY::backCount, BOARD_STATISTICS_DATA::boardArea, BOARD_STATISTICS_DATA::boardHeight, BOARD_STATISTICS_DATA::boardThickness, BOARD_STATISTICS_DATA::boardWidth, CIRCLE, DISTANCE, BOARD_STATISTICS_DATA::drillEntries, BOARD_STATISTICS_DATA::footprintEntries, formatCount(), BOARD_STATISTICS_DATA::frontCopperArea, BOARD_STATISTICS_FP_ENTRY::frontCount, BOARD::GetLayerName(), BOARD_STATISTICS_DATA::hasOutline, DRILL_LINE_ITEM::isPad, DRILL_LINE_ITEM::isPlated, DRILL_LINE_ITEM::m_Qty, UNITS_PROVIDER::MessageTextFromValue(), BOARD_STATISTICS_DATA::minClearanceTrackToTrack, BOARD_STATISTICS_DATA::minDrillSize, BOARD_STATISTICS_DATA::minTrackWidth, OBLONG, BOARD_STATISTICS_DATA::padEntries, BOARD_STATISTICS_DATA::padPropertyEntries, BOARD_STATISTICS_INFO_ENTRY< T >::quantity, DRILL_LINE_ITEM::shape, DRILL_LINE_ITEM::startLayer, DRILL_LINE_ITEM::stopLayer, BOARD_STATISTICS_FP_ENTRY::title, BOARD_STATISTICS_INFO_ENTRY< T >::title, UNDEFINED_LAYER, BOARD_STATISTICS_DATA::viaEntries, DRILL_LINE_ITEM::xSize, and DRILL_LINE_ITEM::ySize.
Referenced by PCBNEW_JOBS_HANDLER::JobExportStats(), and DIALOG_BOARD_STATISTICS::saveReportClicked().
      
  | 
  static | 
Definition at line 357 of file board_statistics_report.cpp.
Referenced by FormatBoardStatisticsReport(), DIALOG_BOARD_STATISTICS::updateDrillGrid(), and DIALOG_BOARD_STATISTICS::updateWidgets().
| void InitializeBoardStatisticsData | ( | BOARD_STATISTICS_DATA & | aData | ) | 
Definition at line 92 of file board_statistics_report.cpp.
References _, BLIND, BURIED, CASTELLATED, CONN, BOARD_STATISTICS_DATA::drillEntries, BOARD_STATISTICS_DATA::footprintEntries, FP_SMD, FP_THROUGH_HOLE, MICROVIA, NPTH, BOARD_STATISTICS_DATA::padEntries, BOARD_STATISTICS_DATA::padPropertyEntries, PRESSFIT, PTH, BOARD_STATISTICS_DATA::ResetCounts(), SMD, THROUGH, and BOARD_STATISTICS_DATA::viaEntries.
Referenced by PCBNEW_JOBS_HANDLER::JobExportStats(), and DIALOG_BOARD_STATISTICS::refreshItemsTypes().
      
  | 
  static | 
Definition at line 123 of file board_statistics_report.cpp.
References BOARD_STATISTICS_INFO_ENTRY< T >::attribute, pad, BOARD_STATISTICS_DATA::padEntries, BOARD_STATISTICS_DATA::padPropertyEntries, FOOTPRINT::Pads(), and BOARD_STATISTICS_INFO_ENTRY< T >::quantity.
Referenced by ComputeBoardStatistics().