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 361 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 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 624 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 461 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 355 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().