|
|
|
@ -171,11 +171,9 @@ template<UnsignedInt dimensions, class T> class Range { |
|
|
|
T* data() { |
|
|
|
T* data() { |
|
|
|
return dataInternal(typename std::conditional<dimensions == 1, void*, T*>::type{}); |
|
|
|
return dataInternal(typename std::conditional<dimensions == 1, void*, T*>::type{}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr const T* data() const { |
|
|
|
constexpr const T* data() const { |
|
|
|
return dataInternal(typename std::conditional<dimensions == 1, void*, T*>::type{}); |
|
|
|
return dataInternal(typename std::conditional<dimensions == 1, void*, T*>::type{}); |
|
|
|
} |
|
|
|
} /**< @overload */ |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @brief Minimal coordinates (inclusive) |
|
|
|
* @brief Minimal coordinates (inclusive) |
|
|
|
@ -185,9 +183,7 @@ template<UnsignedInt dimensions, class T> class Range { |
|
|
|
* @ref Range3D::backBottomLeft() |
|
|
|
* @ref Range3D::backBottomLeft() |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
VectorType& min() { return _min; } |
|
|
|
VectorType& min() { return _min; } |
|
|
|
|
|
|
|
constexpr const VectorType min() const { return _min; } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr const VectorType min() const { return _min; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @brief Maximal coordinates (exclusive) |
|
|
|
* @brief Maximal coordinates (exclusive) |
|
|
|
@ -197,9 +193,7 @@ template<UnsignedInt dimensions, class T> class Range { |
|
|
|
* @ref Range3D::frontTopRight() |
|
|
|
* @ref Range3D::frontTopRight() |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
VectorType& max() { return _max; } |
|
|
|
VectorType& max() { return _max; } |
|
|
|
|
|
|
|
constexpr const VectorType max() const { return _max; } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr const VectorType max() const { return _max; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @brief Range size |
|
|
|
* @brief Range size |
|
|
|
@ -408,9 +402,7 @@ template<class T> class Range2D: public Range<2, T> { |
|
|
|
* Equivalent to @ref min(). |
|
|
|
* Equivalent to @ref min(). |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
Vector2<T>& bottomLeft() { return Range<2, T>::min(); } |
|
|
|
Vector2<T>& bottomLeft() { return Range<2, T>::min(); } |
|
|
|
|
|
|
|
constexpr Vector2<T> bottomLeft() const { return Range<2, T>::min(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr Vector2<T> bottomLeft() const { return Range<2, T>::min(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Bottom right corner */ |
|
|
|
/** @brief Bottom right corner */ |
|
|
|
constexpr Vector2<T> bottomRight() const { |
|
|
|
constexpr Vector2<T> bottomRight() const { |
|
|
|
@ -428,33 +420,23 @@ template<class T> class Range2D: public Range<2, T> { |
|
|
|
* Equivalent to @ref max(). |
|
|
|
* Equivalent to @ref max(). |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
Vector2<T>& topRight() { return Range<2, T>::max(); } |
|
|
|
Vector2<T>& topRight() { return Range<2, T>::max(); } |
|
|
|
|
|
|
|
constexpr Vector2<T> topRight() const { return Range<2, T>::max(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr Vector2<T> topRight() const { return Range<2, T>::max(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Left edge */ |
|
|
|
/** @brief Left edge */ |
|
|
|
T& left() { return Range<2, T>::min().x(); } |
|
|
|
T& left() { return Range<2, T>::min().x(); } |
|
|
|
|
|
|
|
constexpr T left() const { return Range<2, T>::min().x(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr T left() const { return Range<2, T>::min().x(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Right edge */ |
|
|
|
/** @brief Right edge */ |
|
|
|
T& right() { return Range<2, T>::max().x(); } |
|
|
|
T& right() { return Range<2, T>::max().x(); } |
|
|
|
|
|
|
|
constexpr T right() const { return Range<2, T>::max().x(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr T right() const { return Range<2, T>::max().x(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Bottom edge */ |
|
|
|
/** @brief Bottom edge */ |
|
|
|
T& bottom() { return Range<2, T>::min().y(); } |
|
|
|
T& bottom() { return Range<2, T>::min().y(); } |
|
|
|
|
|
|
|
constexpr T bottom() const { return Range<2, T>::min().y(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr T bottom() const { return Range<2, T>::min().y(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Top edge */ |
|
|
|
/** @brief Top edge */ |
|
|
|
T& top() { return Range<2, T>::max().y(); } |
|
|
|
T& top() { return Range<2, T>::max().y(); } |
|
|
|
|
|
|
|
constexpr T top() const { return Range<2, T>::max().y(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr T top() const { return Range<2, T>::max().y(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Range in the X axis */ |
|
|
|
/** @brief Range in the X axis */ |
|
|
|
constexpr Range<1, T> x() const { |
|
|
|
constexpr Range<1, T> x() const { |
|
|
|
@ -548,9 +530,7 @@ template<class T> class Range3D: public Range<3, T> { |
|
|
|
* Equivalent to @ref min(). |
|
|
|
* Equivalent to @ref min(). |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
Vector3<T>& backBottomLeft() { return Range<3, T>::min(); } |
|
|
|
Vector3<T>& backBottomLeft() { return Range<3, T>::min(); } |
|
|
|
|
|
|
|
constexpr Vector3<T> backBottomLeft() const { return Range<3, T>::min(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr Vector3<T> backBottomLeft() const { return Range<3, T>::min(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Back bottom right corner */ |
|
|
|
/** @brief Back bottom right corner */ |
|
|
|
constexpr Vector3<T> backBottomRight() const { |
|
|
|
constexpr Vector3<T> backBottomRight() const { |
|
|
|
@ -573,9 +553,7 @@ template<class T> class Range3D: public Range<3, T> { |
|
|
|
* Equivalent to @ref max(). |
|
|
|
* Equivalent to @ref max(). |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
Vector3<T>& frontTopRight() { return Range<3, T>::max(); } |
|
|
|
Vector3<T>& frontTopRight() { return Range<3, T>::max(); } |
|
|
|
|
|
|
|
constexpr Vector3<T> frontTopRight() const { return Range<3, T>::max(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr Vector3<T> frontTopRight() const { return Range<3, T>::max(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Front top left corner */ |
|
|
|
/** @brief Front top left corner */ |
|
|
|
constexpr Vector3<T> frontTopLeft() const { |
|
|
|
constexpr Vector3<T> frontTopLeft() const { |
|
|
|
@ -594,39 +572,27 @@ template<class T> class Range3D: public Range<3, T> { |
|
|
|
|
|
|
|
|
|
|
|
/** @brief Left edge */ |
|
|
|
/** @brief Left edge */ |
|
|
|
T& left() { return Range<3, T>::min().x(); } |
|
|
|
T& left() { return Range<3, T>::min().x(); } |
|
|
|
|
|
|
|
constexpr T left() const { return Range<3, T>::min().x(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr T left() const { return Range<3, T>::min().x(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Right edge */ |
|
|
|
/** @brief Right edge */ |
|
|
|
T& right() { return Range<3, T>::max().x(); } |
|
|
|
T& right() { return Range<3, T>::max().x(); } |
|
|
|
|
|
|
|
constexpr T right() const { return Range<3, T>::max().x(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr T right() const { return Range<3, T>::max().x(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Bottom edge */ |
|
|
|
/** @brief Bottom edge */ |
|
|
|
T& bottom() { return Range<3, T>::min().y(); } |
|
|
|
T& bottom() { return Range<3, T>::min().y(); } |
|
|
|
|
|
|
|
constexpr T bottom() const { return Range<3, T>::min().y(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr T bottom() const { return Range<3, T>::min().y(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Top edge */ |
|
|
|
/** @brief Top edge */ |
|
|
|
T& top() { return Range<3, T>::max().y(); } |
|
|
|
T& top() { return Range<3, T>::max().y(); } |
|
|
|
|
|
|
|
constexpr T top() const { return Range<3, T>::max().y(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr T top() const { return Range<3, T>::max().y(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Back edge */ |
|
|
|
/** @brief Back edge */ |
|
|
|
T& back() { return Range<3, T>::min().z(); } |
|
|
|
T& back() { return Range<3, T>::min().z(); } |
|
|
|
|
|
|
|
constexpr T back() const { return Range<3, T>::min().z(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr T back() const { return Range<3, T>::min().z(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Front edge */ |
|
|
|
/** @brief Front edge */ |
|
|
|
T& front() { return Range<3, T>::max().z(); } |
|
|
|
T& front() { return Range<3, T>::max().z(); } |
|
|
|
|
|
|
|
constexpr T front() const { return Range<3, T>::max().z(); } /**< @overload */ |
|
|
|
/** @overload */ /* https://github.com/doxygen/doxygen/issues/7472 */ |
|
|
|
|
|
|
|
constexpr T front() const { return Range<3, T>::max().z(); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief Range in the X axis */ |
|
|
|
/** @brief Range in the X axis */ |
|
|
|
constexpr Range<1, T> x() const { |
|
|
|
constexpr Range<1, T> x() const { |
|
|
|
|