| OpenMS 2.5.0

Protected Member Functions | Protected Attributes | List of all members
DIntervalBase< D > Class Template Reference

A base class for D-dimensional interval. More...

`#include <OpenMS/DATASTRUCTURES/DIntervalBase.h>`

Inheritance diagram for DIntervalBase< D >:

## Public Types

Type definitions
enum | { DIMENSION = D }
| Dimensions. More...
typedef DPosition< D > | PositionType
| Position type. More...
typedef PositionType::CoordinateType | CoordinateType
| Coordinate type of the positions. More...

## Public Member Functions

Constructors and Destructor
| DIntervalBase ()
| Default constructor. More...
| DIntervalBase (const DIntervalBase &rhs)
| Copy constructor. More...
| DIntervalBase (DIntervalBase &&) noexcept=default
| Move constructor. More...
DIntervalBase & | operator= (const DIntervalBase &rhs)
| Assignment operator. More...
| ~DIntervalBase ()
| Destructor. More...
| DIntervalBase (PositionType const &minimum, PositionType const &maximum)
| This constructor sets min_ and max_ directly. More...
Accessors
PositionType const & | minPosition () const
| Accessor to minimum position. More...
PositionType const & | maxPosition () const
| Accessor to maximum position. More...
void | setMin (PositionType const &position)
| Mutator for minimum position. More...
void | setMax (PositionType const &position)
| Mutator for maximum position. More...
void | setMinMax (PositionType const &min, PositionType const &max)
| Mutator for minimum and maximum position. More...
template<UInt D2>
void | assign (const DIntervalBase< D2 > rhs)
| Assignment from a DIntervalBase of different dimensions. More...
Predicates
bool | operator== (const DIntervalBase &rhs) const
| Equality operator. More...
bool | operator!= (const DIntervalBase &rhs) const
| Equality operator. More...
void | clear ()
| Make the interval empty. More...
Accessors for 2D-intervals (for convenience)
CoordinateType | minX () const
| Accessor for min_ coordinate minimum. More...
CoordinateType | minY () const
| Accessor for max_ coordinate minimum. More...
CoordinateType | maxX () const
| Accessor for min_ coordinate maximum. More...
CoordinateType | maxY () const
| Accessor for max_ coordinate maximum. More...
void | setMinX (CoordinateType const c)
| Mutator for min_ coordinate of the smaller point. More...
void | setMinY (CoordinateType const c)
| Mutator for max_ coordinate of the smaller point. More...
void | setMaxX (CoordinateType const c)
| Mutator for min_ coordinate of the larger point. More...
void | setMaxY (CoordinateType const c)
| Mutator for max_ coordinate of the larger point. More...
CoordinateType | width () const
| Returns the width of the area i.e. the difference of dimension zero (X). More...
CoordinateType | height () const
| Returns the height of the area i.e. the difference of dimension one (Y). More...

## Protected Member Functions

void | normalize_ ()
| normalization to keep all dimensions in the right geometrical order (min_[X] < max_[X]) More...
| DIntervalBase (const std::pair< PositionType, PositionType > &pair)
| Protected constructor for the construction of static instances. More...

## Protected Attributes

PositionType | min_
| lower left point More...
PositionType | max_
| upper right point More...

## Misc

static DIntervalBase const | empty = DIntervalBase<D>(std::make_pair(DIntervalBase<D>::PositionType::maxPositive(), DIntervalBase<D>::PositionType::minNegative()))
| empty instance More...
static DIntervalBase const | zero = DIntervalBase<D>(DIntervalBase<D>::PositionType::zero(), DIntervalBase<D>::PositionType::zero())
| instance with all positions zero More...
PositionType | center () const
| Returns the center of the interval. More...
PositionType | diagonal () const
| Returns the diagonal of the area, i.e. max_ - min_. More...

## Detailed Description

### template<UInt D>
class OpenMS::Internal::DIntervalBase< D >

A base class for D-dimensional interval.

See DIntervalBase for a closed interval and DRange for a half-open interval class.

Invariant
  All methods maintain the invariant that minPosition() is geometrically less or equal maxPosition() i.e. minPosition()[x] <= maxPosition()[x].

## Member Typedef Documentation

## ◆ CoordinateType

typedef PositionType::CoordinateType CoordinateType

Coordinate type of the positions.

## ◆ PositionType

typedef DPosition<D> PositionType

Position type.

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum

Dimensions.

Enumerator
DIMENSION |

## Constructor & Destructor Documentation

## ◆ DIntervalBase() [1/5]

DIntervalBase | ( |  | ) |

inline

Default constructor.

Creates an empty interval with corners at infinity.

## ◆ DIntervalBase() [2/5]

DIntervalBase | ( | const DIntervalBase< D > & | rhs | ) |

inline

Copy constructor.

## ◆ DIntervalBase() [3/5]

DIntervalBase | ( | DIntervalBase< D > && |  | ) |

default noexcept

Move constructor.

## ◆ ~DIntervalBase()

~DIntervalBase | ( |  | ) |

inline

Destructor.

## ◆ DIntervalBase() [4/5]

DIntervalBase | ( | PositionType const & | minimum,
|  | PositionType const & | maximum
| ) |  |

inline

This constructor sets min_ and max_ directly.

References DIntervalBase< D >::normalize_().

## ◆ DIntervalBase() [5/5]

DIntervalBase | ( | const std::pair< PositionType, PositionType > & | pair | ) |

inline protected

Protected constructor for the construction of static instances.

## Member Function Documentation

## ◆ assign()

void assign | ( | const DIntervalBase< D2 > | rhs | ) |

inline

Assignment from a DIntervalBase of different dimensions.

Only the dimensions 0 upto min(D,D2)-1 are copied.

References DIntervalBase< D >::max_, DIntervalBase< D >::maxPosition(), DIntervalBase< D >::min_, and DIntervalBase< D >::minPosition().

## ◆ center()

PositionType center | ( |  | ) | const

inline

Returns the center of the interval.

References DIntervalBase< D >::max_, and DIntervalBase< D >::min_.

## ◆ clear()

void clear | ( |  | ) |

inline

Make the interval empty.

References DIntervalBase< D >::empty.

## ◆ diagonal()

PositionType diagonal | ( |  | ) | const

inline

Returns the diagonal of the area, i.e. max_ - min_.

References DIntervalBase< D >::max_, and DIntervalBase< D >::min_.

## ◆ height()

CoordinateType height | ( |  | ) | const

inline

Returns the height of the area i.e. the difference of dimension one (Y).

References DIntervalBase< D >::max_, and DIntervalBase< D >::min_.

## ◆ maxPosition()

PositionType const& maxPosition | ( |  | ) | const

inline

Accessor to maximum position.

References DIntervalBase< D >::max_.

Referenced by DIntervalBase< D >::assign(), GridBasedClustering< Metric >::cluster(), RangeManager< 2 >::getMaxInt(), DRange< 3 >::united(), and RangeManager< 2 >::updateRanges_().

## ◆ maxX()

CoordinateType maxX | ( |  | ) | const

inline

Accessor for min_ coordinate maximum.

References DIntervalBase< D >::max_.

Referenced by TOPPViewBase::layerZoomChanged().

## ◆ maxY()

CoordinateType maxY | ( |  | ) | const

inline

Accessor for max_ coordinate maximum.

References DIntervalBase< D >::max_.

Referenced by GridBasedClustering< Metric >::removeSmallClustersY().

## ◆ minPosition()

PositionType const& minPosition | ( |  | ) | const

inline

Accessor to minimum position.

References DIntervalBase< D >::min_.

Referenced by DIntervalBase< D >::assign(), GridBasedClustering< Metric >::cluster(), RangeManager< 2 >::getMinInt(), OpenMS::Internal::operator<<(), DRange< 3 >::united(), and RangeManager< 2 >::updateRanges_().

## ◆ minX()

CoordinateType minX | ( |  | ) | const

inline

Accessor for min_ coordinate minimum.

References DIntervalBase< D >::min_.

Referenced by TOPPViewBase::layerZoomChanged().

## ◆ minY()

CoordinateType minY | ( |  | ) | const

inline

Accessor for max_ coordinate minimum.

References DIntervalBase< D >::min_.

Referenced by GridBasedClustering< Metric >::removeSmallClustersY().

## ◆ normalize_()

void normalize_ | ( |  | ) |

inline protected

normalization to keep all dimensions in the right geometrical order (min_[X] < max_[X])

References DIntervalBase< D >::DIMENSION, DIntervalBase< D >::max_, and DIntervalBase< D >::min_.

Referenced by DIntervalBase< D >::DIntervalBase(), and DIntervalBase< D >::setMinMax().

## ◆ operator!=()

bool operator!= | ( | const DIntervalBase< D > & | rhs | ) | const

inline

Equality operator.

References DIntervalBase< D >::operator==().

## ◆ operator=()

DIntervalBase& operator= | ( | const DIntervalBase< D > & | rhs | ) |

inline

Assignment operator.

References DIntervalBase< D >::max_, and DIntervalBase< D >::min_.

Referenced by DBoundingBox< 2 >::operator=(), and DRange< 3 >::operator=().

## ◆ operator==()

bool operator== | ( | const DIntervalBase< D > & | rhs | ) | const

inline

Equality operator.

Referenced by DIntervalBase< D >::operator!=(), DBoundingBox< 2 >::operator==(), and DRange< 3 >::operator==().

## ◆ setMax()

void setMax | ( | PositionType const & | position | ) |

inline

Mutator for maximum position.

Note
  The maximum position given here will be returned my maxPosition() after the method. If necessary the value returned by minPosition() will be adjusted.

References DIntervalBase< D >::DIMENSION, DIntervalBase< D >::max_, DIntervalBase< D >::min_, and seqan::position().

## ◆ setMaxX()

void setMaxX | ( | CoordinateType const | c | ) |

inline

Mutator for min_ coordinate of the larger point.

References OpenMS::Constants::c, DIntervalBase< D >::max_, and DIntervalBase< D >::min_.

Referenced by TOPPViewBase::layerZoomChanged(), and RangeManager< 2 >::updateRanges_().

## ◆ setMaxY()

void setMaxY | ( | CoordinateType const | c | ) |

inline

Mutator for max_ coordinate of the larger point.

References OpenMS::Constants::c, DIntervalBase< D >::max_, and DIntervalBase< D >::min_.

## ◆ setMin()

void setMin | ( | PositionType const & | position | ) |

inline

Mutator for minimum position.

Note
  The minimum position given here will be returned my minPosition() after the method. If necessary the value returned by maxPosition() will be adjusted.

References DIntervalBase< D >::DIMENSION, DIntervalBase< D >::max_, DIntervalBase< D >::min_, and seqan::position().

## ◆ setMinMax()

void setMinMax | ( | PositionType const & | min,
|  | PositionType const & | max
| ) |  |

inline

Mutator for minimum and maximum position.

References DIntervalBase< D >::max_, DIntervalBase< D >::min_, and DIntervalBase< D >::normalize_().

Referenced by DRange< 3 >::united().

## ◆ setMinX()

void setMinX | ( | CoordinateType const | c | ) |

inline

Mutator for min_ coordinate of the smaller point.

References OpenMS::Constants::c, DIntervalBase< D >::max_, and DIntervalBase< D >::min_.

Referenced by TOPPViewBase::layerZoomChanged(), and RangeManager< 2 >::updateRanges_().

## ◆ setMinY()

void setMinY | ( | CoordinateType const | c | ) |

inline

Mutator for max_ coordinate of the smaller point.

References OpenMS::Constants::c, DIntervalBase< D >::max_, and DIntervalBase< D >::min_.

## ◆ width()

CoordinateType width | ( |  | ) | const

inline

Returns the width of the area i.e. the difference of dimension zero (X).

References DIntervalBase< D >::max_, and DIntervalBase< D >::min_.

## Member Data Documentation

## ◆ empty

DIntervalBase< D > const empty = DIntervalBase<D>(std::make_pair(DIntervalBase<D>::PositionType::maxPositive(), DIntervalBase<D>::PositionType::minNegative()))

static

empty instance

Referenced by DIntervalBase< D >::clear(), and RangeManager< 2 >::clearRanges().

## ◆ max_

PositionType max_

protected

upper right point

Referenced by DIntervalBase< D >::assign(), DIntervalBase< D >::center(), DIntervalBase< D >::diagonal(), DRange< 3 >::DRange(), DBoundingBox< 2 >::encloses(), DRange< 3 >::encloses(), DBoundingBox< 2 >::enlarge(), DRange< 3 >::extend(), DIntervalBase< D >::height(), DBoundingBox< 2 >::intersects(), DRange< 3 >::intersects(), DBoundingBox< 2 >::isEmpty(), DRange< 3 >::isEmpty(), DRange< 3 >::isIntersected(), DIntervalBase< D >::maxPosition(), DIntervalBase< D >::maxX(), DIntervalBase< D >::maxY(), DIntervalBase< D >::normalize_(), DIntervalBase< D >::operator=(), DIntervalBase< D >::setMax(), DIntervalBase< D >::setMaxX(), DIntervalBase< D >::setMaxY(), DIntervalBase< D >::setMin(), DIntervalBase< D >::setMinMax(), DIntervalBase< D >::setMinX(), DIntervalBase< D >::setMinY(), DRange< 3 >::united(), and DIntervalBase< D >::width().

## ◆ min_

PositionType min_

protected

lower left point

Referenced by DIntervalBase< D >::assign(), DIntervalBase< D >::center(), DIntervalBase< D >::diagonal(), DRange< 3 >::DRange(), DBoundingBox< 2 >::encloses(), DRange< 3 >::encloses(), DBoundingBox< 2 >::enlarge(), DRange< 3 >::extend(), DIntervalBase< D >::height(), DBoundingBox< 2 >::intersects(), DRange< 3 >::intersects(), DBoundingBox< 2 >::isEmpty(), DRange< 3 >::isEmpty(), DRange< 3 >::isIntersected(), DIntervalBase< D >::minPosition(), DIntervalBase< D >::minX(), DIntervalBase< D >::minY(), DIntervalBase< D >::normalize_(), DIntervalBase< D >::operator=(), DIntervalBase< D >::setMax(), DIntervalBase< D >::setMaxX(), DIntervalBase< D >::setMaxY(), DIntervalBase< D >::setMin(), DIntervalBase< D >::setMinMax(), DIntervalBase< D >::setMinX(), DIntervalBase< D >::setMinY(), DRange< 3 >::united(), and DIntervalBase< D >::width().

## ◆ zero

DIntervalBase< D > const zero = DIntervalBase<D>(DIntervalBase<D>::PositionType::zero(), DIntervalBase<D>::PositionType::zero())

static

instance with all positions zero