MCPcopy Create free account
hub / github.com/analogdevicesinc/scopy / divideScale

Method divideScale

gui/src/osc_scale_engine.cpp:64–92  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62}
63
64QwtScaleDiv OscScaleEngine::divideScale(double x1, double x2, int maxMajorSteps, int maxMinorSteps,
65 double stepSize) const
66{
67 Q_UNUSED(maxMajorSteps);
68
69 QwtInterval interval = QwtInterval(x1, x2).normalized();
70
71 if(qwtIntervalWidthL(interval) > std::numeric_limits<double>::max()) {
72 qWarning() << "QwtLinearScaleEngine::divideScale: overflow";
73 return QwtScaleDiv();
74 }
75
76 if(interval.width() <= 0)
77 return QwtScaleDiv();
78
79 stepSize = interval.width() / (double)(m_majorTicks - 1);
80
81 QwtScaleDiv scaleDiv;
82
83 QList<double> ticks[QwtScaleDiv::NTickTypes];
84 buildTicks(interval, stepSize, maxMinorSteps, ticks);
85
86 scaleDiv = QwtScaleDiv(interval, ticks);
87
88 if(x1 > x2)
89 scaleDiv.invert();
90
91 return scaleDiv;
92}
93
94void OscScaleEngine::buildTicks(const QwtInterval &interval, double stepSize, int maxMinorSteps,
95 QList<double> ticks[QwtScaleDiv::NTickTypes]) const

Callers 6

SismographMethod · 0.80
addScaleMethod · 0.80
updateScaleMethod · 0.80
CustomScaleMethod · 0.80
addScaleMethod · 0.80
setValueMethod · 0.80

Calls 1

qwtIntervalWidthLFunction · 0.85

Tested by

no test coverage detected