126 static_assert(D == 2);
176 for (
UInt i = 0; i != D; i++)
178 if (position[i] <
min_[i])
return false;
180 if (position[i] >=
max_[i])
return false;
188 if (x <
min_[0])
return false;
190 if (x >=
max_[0])
return false;
192 if (y <
min_[1])
return false;
194 if (y >=
max_[1])
return false;
209 for (
Size i = 0; i != D; ++i)
211 united_min[i] =
min_[i] < other_min[i] ?
min_[i] : other_min[i];
212 united_max[i] =
max_[i] > other_max[i] ?
max_[i] : other_max[i];
214 united_range.
setMinMax(united_min, united_max);
230 for (
Size i = 0; i != D; i++)
241 for (
Size i = 0; i != D; i++)
250 for (
Size i = 0; i != D; i++)
276 for (
Size i = 0; i != D; i++)
285 for (
Size i = 0; i != D; i++)
314 for (
UInt i = 0; i != D; ++i)
338 for (
UInt i = 0; i != D; ++i)
340 point[i] = std::max(
min_[i], std::min(point[i],
max_[i]));
349 std::ostream& operator<<(std::ostream& os, const DRange<D>& area)
351 os <<
"--DRANGE BEGIN--\n";
352 os <<
"MIN --> " << area.min_ <<
'\n';
353 os <<
"MAX --> " << area.max_ <<
'\n';
354 os <<
"--DRANGE END--\n";
DRange united(const DRange< D > &other_range) const
Returns the smallest range containing this range and other_range.
Definition: DRange.h:200
Base::PositionType PositionType
Position type.
Definition: DRange.h:74
No intersection.
Definition: DRange.h:80
DRange(CoordinateType minx, CoordinateType miny, CoordinateType maxx, CoordinateType maxy)
Convenient constructor for DRange<2>
Definition: DRange.h:124
PositionType min_
lower left point
Definition: DIntervalBase.h:362
bool encloses(const PositionType &position) const
Checks whether this range contains a certain point.
Definition: DRange.h:174
Internal::DIntervalBase< D > Base
Base class type.
Definition: DRange.h:72
PositionType min_
lower left point
Definition: DIntervalBase.h:362
bool operator==(const DRange &rhs) const
Equality operator.
Definition: DRange.h:157
DIntervalBase & operator=(const DIntervalBase &rhs)
Assignment operator.
Definition: DIntervalBase.h:96
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
DRange< D > & swapDimensions()
swaps dimensions for 2D data (i.e. x and y coordinates)
Definition: DRange.h:324
void pullIn(DPosition< D > &point) const
Make sure point is inside the current area.
Definition: DRange.h:336
DRangeIntersection intersects(const DRange &range) const
Checks how this range intersects with another range.
Definition: DRange.h:224
bool operator==(const Base &rhs) const
Equality operator.
Definition: DRange.h:163
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
PositionType max_
upper right point
Definition: DIntervalBase.h:365
PositionType const & maxPosition() const
Accessor to maximum position.
Definition: DIntervalBase.h:130
DRange()
Default constructor.
Definition: DRange.h:97
DRange & operator=(const DRange &rhs)
Assignment operator.
Definition: DRange.h:134
bool encloses(CoordinateType x, CoordinateType y) const
2D-version of encloses for convenience only
Definition: DRange.h:186
DRange(const DRange &range)
Copy constructor.
Definition: DRange.h:109
Base::CoordinateType CoordinateType
Coordinate type of the positions.
Definition: DRange.h:76
bool isIntersected(const DRange &range) const
Checks whether this range intersects with another range.
Definition: DRange.h:266
DRange< D > & extend(double factor)
Extends the range in all dimensions by a certain multiplier.
Definition: DRange.h:307
Exception indicating that an invalid parameter was handed over to an algorithm.
Definition: Exception.h:339
DRange & operator=(const Base &rhs)
Assignment operator for the base class.
Definition: DRange.h:141
A D-dimensional half-open interval.
Definition: DRange.h:60
PositionType max_
upper right point
Definition: DIntervalBase.h:365
~DRange()
Destructor.
Definition: DRange.h:148
A base class for D-dimensional interval.
Definition: DIntervalBase.h:55
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
DRangeIntersection
Types that describe the kind of intersection between two ranges.
Definition: DRange.h:78
void setMinMax(PositionType const &min, PositionType const &max)
Mutator for minimum and maximum position.
Definition: DIntervalBase.h:168
bool operator==(const DIntervalBase &rhs) const
Equality operator.
Definition: DIntervalBase.h:195
Intersection.
Definition: DRange.h:81
DRange(const PositionType &lower, const PositionType &upper)
Constructor that takes two Points and constructs a range.
Definition: DRange.h:103
One contains the other.
Definition: DRange.h:82
PositionType const & minPosition() const
Accessor to minimum position.
Definition: DIntervalBase.h:124