QCPRange Class参考
详细描述
表示一个轴覆盖的范围。包含一个下限和上限double值,并且提供便捷的输入,输出和修改的功能。
构造函数和析构函数文档
QCPRange::QCPRange()
构造一个下限和上限设为0的范围。
QCPRange::QCPRange(double lower,double upper)
这是一个重载函数。构建指定的lower和upper值的范围。产生的范围将被归一化(见:normalize),因此如果lower不是数值上小于upper,它们将被交换。
成员函数文档
QCPRange & QCPRange::operator+=(const double& value) inline
向这个范围的两个边界增加value。
QCPRange & QCPRange::operator-=(const double& value) inline
向这个范围的两个边界减去value。
QCPRange & QCPRange::operator*=(const double& value) inline
这个范围的两个边界扩大value倍。
QCPRange & QCPRange::operator/=(const double& value) inline
这个范围的两个边界缩小value倍。
double QCPRange::size() const inline
返回这个范围的尺寸,即upper-lower。
double QCPRange::center ( ) const inline
返回这个范围的中心,即,(upper + lower) * 0.5
void QCPRange::normalize() inline
确定lower数值上小于upper。如果不是这种情况,交换这些值。
void QCPRange::expand(const QCPRange & otherRange)
这是一个重载函数。
扩展当前范围,使新范围能够包含otherRange。假设当前范围和otherRange均已归一化(参见normalize方法)。
如果这个范围包含NaN作为下限或上限,它将倍otherRange的对应边界替代。如果otherRange已经在当前范围内,这个函数什么也不做。
void QCPRange::expand(double includeCoord)
这是一个重载函数。
扩展当前范围,使新范围能够包含includeCoord。假设当前范围和otherRange均已归一化(参见normalize方法)。
如果这个范围包含NaN作为下限或上限,各自边界将被设置为includeCoord。如果includeCoord已经在当前范围内,这个函数什么也不做。
QCPRange QCPRange::expanded(const QCPRange & otherRange) const
这是一个重载函数。
返回一个包含这个和otherRange扩展范围。假设这个范围和otherRange被归一化。如果这个范围包含NaN作为上限或下限,返回的范围将从otherRange获取。
QCPRange QCPRange::expanded(double includeCoord) const
这是一个重载函数。
返回包含指定的includeCoord的扩展的范围。假设这个范围被归一化。
如果这个范围包含NaN作为上限或下限,返回的范围的边界将被设置为includeCoord。
QCPRange QCPRange::bounded(double lowerBound, double upperBound ) const
返回这个范围本,可能被修改成不超过以lowerBound和upperBound提供的边界。如果可能,在这个过程中保留当前范围的大小。
若只需限制范围的下限,可将 upperBound 设为 QCPRange::maxRange;若只需限制上限,则将 lowerBound 设为 -QCPRange::maxRange。
QCPRange QCPRange::sanitizedForLogScale() const
返回这个范围的标准化版本。对于对数缩放,标准化意味着范围不跨越正负符号范围,即,包含0。另外,下限将总是数值上小于(或等于)上限。
如果原来的范围包含了正负符号范围或包含了0,返回的范围将尽可能近似原来的范围。如果原来的范围的正间隔宽于负间隔,返回的范围将只包含正间隔,下限设为rangeFac或者rangeFac * upper,哪个更接近0。如果负间隔宽于正间隔,使用相同的过程,这次通过修改上限。
QCPRange QCPRange::sanitizedForLinScale() const
返回范围的标准版本。对于线性缩放,标准化表示lower将总是数值上小于(或等于)upper。
bool QCPRange::contains(double value) const
当value位于范围边界内或上时返回true。
bool QCPRange::validRange(double lower, double upper)
检查指定的范围是否位于有效范围内,它们是用QCPRange::maxRange和QCPRange::minRange定义的。一个有效范围表示:
- 范围边界在-maxRange和maxRange之间。
- 范围尺寸大于minRange
- 范围尺寸小于maxRange
字段文档
const double QCPRange::minRange = 1e-280 static
范围修改函数将接受的最小的范围大小(upper-lower)。更小的间隔会造成错误,由于double精度数值的11位指数,对应一个大约1e-308的最小范围为。
警告:不要在绘图逻辑中使用这个常数表示"任意小"值(由于值将在绘图中出现)。其目的仅用作被比较的边界,例如,防止轴范围获取下溢范围。
const double QCPRange::maxRange = 1e250
范围修改函数中将接受的最大值(负和正)。更大的绝对值会造成问题,由于double精度数值的11位指数,对应大约1e308的最大幅度。
警告:不要再绘图逻辑中使用这个常数表示"任意大"(即将出现再绘图中的值)。它作用仅用于被比较的范围,例如,防止轴范围获取上溢范围。
字段和相关的函数文档
const QCPRange operator+ ( const QCPRange & range, double value ) friend
向range两端都增加value。
const QCPRange operator+(double value, const QCPRange& range) friend
向range两端都增加value。
const QCPRange operator-(const QCPRange& range, double value) friend
从range两端都减去value。
const QCPRange operator*(const QCPRange& range, double value) friend
扩大range边界到value倍。
const QCPRange operator*(double value, const QCPRange& range)
扩大range边界到value倍。
const QCPRange operator/(const QCPRange& range, double value) friend
把range范围除以value。
QDebug operator<<(QDebug d, const QCPRange& range)
用人可读格式输出range到qDebug输出。