# QwtDoubleInterval Class Reference

A class representing an interval. More...

`#include <qwt_double_interval.h>`

List of all members.

## Public Types
enum | BorderMode { IncludeBorders = 0, ExcludeMinimum = 1, ExcludeMaximum = 2, ExcludeBorders = ExcludeMinimum | ExcludeMaximum }
## Public Member Functions
| QwtDoubleInterval ()
| QwtDoubleInterval (double minValue, double maxValue, int borderFlags=IncludeBorders)
void | setInterval (double minValue, double maxValue, int borderFlags=IncludeBorders)
QwtDoubleInterval | normalized () const
QwtDoubleInterval | inverted () const
QwtDoubleInterval | limited (double minValue, double maxValue) const
int | operator== (const QwtDoubleInterval &) const
int | operator!= (const QwtDoubleInterval &) const
void | setBorderFlags (int)
int | borderFlags () const
double | minValue () const
double | maxValue () const
double | width () const
void | setMinValue (double)
void | setMaxValue (double)
bool | contains (double value) const
bool | intersects (const QwtDoubleInterval &) const
QwtDoubleInterval | intersect (const QwtDoubleInterval &) const
QwtDoubleInterval | unite (const QwtDoubleInterval &) const
QwtDoubleInterval | operator| (const QwtDoubleInterval &) const
QwtDoubleInterval | operator& (const QwtDoubleInterval &) const
QwtDoubleInterval & | operator|= (const QwtDoubleInterval &)
QwtDoubleInterval & | operator&= (const QwtDoubleInterval &)
QwtDoubleInterval | extend (double value) const
QwtDoubleInterval | operator| (double) const
QwtDoubleInterval & | operator|= (double)
bool | isValid () const
bool | isNull () const
void | invalidate ()
QwtDoubleInterval | symmetrize (double value) const

## Detailed Description

A class representing an interval.

The interval is represented by 2 doubles, the lower and the upper limit.

## Member Enumeration Documentation

enum QwtDoubleInterval::BorderMode

Flag indicating if a border is included/excluded from an interval

- IncludeBorders
  min/max values are inside the interval
- ExcludeMinimum
  min value is not included in the interval
- ExcludeMaximum
  max value is not included in the interval
- ExcludeBorders
  min/max values are not included in the interval

See also:
  setBorderMode(), testBorderMode()

## Constructor & Destructor Documentation

QwtDoubleInterval::QwtDoubleInterval | ( |  | ) | `[inline]`

Default Constructor.

Creates an invalid interval [0.0, -1.0]

See also:
  setInterval(), isValid()

QwtDoubleInterval::QwtDoubleInterval | ( | double | minValue,
|  | double | maxValue,
|  | int | borderFlags = `IncludeBorders` |
| ) |  |  | `[inline]`

Constructor

Build an interval with from min/max values

Parameters:

  | minValue | Minimum value
  | maxValue | Maximum value
  | borderFlags | Include/Exclude borders

## Member Function Documentation

int QwtDoubleInterval::borderFlags | ( |  | ) | const`[inline]`

Returns:
  Border flags

See also:
  setBorderFlags()

bool QwtDoubleInterval::contains | ( | double | value | ) | const

Test if a value is inside an interval

Parameters:

  | value | Value

Returns:
  true, if value >= minValue() && value <= maxValue()

QwtDoubleInterval QwtDoubleInterval::extend | ( | double | value | ) | const

Extend the interval

If value is below minValue, value becomes the lower limit. If value is above maxValue, value becomes the upper limit.

extend has no effect for invalid intervals

Parameters:

  | value | Value

See also:
  isValid()

QwtDoubleInterval QwtDoubleInterval::intersect | ( | const QwtDoubleInterval & | other | ) | const

Intersect 2 intervals.

bool QwtDoubleInterval::intersects | ( | const QwtDoubleInterval & | other | ) | const

Test if two intervals overlap

void QwtDoubleInterval::invalidate | ( |  | ) | `[inline]`

Invalidate the interval

The limits are set to interval [0.0, -1.0]

See also:
  isValid()

QwtDoubleInterval QwtDoubleInterval::inverted | ( |  | ) | const

Invert the limits of the interval

Returns:
  Inverted interval

See also:
  normalized()

bool QwtDoubleInterval::isNull | ( |  | ) | const`[inline]`

Returns:
  true, if isValid() && (minValue() >= maxValue())

bool QwtDoubleInterval::isValid | ( |  | ) | const`[inline]`

A interval is valid when minValue() <= maxValue(). In case of QwtDoubleInterval::ExcludeBorders it is true when minValue() < maxValue()

QwtDoubleInterval QwtDoubleInterval::limited | ( | double | lowerBound,
|  | double | upperBound |
| ) |  |  | const

Limit the interval, keeping the border modes

Parameters:

  | lowerBound | Lower limit
  | upperBound | Upper limit

Returns:
  Limited interval

double QwtDoubleInterval::maxValue | ( |  | ) | const`[inline]`

Returns:
  Upper limit of the interval

double QwtDoubleInterval::minValue | ( |  | ) | const`[inline]`

Returns:
  Lower limit of the interval

QwtDoubleInterval QwtDoubleInterval::normalized | ( |  | ) | const

Normalize the limits of the interval.

If maxValue() < minValue() the limits will be inverted.

Returns:
  Normalized interval

See also:
  isValid(), inverted()

int QwtDoubleInterval::operator!= | ( | const QwtDoubleInterval & | other | ) | const`[inline]`

Compare two intervals.

QwtDoubleInterval QwtDoubleInterval::operator& | ( | const QwtDoubleInterval & | interval | ) | const`[inline]`

Intersection of two intervals

See also:
  intersect()

QwtDoubleInterval & QwtDoubleInterval::operator&= | ( | const QwtDoubleInterval & | interval | ) |

Intersects this interval with the given interval.

int QwtDoubleInterval::operator== | ( | const QwtDoubleInterval & | other | ) | const`[inline]`

Compare two intervals.

QwtDoubleInterval QwtDoubleInterval::operator| | ( | double | value | ) | const`[inline]`

Extend an interval

See also:
  extend()

QwtDoubleInterval QwtDoubleInterval::operator| | ( | const QwtDoubleInterval & | interval | ) | const`[inline]`

Union of two intervals

See also:
  unite()

QwtDoubleInterval & QwtDoubleInterval::operator|= | ( | const QwtDoubleInterval & | interval | ) |

Unites this interval with the given interval.

void QwtDoubleInterval::setBorderFlags | ( | int | borderFlags | ) | `[inline]`

Change the border flags

Parameters:

  | borderFlags | Or'd BorderMode flags

See also:
  borderFlags()

void QwtDoubleInterval::setInterval | ( | double | minValue,
|  | double | maxValue,
|  | int | borderFlags = `IncludeBorders` |
| ) |  |  | `[inline]`

Assign the limits of the interval

Parameters:

  | minValue | Minimum value
  | maxValue | Maximum value
  | borderFlags | Include/Exclude borders

void QwtDoubleInterval::setMaxValue | ( | double | maxValue | ) | `[inline]`

Assign the upper limit of the interval

Parameters:

  | maxValue | Maximum value

void QwtDoubleInterval::setMinValue | ( | double | minValue | ) | `[inline]`

Assign the lower limit of the interval

Parameters:

  | minValue | Minimum value

QwtDoubleInterval QwtDoubleInterval::symmetrize | ( | double | value | ) | const

Adjust the limit that is closer to value, so that value becomes the center of the interval.

Parameters:

  | value | Center

Returns:
  Interval with value as center

QwtDoubleInterval QwtDoubleInterval::unite | ( | const QwtDoubleInterval & | other | ) | const

Unite 2 intervals.

double QwtDoubleInterval::width | ( |  | ) | const`[inline]`

Return the width of an interval The width of invalid intervals is 0.0, otherwise the result is maxValue() - minValue().

See also:
  isValid()