 |
OpenMS
3.0.0
|
|
Go to the documentation of this file.
52 template <UInt D,
typename TCoordinateType =
double>
99 static_assert(D == 2,
"DPosition<D, TCoordinateType>:DPosition(x,y): index overflow!");
107 static_assert(D == 3,
"DPosition<D, TCoordinateType>:DPosition(x,y,z): index overflow!");
133 for (
Size i = 0; i < D; i++)
145 OPENMS_PRECONDITION(index < D,
"DPosition<D,TCoordinateType>:operator [] (Position): index overflow!");
152 OPENMS_PRECONDITION(index < D,
"DPosition<D,TCoordinateType>:operator [] (Position): index overflow!");
187 for (
Size i = 0; i < D; i++)
189 #pragma clang diagnostic push
190 #pragma clang diagnostic ignored "-Wfloat-equal"
193 #pragma clang diagnostic pop
210 for (
Size i = 0; i < D; i++)
222 for (
Size i = 0; i < D; i++)
234 for (
Size i = 0; i < D; i++)
244 for (
Size i = 0; i < D; i++)
267 for (
Size i = 0; i < D; ++i)
277 for (
Size i = 0; i < D; ++i)
288 for (
Size i = 0; i < D; ++i)
298 for (
Size i = 0; i < D; ++i)
309 for (
Size i = 0; i < D; ++i)
320 for (
Size i = 0; i < D; ++i)
330 for (
Size i = 0; i < D; ++i)
340 for (
Size i = 0; i < D; ++i)
356 for (
Size i = 0; i < D; ++i)
375 return DPosition((std::numeric_limits<typename DPosition::CoordinateType>::min)());
381 return DPosition(std::numeric_limits<typename DPosition::CoordinateType>::lowest());
387 return DPosition((std::numeric_limits<typename DPosition::CoordinateType>::max)());
425 template <UInt D,
typename TCoordinateType>
428 for (
Size i = 0; i < D; ++i)
430 position[i] *= scalar;
436 template <UInt D,
typename TCoordinateType>
439 for (
Size i = 0; i < D; ++i)
441 position[i] *= scalar;
447 template <UInt D,
typename TCoordinateType>
450 for (
Size i = 0; i < D; ++i)
452 position[i] /= scalar;
458 template <UInt D,
typename TCoordinateType>
462 for (
UInt i = 1; i < D; ++i)
void clear()
Set all dimensions to zero.
Definition: DPosition.h:354
Definition: DPosition.h:66
TCoordinateType CoordinateType
Coordinate type.
Definition: DPosition.h:58
CoordinateType getY() const
Name accessor for the second dimension. Only for DPosition<2>, for visualization.
Definition: DPosition.h:164
static constexpr DPosition maxPositive()
largest positive
Definition: DPosition.h:385
void setX(CoordinateType c)
Name mutator for the first dimension. Only for DPosition<2>, for visualization.
Definition: DPosition.h:171
bool spatiallyGreaterEqual(const DPosition &point) const
Spatially (geometrically) greater or equal operator. All coordinates must be ">=".
Definition: DPosition.h:242
DPosition< D, TCoordinateType > operator*(DPosition< D, TCoordinateType > position, typename DPosition< D, TCoordinateType >::CoordinateType scalar)
Scalar multiplication (a bit inefficient)
Definition: DPosition.h:426
bool operator==(const DPosition &point) const
Equality operator.
Definition: DPosition.h:185
CoordinateType * Iterator
Mutable iterator.
Definition: DPosition.h:60
DPosition(CoordinateType x, CoordinateType y)
Constructor only for DPosition<2> that takes two Coordinates.
Definition: DPosition.h:97
static Size size()
Returns the number of dimensions.
Definition: DPosition.h:348
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
const double c
Definition: Constants.h:209
CoordinateType getX() const
Name accessor for the first dimension. Only for DPosition<2>, for visualization.
Definition: DPosition.h:157
DPosition< D, TCoordinateType > operator/(DPosition< D, TCoordinateType > position, typename DPosition< D, TCoordinateType >::CoordinateType scalar)
Scalar multiplication (a bit inefficient)
Definition: DPosition.h:448
CoordinateType * iterator
Definition: DPosition.h:75
Iterator end()
Mutable end iterator.
Definition: DPosition.h:413
DPosition & operator-=(const DPosition &point)
Subtraction.
Definition: DPosition.h:296
#define OPENMS_PRECONDITION(condition, message)
Precondition macro.
Definition: openms/include/OpenMS/CONCEPT/Macros.h:120
ConstIterator end() const
Non-mutable end iterator.
Definition: DPosition.h:401
CoordinateType * pointer
Definition: DPosition.h:74
bool spatiallyLessEqual(const DPosition &point) const
Spatially (geometrically) less or equal operator. All coordinates must be "<=".
Definition: DPosition.h:232
CoordinateType & reference
Definition: DPosition.h:73
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
bool operator>(const DPosition &point) const
Lexicographical greater than operator.
Definition: DPosition.h:252
static constexpr DPosition minNegative()
smallest negative
Definition: DPosition.h:379
const PrecisionWrapper< FloatingPointType > precisionWrapper(const FloatingPointType rhs)
Wrapper function that sets the appropriate precision for output temporarily. The original precision i...
Definition: PrecisionWrapper.h:95
CoordinateType coordinate_[D]
Definition: DPosition.h:421
bool operator!=(const DPosition &point) const
Equality operator.
Definition: DPosition.h:199
const typedef CoordinateType * const_iterator
Definition: DPosition.h:76
DPosition & operator*=(CoordinateType scalar)
Scalar multiplication.
Definition: DPosition.h:328
Iterator begin()
Mutable begin iterator.
Definition: DPosition.h:407
CoordinateType value_type
Definition: DPosition.h:72
void setY(CoordinateType c)
Name mutator for the second dimension. Only for DPosition<2>, for visualization.
Definition: DPosition.h:178
CoordinateType operator[](Size index) const
Const accessor for the dimensions.
Definition: DPosition.h:143
std::ostream & operator<<(std::ostream &os, const AccurateMassSearchResult &amsr)
Representation of a coordinate in D-dimensional space.
Definition: DPosition.h:53
static constexpr DPosition minPositive()
smallest positive
Definition: DPosition.h:373
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
DPosition(CoordinateType x)
Constructor that fills all dimensions with the value x.
Definition: DPosition.h:91
DPosition operator+(const DPosition &point) const
Addition (a bit inefficient)
Definition: DPosition.h:264
DPosition(CoordinateType x, CoordinateType y, CoordinateType z)
Constructor only for DPosition<3> that takes three Coordinates.
Definition: DPosition.h:105
DPosition & operator+=(const DPosition &point)
Addition.
Definition: DPosition.h:275
~DPosition() noexcept=default
Destructor (not-virtual as this will save a lot of space!)
DPosition operator-(const DPosition &point) const
Subtraction (a bit inefficient)
Definition: DPosition.h:285
ConstIterator begin() const
Non-mutable begin iterator.
Definition: DPosition.h:395
CoordinateType & operator[](Size index)
Accessor for the dimensions.
Definition: DPosition.h:150
DPosition()=default
Default constructor.
void swap(DPosition &rhs) noexcept
Swap the two points.
Definition: DPosition.h:131
DPosition & operator=(const DPosition &source)=default
Assignment operator.
bool operator<=(const DPosition &point) const
Lexicographical greater less or equal operator.
Definition: DPosition.h:220
static constexpr DPosition zero()
all zero
Definition: DPosition.h:367
bool operator>=(const DPosition &point) const
Lexicographical greater or equal operator.
Definition: DPosition.h:258
const typedef CoordinateType * ConstIterator
Non-mutable iterator.
Definition: DPosition.h:62
bool operator<(const DPosition &point) const
Lexicographical less than operator. Lexicographical comparison from dimension 0 to dimension D-1 is d...
Definition: DPosition.h:208
DPosition operator-() const
Negation (a bit inefficient)
Definition: DPosition.h:306
DPosition & operator/=(CoordinateType scalar)
Scalar division.
Definition: DPosition.h:338
CoordinateType operator*(const DPosition &point) const
Inner product.
Definition: DPosition.h:317