Repair arrowhead angles.

Fixes https://gitlab.com/kicad/code/kicad/issues/10551
This commit is contained in:
Jeff Young 2022-01-21 14:27:50 +00:00
parent 6dc8cd3f18
commit 8e4369f998
1 changed files with 8 additions and 8 deletions

View File

@ -639,8 +639,8 @@ void PCB_DIM_ALIGNED::updateGeometry()
// Add arrows // Add arrows
VECTOR2I arrowEndPos( m_arrowLength, 0 ); VECTOR2I arrowEndPos( m_arrowLength, 0 );
VECTOR2I arrowEndNeg( m_arrowLength, 0 ); VECTOR2I arrowEndNeg( m_arrowLength, 0 );
RotatePoint( arrowEndPos, EDA_ANGLE( dimension ) + s_arrowAngle ); RotatePoint( arrowEndPos, -EDA_ANGLE( dimension ) + s_arrowAngle );
RotatePoint( arrowEndNeg, EDA_ANGLE( dimension ) - s_arrowAngle ); RotatePoint( arrowEndNeg, -EDA_ANGLE( dimension ) - s_arrowAngle );
m_shapes.emplace_back( new SHAPE_SEGMENT( m_crossBarStart, m_crossBarStart + arrowEndPos ) ); m_shapes.emplace_back( new SHAPE_SEGMENT( m_crossBarStart, m_crossBarStart + arrowEndPos ) );
m_shapes.emplace_back( new SHAPE_SEGMENT( m_crossBarStart, m_crossBarStart + arrowEndNeg ) ); m_shapes.emplace_back( new SHAPE_SEGMENT( m_crossBarStart, m_crossBarStart + arrowEndNeg ) );
@ -819,8 +819,8 @@ void PCB_DIM_ORTHOGONAL::updateGeometry()
EDA_ANGLE crossBarAngle( m_crossBarEnd - m_crossBarStart ); EDA_ANGLE crossBarAngle( m_crossBarEnd - m_crossBarStart );
VECTOR2I arrowEndPos( m_arrowLength, 0 ); VECTOR2I arrowEndPos( m_arrowLength, 0 );
VECTOR2I arrowEndNeg( m_arrowLength, 0 ); VECTOR2I arrowEndNeg( m_arrowLength, 0 );
RotatePoint( arrowEndPos, crossBarAngle + s_arrowAngle ); RotatePoint( arrowEndPos, -crossBarAngle + s_arrowAngle );
RotatePoint( arrowEndNeg, crossBarAngle - s_arrowAngle ); RotatePoint( arrowEndNeg, -crossBarAngle - s_arrowAngle );
m_shapes.emplace_back( new SHAPE_SEGMENT( m_crossBarStart, m_crossBarStart + arrowEndPos ) ); m_shapes.emplace_back( new SHAPE_SEGMENT( m_crossBarStart, m_crossBarStart + arrowEndPos ) );
m_shapes.emplace_back( new SHAPE_SEGMENT( m_crossBarStart, m_crossBarStart + arrowEndNeg ) ); m_shapes.emplace_back( new SHAPE_SEGMENT( m_crossBarStart, m_crossBarStart + arrowEndNeg ) );
@ -1005,8 +1005,8 @@ void PCB_DIM_LEADER::updateGeometry()
// Add arrows // Add arrows
VECTOR2I arrowEndPos( m_arrowLength, 0 ); VECTOR2I arrowEndPos( m_arrowLength, 0 );
VECTOR2I arrowEndNeg( m_arrowLength, 0 ); VECTOR2I arrowEndNeg( m_arrowLength, 0 );
RotatePoint( arrowEndPos, EDA_ANGLE( firstLine ) + s_arrowAngle ); RotatePoint( arrowEndPos, -EDA_ANGLE( firstLine ) + s_arrowAngle );
RotatePoint( arrowEndNeg, EDA_ANGLE( firstLine ) - s_arrowAngle ); RotatePoint( arrowEndNeg, -EDA_ANGLE( firstLine ) - s_arrowAngle );
m_shapes.emplace_back( new SHAPE_SEGMENT( start, start + arrowEndPos ) ); m_shapes.emplace_back( new SHAPE_SEGMENT( start, start + arrowEndPos ) );
m_shapes.emplace_back( new SHAPE_SEGMENT( start, start + arrowEndNeg ) ); m_shapes.emplace_back( new SHAPE_SEGMENT( start, start + arrowEndNeg ) );
@ -1185,8 +1185,8 @@ void PCB_DIM_RADIAL::updateGeometry()
// Add arrows // Add arrows
VECTOR2I arrowEndPos( m_arrowLength, 0 ); VECTOR2I arrowEndPos( m_arrowLength, 0 );
VECTOR2I arrowEndNeg( m_arrowLength, 0 ); VECTOR2I arrowEndNeg( m_arrowLength, 0 );
RotatePoint( arrowEndPos, EDA_ANGLE( radial ) + s_arrowAngle ); RotatePoint( arrowEndPos, -EDA_ANGLE( radial ) + s_arrowAngle );
RotatePoint( arrowEndNeg, EDA_ANGLE( radial ) - s_arrowAngle ); RotatePoint( arrowEndNeg, -EDA_ANGLE( radial ) - s_arrowAngle );
m_shapes.emplace_back( new SHAPE_SEGMENT( m_end, m_end + arrowEndPos ) ); m_shapes.emplace_back( new SHAPE_SEGMENT( m_end, m_end + arrowEndPos ) );
m_shapes.emplace_back( new SHAPE_SEGMENT( m_end, m_end + arrowEndNeg ) ); m_shapes.emplace_back( new SHAPE_SEGMENT( m_end, m_end + arrowEndNeg ) );