KiCad PCB EDA Suite
Loading...
Searching...
No Matches
board_statistics_report.cpp File Reference
#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)
 

Function Documentation

◆ appendTable()

static void appendTable ( const std::vector< std::vector< wxString > > & aRows,
bool aUseFirstColAsLabel,
wxString & aOut )
static

Definition at line 361 of file board_statistics_report.cpp.

Referenced by FormatBoardStatisticsReport().

◆ ComputeBoardStatistics()

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().

◆ FormatBoardStatisticsJson()

◆ FormatBoardStatisticsReport()

◆ formatCount()

static wxString formatCount ( int aCount)
static

◆ InitializeBoardStatisticsData()

◆ updatePadCounts()