Pcbnew: fix incorrect rotation of thermal spoke for rotated footprints.
If the footprint rotation is not a multiple of 90°, the thermal spokes were not correctly rotated. Fixes #13919 https://gitlab.com/kicad/code/kicad/issues/13919
This commit is contained in:
parent
c618bb7046
commit
2032b8af59
|
@ -217,7 +217,7 @@ bool ZONE_FILLER::Fill( std::vector<ZONE*>& aZones, bool aCheck, wxWindow* aPare
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Determine state of conditional via flashing
|
// Determine state of conditional via flashing
|
||||||
for( PCB_TRACK* track : m_board->Tracks() )
|
for( PCB_TRACK* track : m_board->Tracks() )
|
||||||
{
|
{
|
||||||
|
@ -1809,7 +1809,7 @@ void ZONE_FILLER::buildThermalSpokes( const ZONE* aZone, PCB_LAYER_ID aLayer,
|
||||||
|
|
||||||
// If the spokes are at a cardinal angle then we can generate them from a bounding box
|
// If the spokes are at a cardinal angle then we can generate them from a bounding box
|
||||||
// without trig.
|
// without trig.
|
||||||
if( pad->GetThermalSpokeAngle().IsCardinal() )
|
if( ( pad->GetOrientation() + pad->GetThermalSpokeAngle() ).IsCardinal() )
|
||||||
{
|
{
|
||||||
BOX2I spokesBox = pad->GetBoundingBox();
|
BOX2I spokesBox = pad->GetBoundingBox();
|
||||||
spokesBox.Inflate( thermalReliefGap + epsilon );
|
spokesBox.Inflate( thermalReliefGap + epsilon );
|
||||||
|
|
Loading…
Reference in New Issue