Change dimension style to improve display and be more standard
This commit is contained in:
parent
b3e3964787
commit
a8b1c2a8f2
|
@ -221,7 +221,7 @@ void DIMENSION::AdjustDimensionDetails( bool aDoNotChangeText )
|
||||||
m_Text.SetLayer( GetLayer() );
|
m_Text.SetLayer( GetLayer() );
|
||||||
|
|
||||||
// calculate the size of the dimension (text + line above the text)
|
// calculate the size of the dimension (text + line above the text)
|
||||||
ii = m_Text.GetTextHeight() + m_Text.GetThickness() + (m_Width * 3);
|
ii = m_Text.GetTextHeight() + m_Text.GetThickness() + ( m_Width );
|
||||||
|
|
||||||
deltax = m_featureLineDO.x - m_featureLineGO.x;
|
deltax = m_featureLineDO.x - m_featureLineGO.x;
|
||||||
deltay = m_featureLineDO.y - m_featureLineGO.y;
|
deltay = m_featureLineDO.y - m_featureLineGO.y;
|
||||||
|
@ -282,16 +282,27 @@ void DIMENSION::AdjustDimensionDetails( bool aDoNotChangeText )
|
||||||
m_arrowD2F.x = m_crossBarF.x - arrow_up_X;
|
m_arrowD2F.x = m_crossBarF.x - arrow_up_X;
|
||||||
m_arrowD2F.y = m_crossBarF.y - arrow_up_Y;
|
m_arrowD2F.y = m_crossBarF.y - arrow_up_Y;
|
||||||
|
|
||||||
m_featureLineGF.x = m_crossBarO.x + hx;
|
// Length of feature lines
|
||||||
m_featureLineGF.y = m_crossBarO.y + hy;
|
double radius = ( m_Height +
|
||||||
|
( std::copysign( 1.0, m_Height ) *
|
||||||
|
arrowz * sin( DEG2RAD( 27.5 ) ) ) );
|
||||||
|
|
||||||
m_featureLineDF.x = m_crossBarF.x + hx;
|
m_featureLineGF.x = m_featureLineGO.x - wxRound( radius * sin( angle ) );
|
||||||
m_featureLineDF.y = m_crossBarF.y + hy;
|
m_featureLineGF.y = m_featureLineGO.y + wxRound( radius * cos( angle ) );
|
||||||
|
|
||||||
|
m_featureLineDF.x = m_featureLineDO.x - wxRound( radius * sin( angle ) );
|
||||||
|
m_featureLineDF.y = m_featureLineDO.y + wxRound( radius * cos( angle ) );
|
||||||
|
|
||||||
// Calculate the better text position and orientation:
|
// Calculate the better text position and orientation:
|
||||||
|
radius = ( std::copysign( 1.0, m_Height ) * ii );
|
||||||
|
|
||||||
wxPoint textPos;
|
wxPoint textPos;
|
||||||
textPos.x = (m_crossBarF.x + m_featureLineGF.x) / 2;
|
textPos.x = ( m_crossBarF.x + m_crossBarO.x ) / 2;
|
||||||
textPos.y = (m_crossBarF.y + m_featureLineGF.y) / 2;
|
textPos.y = ( m_crossBarF.y + m_crossBarO.y ) / 2;
|
||||||
|
|
||||||
|
textPos.x -= KiROUND( radius * sin( angle ) );
|
||||||
|
textPos.y += KiROUND( radius * cos( angle ) );
|
||||||
|
|
||||||
m_Text.SetTextPos( textPos );
|
m_Text.SetTextPos( textPos );
|
||||||
|
|
||||||
double newAngle = -RAD2DECIDEG( angle );
|
double newAngle = -RAD2DECIDEG( angle );
|
||||||
|
|
Loading…
Reference in New Issue