range2#

Fully qualified name: omni::math::linalg::range2

template<typename T>
class range2#

Public Types

using ScalarType = T#
using MinMaxType = omni::math::linalg::vec2<T>#
using ThisType = range2<T>#

Public Functions

inline range2()#
constexpr range2(const ThisType&) = default#
inline explicit constexpr range2(ScalarType size)#
inline constexpr void SetEmpty()#

Sets the range to an empty interval.

inline constexpr range2(const MinMaxType &min, const MinMaxType &max)#

This constructor initializes the minimum and maximum points.

inline const MinMaxType &GetMin() const#

Returns the minimum value of the range.

inline const MinMaxType &GetMax() const#

Returns the maximum value of the range.

inline MinMaxType GetSize() const#

Returns the size of the range.

inline MinMaxType GetMidpoint() const#

Returns the midpoint of the range, that is, 0.5*(min+max). Note: this returns zero in the case of default-constructed ranges, or ranges set via SetEmpty().

inline void SetMin(const MinMaxType &min)#

Sets the minimum value of the range.

inline void SetMax(const MinMaxType &max)#

Sets the maximum value of the range.

inline bool IsEmpty() const#

Returns whether the range is empty (max < min).

inline void ExtendBy(const MinMaxType &point)#

Modifies the range if necessary to surround the given value.

Deprecated:

Use UnionWith() instead.

inline void ExtendBy(const ThisType &range)#

Modifies the range if necessary to surround the given range.

Deprecated:

Use UnionWith() instead.

inline bool Contains(const MinMaxType &point) const#

Returns true if the point is located inside the range. As with all operations of this type, the range is assumed to include its extrema.

inline bool Contains(const ThisType &range) const#

Returns true if the range is located entirely inside the range. As with all operations of this type, the ranges are assumed to include their extrema.

inline bool IsInside(const MinMaxType &point) const#

Returns true if the point is located inside the range. As with all operations of this type, the range is assumed to include its extrema.

Deprecated:

Use Contains() instead.

inline bool IsInside(const ThisType &range) const#

Returns true if the range is located entirely inside the range. As with all operations of this type, the ranges are assumed to include their extrema.

Deprecated:

Use Contains() instead.

inline bool IsOutside(const ThisType &range) const#

Returns true if the range is located entirely outside the range. As with all operations of this type, the ranges are assumed to include their extrema.

inline const ThisType &UnionWith(const ThisType &b)#

Extend this to include b.

inline const ThisType &UnionWith(const MinMaxType &b)#

Extend this to include b.

inline const ThisType &Union(const ThisType &b)#

Extend this to include b.

Deprecated:

Use UnionWith() instead.

inline const ThisType &Union(const MinMaxType &b)#

Extend this to include b.

Deprecated:

Use UnionWith() instead.

inline const ThisType &IntersectWith(const ThisType &b)#

Modifies this range to hold its intersection with b and returns the result.

inline const ThisType &Intersection(const ThisType &b)#

Modifies this range to hold its intersection with b and returns the result.

Deprecated:

Use IntersectWith() instead.

inline ThisType &operator+=(const ThisType &b)#

unary sum.

inline ThisType &operator-=(const ThisType &b)#

unary difference.

inline ThisType &operator*=(double m)#

unary multiply.

inline ThisType &operator/=(double m)#

unary division.

inline ThisType operator+(const ThisType &b) const#

binary sum.

inline ThisType operator-(const ThisType &b) const#

binary difference.

inline bool operator==(const ThisType &b) const#

The min and max points must match exactly for equality.

inline bool operator!=(const ThisType &b) const#
inline double GetDistanceSquared(const MinMaxType &p) const#

Compute the squared distance from a point to the range.

inline MinMaxType GetCorner(size_t i) const#

Returns the ith corner of the range, in the following order: SW, SE, NW, NE.

inline ThisType GetQuadrant(size_t i) const#

Returns the ith quadrant of the range, in the following order: SW, SE, NW, NE.

Public Static Functions

static inline ThisType GetUnion(const ThisType &a, const ThisType &b)#

Returns the smallest ThisType which contains both a and b.

static inline ThisType Union(const ThisType &a, const ThisType &b)#

Returns the smallest ThisType which contains both a and b.

Deprecated:

Use GetUnion() instead.

static inline ThisType GetIntersection(
const ThisType &a,
const ThisType &b,
)#

Returns a ThisType that describes the intersection of a and b.

static inline ThisType Intersection(
const ThisType &a,
const ThisType &b,
)#

Returns a ThisType that describes the intersection of a and b.

Deprecated:

Use GetIntersection() instead.

static inline constexpr ThisType UnitSquare()#

The unit square.

Public Static Attributes

static const size_t dimension = 2#

Friends

inline friend ThisType operator*(double m, const ThisType &r)#

scalar multiply.

inline friend ThisType operator*(const ThisType &r, double m)#

scalar multiply.

inline friend ThisType operator/(const ThisType &r, double m)#

scalar divide.