This commit is contained in:
Peter Hartmann 2023-11-21 03:58:51 -07:00 committed by GitHub
commit 0bc20eaf10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 10 deletions

View File

@ -102,23 +102,29 @@ namespace
{ {
double minorStepSize( double intervalSize, int maxSteps ) double minorStepSize( double intervalSize, int maxSteps )
{ {
const double minStep = divideInterval( intervalSize, maxSteps ); int steps = maxSteps;
if ( minStep != 0.0 ) while( steps > 0 )
{ {
// # ticks per interval const double minStep = divideInterval( intervalSize, steps );
const int numTicks = qCeil( qAbs( intervalSize / minStep ) ) - 1;
// Do the minor steps fit into the interval? if ( minStep != 0.0 )
if ( fuzzyCompare( ( numTicks + 1 ) * qAbs( minStep ),
qAbs( intervalSize ), intervalSize ) > 0 )
{ {
// The minor steps doesn't fit into the interval // # ticks per interval
return 0.5 * intervalSize; const int numTicks = qCeil( qAbs( intervalSize / minStep ) ) - 1;
// Do the minor steps fit into the interval?
if ( fuzzyCompare( ( numTicks + 1 ) * qAbs( minStep ),
qAbs( intervalSize ), intervalSize ) <= 0 )
{
return minStep;
}
} }
steps--;
} }
return minStep; return 0.5 * intervalSize;
} }
} }