| OpenMS 2.5.0

Public Attributes | List of all members
DRange< D > Class Template Reference
Datastructures

A D-dimensional half-open interval. More...

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

Inheritance diagram for DRange< D >:

## Public Types

Type definitions
enum | { DIMENSION = D }
| Dimensions. More...
enum | DRangeIntersection { Disjoint, Intersects, Inside }
| Types that describe the kind of intersection between two ranges. More...
typedef Internal::DIntervalBase< D > | Base
| Base class type. More...
typedef Base::PositionType | PositionType
| Position type. More...
typedef Base::CoordinateType | CoordinateType
| Coordinate type of the positions. More...
Public Types inherited from DIntervalBase< D >
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
| DRange ()
| Default constructor. More...
| DRange (const PositionType &lower, const PositionType &upper)
| Constructor that takes two Points and constructs a range. More...
| DRange (const DRange &range)
| Copy constructor. More...
| DRange (DRange &&) noexcept=default
| Move constructor. More...
| DRange (const Base &range)
| Copy constructor for the base class. More...
| DRange (CoordinateType minx, CoordinateType miny, CoordinateType maxx, CoordinateType maxy)
| Convenient constructor for DRange<2> More...
DRange & | operator= (const DRange &rhs)
| Assignment operator. More...
DRange & | operator= (const Base &rhs)
| Assignment operator for the base class. More...
| ~DRange ()
| Destructor. More...
Predicates
bool | operator== (const DRange &rhs) const
| Equality operator. More...
bool | operator== (const Base &rhs) const
| Equality operator. More...
bool | encloses (const PositionType &position) const
| Checks whether this range contains a certain point. More...
bool | encloses (CoordinateType x, CoordinateType y) const
| 2D-version of encloses for convenience only More...
DRange | united (const DRange< D > &other_range) const
| Returns the smallest range containing this range and `other_range`. More...
DRangeIntersection | intersects (const DRange &range) const
| Checks how this range intersects with another `range`. More...
bool | isIntersected (const DRange &range) const
| Checks whether this range intersects with another `range`. More...
bool | isEmpty () const
| Checks if the range is empty. More...
void | extend (double factor)
| Extends the range in all dimensions by a certain multiplier. More...
Public Member Functions inherited from DIntervalBase< D >
| 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...
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...
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...
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...
PositionType | center () const
| Returns the center of the interval. More...
PositionType | diagonal () const
| Returns the diagonal of the area, i.e. max_ - min_. More...

## Public Attributes

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

## Additional Inherited Members

Static Public Attributes inherited from DIntervalBase< D >
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...
Protected Member Functions inherited from DIntervalBase< D >
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 inherited from DIntervalBase< D >
PositionType | min_
| lower left point More...
PositionType | max_
| upper right point More...

## Detailed Description

### template<UInt D>
class OpenMS::DRange< D >

A D-dimensional half-open interval.

This class describes a range in D-dimensional space delimited by two points (i.e. a D-dimensional hyper-rectangle). The two points define the lower left and the upper right corner in 2D and analogous points in higher dimensions.

A range is a pair of positions in D-space represented by DPosition. The two limiting points are accessed as minPosition() and maxPosition().

A range denotes a semi-open interval. A lower coordinate of each dimension is part of the range, the higher coordinate is not.

## Member Typedef Documentation

## ◆ Base

typedef Internal::DIntervalBase<D> Base

Base class type.

## ◆ CoordinateType

typedef Base::CoordinateType CoordinateType

Coordinate type of the positions.

## ◆ PositionType

typedef Base::PositionType PositionType

Position type.

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum

Dimensions.

Enumerator
DIMENSION |

## ◆ DRangeIntersection

enum DRangeIntersection

Types that describe the kind of intersection between two ranges.

Enumerator
Disjoint | No intersection.
Intersects | Intersection.
Inside | One contains the other.

## Constructor & Destructor Documentation

## ◆ DRange() [1/6]

DRange | ( |  | ) |

inline

Default constructor.

Creates a range with all coordinates zero.

## ◆ DRange() [2/6]

DRange | ( | const PositionType & | lower,
|  | const PositionType & | upper
| ) |  |

inline

Constructor that takes two Points and constructs a range.

## ◆ DRange() [3/6]

DRange | ( | const DRange< D > & | range | ) |

inline

Copy constructor.

## ◆ DRange() [4/6]

DRange | ( | DRange< D > && |  | ) |

default noexcept

Move constructor.

## ◆ DRange() [5/6]

DRange | ( | const Base & | range | ) |

inline

Copy constructor for the base class.

## ◆ DRange() [6/6]

DRange | ( | CoordinateType | minx,
|  | CoordinateType | miny,
|  | CoordinateType | maxx,
|  | CoordinateType | maxy
| ) |  |

inline

Convenient constructor for DRange<2>

## ◆ ~DRange()

~DRange | ( |  | ) |

inline

Destructor.

## Member Function Documentation

## ◆ encloses() [1/2]

bool encloses | ( | const PositionType & | position | ) | const

inline

Checks whether this range contains a certain point.

Parameters

  position | The point's position.

Returns
  true if point lies inside this area.

Referenced by DRange< 3 >::intersects(), DRange< 3 >::isIntersected(), and DTA2DFile::load().

## ◆ encloses() [2/2]

bool encloses | ( | CoordinateType | x,
|  | CoordinateType | y
| ) |  | const

inline

2D-version of encloses for convenience only

## ◆ extend()

void extend | ( | double | factor | ) |

inline

Extends the range in all dimensions by a certain multiplier.

Extends the range, while maintaining the original center position.

Examples (for D=1): factor = 1.01 extends the range by 1% in total, i.e. 0.5% left and right. factor = 2.00 doubles the total range, e.g. from [0,100] to [-50,150]

Parameters

  factor | Multiplier (allowed is [0, inf)).

## ◆ intersects()

DRangeIntersection intersects | ( | const DRange< D > & | range | ) | const

inline

Checks how this range intersects with another `range`.

Parameters

  range | The max_ range.

## ◆ isEmpty()

bool isEmpty | ( |  | ) | const

inline

Checks if the range is empty.

## ◆ isIntersected()

bool isIntersected | ( | const DRange< D > & | range | ) | const

inline

Checks whether this range intersects with another `range`.

Parameters

  range | The max_ range.

Returns
  True if the areas intersect (i.e. they intersect or one contains the other).

## ◆ operator=() [1/2]

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

inline

Assignment operator.

## ◆ operator=() [2/2]

DRange& operator= | ( | const Base & | rhs | ) |

inline

Assignment operator for the base class.

## ◆ operator==() [1/2]

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

inline

Equality operator.

## ◆ operator==() [2/2]

bool operator== | ( | const Base & | rhs | ) | const

inline

Equality operator.

## ◆ united()

DRange united | ( | const DRange< D > & | other_range | ) | const

inline

Returns the smallest range containing this range and `other_range`.

## Member Data Documentation

## ◆ max_

PositionType max_

upper right point

Referenced by DRange< 3 >::intersects(), and DRange< 3 >::isIntersected().

## ◆ min_

PositionType min_

lower left point

Referenced by DRange< 3 >::intersects(), and DRange< 3 >::isIntersected().