35 std::unique_ptr<FOOTPRINT> footprint = std::make_unique<FOOTPRINT>( &board );
40 PAD* pad1 =
new PAD( footprint.get() );
41 PAD* pad2 =
new PAD( footprint.get() );
63 footprint->Add( pad1 );
64 footprint->Add( pad2 );
65 board.
Add( footprint.release() );
80 std::unique_ptr<FOOTPRINT> footprint1 = std::make_unique<FOOTPRINT>( &board );
81 std::unique_ptr<FOOTPRINT> footprint2 = std::make_unique<FOOTPRINT>( &board );
86 PAD* pad1 =
new PAD( footprint1.get() );
87 PAD* pad2 =
new PAD( footprint2.get() );
109 footprint1->Add( pad1 );
110 footprint2->Add( pad2 );
111 board.
Add( footprint1.release() );
112 board.
Add( footprint2.release() );
128 std::unique_ptr<FOOTPRINT> footprint = std::make_unique<FOOTPRINT>( &board );
146 pad->BuildEffectiveShapes();
148 auto shapes =
pad->GetEffectiveShape(
F_Mask );
155 shapes =
pad->GetEffectiveShape(
B_Mask );
constexpr EDA_IU_SCALE pcbIUScale
virtual void SetNet(NETINFO_ITEM *aNetInfo)
Set a NET_INFO object for the item.
Information pertinent to a Pcbnew printed circuit board.
void Add(BOARD_ITEM *aItem, ADD_MODE aMode=ADD_MODE::INSERT, bool aSkipConnectivity=false) override
Removes an item from the container.
void SetBoardUse(BOARD_USE aUse)
Set what the board is going to be used for.
bool BuildConnectivity(PROGRESS_REPORTER *aReporter=nullptr)
Build or rebuild the board connectivity database for the board, especially the list of connected item...
static const LSET & AllBoardTechMask()
Return a mask holding board technical layers (no CU layer) on both side.
static LSET AllCuMask(int aCuLayerCount)
Return a mask holding the requested number of Cu PCB_LAYER_IDs.
Handle the data for a net.
@ NORMAL
Shape is the same on all layers.
@ CUSTOM
Shapes can be defined on arbitrary layers.
static constexpr PCB_LAYER_ID ALL_LAYERS
! The layer identifier to use for the single defintion on normal padstacks
void SetAttribute(PAD_ATTRIB aAttribute)
bool FlashLayer(int aLayer, bool aOnlyCheckIfPermitted=false) const
Check to see whether the pad should be flashed on the specific layer.
void SetPadstackMode(PADSTACK::MODE aMode)
void SetUnconnectedLayerMode(UNCONNECTED_LAYER_MODE aMode)
void SetPosition(const VECTOR2I &aPos) override
void SetDrillSize(const VECTOR2I &aSize)
void SetSize(PCB_LAYER_ID aLayer, const VECTOR2I &aSize)
void SetLayerSet(const LSET &aLayers) override
const std::vector< SHAPE * > & Shapes() const
An abstract shape on 2D plane.
@ PTH
Plated through hole pad.
@ REMOVE_EXCEPT_START_AND_END
BOOST_AUTO_TEST_CASE(HorizontalAlignment)
BOOST_AUTO_TEST_SUITE(CadstarPartParser)
BOOST_REQUIRE(intersection.has_value()==c.ExpectedIntersection.has_value())
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_CASE(PadsInSameFootprintDoNotForceInnerLayerFlashing)
BOOST_CHECK_EQUAL(result, "25.4")
VECTOR2< int32_t > VECTOR2I