16 #include <KDABLibFakes>
23 return ((v > 0.0) ? floor(v) : ceil(v));
38 mCachedRawDataDimensions.clear();
47 if (mCachedRawDataDimensions.empty() || (rawDataDimensions != mCachedRawDataDimensions)) {
48 mCachedRawDataDimensions = rawDataDimensions;
50 mDataDimensions = calculateGrid(rawDataDimensions);
53 return mDataDimensions;
58 return isBoundariesValid(qMakePair(r.topLeft(), r.bottomRight()));
63 return isValueValid(b.first.x()) && isValueValid(b.first.y()) && isValueValid(b.second.x()) && isValueValid(b.second.y());
68 for (
int i = 0; i < l.size(); ++i)
69 if (!isValueValid(l.at(i).start) || !isValueValid(l.at(i).end))
76 return !(ISNAN(r) || ISINF(r));
80 qreal &start, qreal &end,
82 bool adjustLower,
bool adjustUpper)
84 const qreal startAdjust = (start >= 0.0) ? 0.0 : -1.0;
85 const qreal endAdjust = (end >= 0.0) ? 1.0 : 0.0;
86 if (adjustLower && !qFuzzyIsNull(fmod(start, stepWidth)))
87 start = stepWidth * (
_trunc(start / stepWidth) + startAdjust);
88 if (adjustUpper && !qFuzzyIsNull(fmod(end, stepWidth)))
89 end = stepWidth * (
_trunc(end / stepWidth) + endAdjust);
94 bool adjustLower,
bool adjustUpper)
97 adjustLowerUpperRange(
100 adjustLower, adjustUpper);
static qreal _trunc(qreal v)
Base class common for all coordinate planes, CartesianCoordinatePlane, PolarCoordinatePlane,...
virtual DataDimensionsList getDataDimensionsList() const =0
DataDimensionsList updateData(AbstractCoordinatePlane *plane)
Returns the cached result of data calculation.
static bool isValueValid(const qreal &r)
static void adjustLowerUpperRange(qreal &start, qreal &end, qreal stepWidth, bool adjustLower, bool adjustUpper)
void setNeedRecalculate()
static const DataDimension adjustedLowerUpperRange(const DataDimension &dim, bool adjustLower, bool adjustUpper)
static bool isBoundariesValid(const QRectF &r)
Helper class for one dimension of data, e.g. for the rows in a data model, or for the labels of an ax...
QList< DataDimension > DataDimensionsList