omni::math::linalg::range3
Defined in usdrt/gf/range.h
-
template<typename T>
class range3 Public Types
Public Functions
-
inline range3()
-
inline explicit constexpr range3(ScalarType size)
-
inline constexpr void SetEmpty()
Sets the range to an empty interval.
-
inline constexpr range3(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 MinMaxType &b)
Extend
this
to includeb
.
-
inline const ThisType &Union(const ThisType &b)
Extend
this
to includeb
.- Deprecated:
Use UnionWith() instead.
-
inline const ThisType &Union(const MinMaxType &b)
Extend
this
to includeb
.- 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 bool operator==(const ThisType &b) const
The min and max points must match exactly for equality.
-
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: LDB, RDB, LUB, RUB, LDF, RDF, LUF, RUF. Where L/R is left/right, D/U is down/up, and B/F is back/front.
Public Static Functions
-
static inline ThisType GetUnion(const ThisType &a, const ThisType &b)
Returns the smallest
ThisType
which contains botha
andb
.
-
static inline ThisType Union(const ThisType &a, const ThisType &b)
Returns the smallest
ThisType
which contains botha
andb
.- Deprecated:
Use GetUnion() instead.
-
static inline ThisType GetIntersection(const ThisType &a, const ThisType &b)
Returns a
ThisType
that describes the intersection ofa
andb
.
-
static inline ThisType Intersection(const ThisType &a, const ThisType &b)
Returns a
ThisType
that describes the intersection ofa
andb
.- Deprecated:
Use GetIntersection() instead.
Public Static Attributes
-
static const size_t dimension = 3
-
inline range3()