KiCad PCB EDA Suite
|
#include <kiway.h>
#include <macros.h>
#include <netlist_reader/pcb_netlist.h>
#include <fp_lib_table.h>
#include <board.h>
#include <pcb_shape.h>
#include <zone.h>
#include <footprint.h>
#include <pad.h>
#include <drc/drc_engine.h>
#include <drc/drc_item.h>
#include <drc/drc_test_provider.h>
#include <project_pcb.h>
Go to the source code of this file.
Classes | |
class | DRC_TEST_PROVIDER_LIBRARY_PARITY |
Namespaces | |
namespace | detail |
Macros | |
#define | TEST(a, b, msg) |
#define | EPSILON 2 |
#define | TEST_PT(a, b, msg) |
#define | EPSILON_D 0.000002 |
#define | TEST_D(a, b, msg) |
#define | ITEM_DESC(item) ( item )->GetItemDescription( &g_unitsProvider, true ) |
#define | PAD_DESC(pad) wxString::Format( _( "Pad %s" ), ( pad )->GetNumber() ) |
#define | REPORT_MSG(s, p) aReporter.Report( wxString::Format( s, p ) ) |
#define | TEST_ATTR(a, b, attr, msg) TEST( ( a & attr ), ( b & attr ), msg ) |
#define | REPORT(msg) { if( aReporter ) aReporter->Report( msg ); } |
#define | CHECKPOINT { if( diff && !aReporter ) return diff; } |
Functions | |
bool | primitiveNeedsUpdate (const std::shared_ptr< PCB_SHAPE > &a, const std::shared_ptr< PCB_SHAPE > &b) |
bool | padHasOverrides (const PAD *a, const PAD *b, REPORTER &aReporter) |
bool | padNeedsUpdate (const PAD *a, const PAD *b, REPORTER *aReporter) |
bool | shapeNeedsUpdate (const PCB_SHAPE &curr_shape, const PCB_SHAPE &ref_shape) |
bool | zoneNeedsUpdate (const ZONE *a, const ZONE *b, REPORTER *aReporter) |
Variables | |
UNITS_PROVIDER | g_unitsProvider (pcbIUScale, EDA_UNITS::MILLIMETRES) |
static DRC_REGISTER_TEST_PROVIDER< DRC_TEST_PROVIDER_LIBRARY_PARITY > | detail::dummy |
#define CHECKPOINT { if( diff && !aReporter ) return diff; } |
#define EPSILON 2 |
Definition at line 91 of file drc_test_provider_library_parity.cpp.
#define EPSILON_D 0.000002 |
Definition at line 107 of file drc_test_provider_library_parity.cpp.
#define ITEM_DESC | ( | item | ) | ( item )->GetItemDescription( &g_unitsProvider, true ) |
Definition at line 122 of file drc_test_provider_library_parity.cpp.
#define PAD_DESC | ( | pad | ) | wxString::Format( _( "Pad %s" ), ( pad )->GetNumber() ) |
Definition at line 123 of file drc_test_provider_library_parity.cpp.
#define REPORT | ( | msg | ) | { if( aReporter ) aReporter->Report( msg ); } |
#define REPORT_MSG | ( | s, | |
p | |||
) | aReporter.Report( wxString::Format( s, p ) ) |
#define TEST | ( | a, | |
b, | |||
msg | |||
) |
Definition at line 77 of file drc_test_provider_library_parity.cpp.
#define TEST_ATTR | ( | a, | |
b, | |||
attr, | |||
msg | |||
) | TEST( ( a & attr ), ( b & attr ), msg ) |
#define TEST_D | ( | a, | |
b, | |||
msg | |||
) |
Definition at line 108 of file drc_test_provider_library_parity.cpp.
#define TEST_PT | ( | a, | |
b, | |||
msg | |||
) |
Definition at line 92 of file drc_test_provider_library_parity.cpp.
Definition at line 195 of file drc_test_provider_library_parity.cpp.
References _, PAD::GetCustomShapeInZoneOpt(), PAD::GetLocalClearance(), PAD::GetLocalSolderMaskMargin(), PAD::GetLocalSolderPasteMargin(), PAD::GetLocalSolderPasteMarginRatio(), PAD::GetLocalZoneConnection(), PAD::GetThermalGap(), PAD::GetThermalSpokeAngle(), PAD::GetThermalSpokeWidth(), INHERITED, PAD_DESC, and REPORT_MSG.
Referenced by FOOTPRINT::FootprintNeedsUpdate(), and padNeedsUpdate().
Definition at line 264 of file drc_test_provider_library_parity.cpp.
References _, LSET::AllLayersMask(), EDA_ANGLE::AsDegrees(), PADSTACK::ForEachUniqueLayer(), PAD::GetAttribute(), BOARD_ITEM::GetBoard(), PAD::GetChamferPositions(), PAD::GetChamferRectRatio(), PAD::GetDelta(), PAD::GetDrillShape(), PAD::GetDrillSize(), BOARD::GetEnabledLayers(), PAD::GetFPRelativeOrientation(), BOARD_ITEM::GetFPRelativePosition(), PAD::GetKeepTopBottom(), BOARD::GetLayerName(), PAD::GetLayerSet(), PAD::GetNumber(), PAD::GetOffset(), PAD::GetPadToDieLength(), PAD::GetPrimitives(), PAD::GetProperty(), PAD::GetRemoveUnconnected(), PAD::GetRoundRectRadiusRatio(), PAD::GetShape(), PAD::GetSize(), LayerName(), EDA_ANGLE::Normalize(), PAD_DESC, padHasOverrides(), PAD::Padstack(), REPORTER::Report(), TEST, TEST_D, TEST_PT, UNDEFINED_LAYER, and PADSTACK::UniqueLayers().
Referenced by FOOTPRINT::FootprintNeedsUpdate().
bool primitiveNeedsUpdate | ( | const std::shared_ptr< PCB_SHAPE > & | a, |
const std::shared_ptr< PCB_SHAPE > & | b | ||
) |
Definition at line 129 of file drc_test_provider_library_parity.cpp.
References ARC, BEZIER, CIRCLE, BOX2< Vec >::GetEnd(), BOX2< Vec >::GetOrigin(), EDA_IU_SCALE::mmToIU(), BOX2< Vec >::Normalize(), pcbIUScale, POLY, RECTANGLE, SEGMENT, TEST, TEST_PT, and UNIMPLEMENTED_FOR.
Definition at line 414 of file drc_test_provider_library_parity.cpp.
References ARC, BEZIER, CIRCLE, SHAPE_POLY_SET::CVertex(), EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), PCB_SHAPE::GetCenter(), EDA_SHAPE::GetEnd(), BOX2< Vec >::GetEnd(), PCB_SHAPE::GetLayer(), BOX2< Vec >::GetOrigin(), EDA_SHAPE::GetPolyShape(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), PCB_SHAPE::GetStroke(), EDA_SHAPE::IsFilled(), BOARD_ITEM::IsOnCopperLayer(), EDA_IU_SCALE::mmToIU(), BOX2< Vec >::Normalize(), pcbIUScale, POLY, RECTANGLE, SEGMENT, EDA_SHAPE::SHAPE_T_asString(), TEST, TEST_PT, SHAPE_POLY_SET::TotalVertices(), and UNIMPLEMENTED_FOR.
Referenced by FOOTPRINT::FootprintNeedsUpdate().
Definition at line 484 of file drc_test_provider_library_parity.cpp.
References _, EDA_ANGLE::AsDegrees(), SHAPE_POLY_SET::CVertex(), ZONE::GetAssignedPriority(), ZONE::GetCornerRadius(), ZONE::GetCornerSmoothingType(), ZONE::GetDoNotAllowCopperPour(), ZONE::GetDoNotAllowFootprints(), ZONE::GetDoNotAllowPads(), ZONE::GetDoNotAllowTracks(), ZONE::GetDoNotAllowVias(), ZONE::GetFillMode(), ZONE::GetHatchGap(), ZONE::GetHatchHoleMinArea(), ZONE::GetHatchOrientation(), ZONE::GetHatchSmoothingLevel(), ZONE::GetHatchSmoothingValue(), ZONE::GetHatchThickness(), ZONE::GetIslandRemovalMode(), ZONE::GetIsRuleArea(), ZONE::GetLayerSet(), ZONE::GetLocalClearance(), ZONE::GetMinIslandArea(), ZONE::GetMinThickness(), ZONE::GetPadConnection(), ZONE::GetThermalReliefGap(), ZONE::GetThermalReliefSpokeWidth(), ZONE::GetZoneName(), ITEM_DESC, ZONE::Outline(), REPORTER::Report(), TEST, TEST_D, and SHAPE_POLY_SET::TotalVertices().
Referenced by FOOTPRINT::FootprintNeedsUpdate().
UNITS_PROVIDER g_unitsProvider(pcbIUScale, EDA_UNITS::MILLIMETRES) | ( | pcbIUScale | , |
EDA_UNITS::MILLIMETRES | |||
) |