lsst.sphgeom 22.0.1-8-gfb2c8f9+f3d053c481
Public Member Functions | List of all members
lsst::sphgeom::Interval< Derived, Scalar > Class Template Reference

#include <Interval.h>

Public Member Functions

 Interval ()
 This constructor creates an empty interval.
 
 Interval (Scalar x)
 This constructor creates a closed interval containing only x.
 
 Interval (Scalar x, Scalar y)
 This constructor creates an interval from the given endpoints.
 
bool operator== (Interval const &i) const
 
bool operator!= (Interval const &i) const
 
bool operator== (Scalar x) const
 A closed interval is equal to a point x if both endpoints equal x.
 
bool operator!= (Scalar x) const
 
Scalar getA () const
 
Scalar getB () const
 
bool isEmpty () const
 isEmpty returns true if this interval does not contain any points.
 
Scalar getCenter () const
 
Scalar getSize () const
 
IntervaldilateBy (Scalar x)
 
IntervalerodeBy (Scalar x)
 
Derived dilatedBy (Scalar x) const
 
Derived erodedBy (Scalar x) const
 
bool contains (Scalar x) const
 
bool contains (Interval const &x) const
 
bool isDisjointFrom (Scalar x) const
 
bool isDisjointFrom (Interval const &x) const
 
bool intersects (Scalar x) const
 
bool intersects (Interval const &x) const
 
bool isWithin (Scalar x) const
 
bool isWithin (Interval const &x) const
 
Relationship relate (Scalar x) const
 
Relationship relate (Interval const &x) const
 
IntervalclipTo (Scalar x)
 
IntervalclipTo (Interval const &x)
 
Derived clippedTo (Scalar x) const
 
Derived clippedTo (Interval const &x) const
 
IntervalexpandTo (Scalar x)
 
IntervalexpandTo (Interval const &x)
 
Derived expandedTo (Scalar x) const
 
Derived expandedTo (Interval const &x) const
 

Detailed Description

template<typename Derived, typename Scalar>
class lsst::sphgeom::Interval< Derived, Scalar >

Interval represents a closed interval of the real numbers by its upper and lower bounds. It is parameterized by the Scalar type, which must be constructible from a double.

An interval with identical upper and lower bounds contains a single point, and is equal to that scalar bound.

An interval with an upper bound less than its lower bound is empty (contains no points), as are intervals with NaN as either bound.

Member Function Documentation

◆ clippedTo()

template<typename Derived , typename Scalar >
Derived lsst::sphgeom::Interval< Derived, Scalar >::clippedTo ( Scalar  x) const
inline

clippedTo returns the intersection of this interval and x.

◆ clipTo()

template<typename Derived , typename Scalar >
Interval & lsst::sphgeom::Interval< Derived, Scalar >::clipTo ( Scalar  x)
inline

clipTo shrinks this interval until all its points are in x.

◆ contains()

template<typename Derived , typename Scalar >
bool lsst::sphgeom::Interval< Derived, Scalar >::contains ( Scalar  x) const
inline

contains returns true if the intersection of this interval and x is equal to x.

◆ dilateBy()

template<typename Derived , typename Scalar >
Interval & lsst::sphgeom::Interval< Derived, Scalar >::dilateBy ( Scalar  x)
inline

For positive x, dilateBy morphologically dilates this interval by [-x,x], which is equivalent to the taking the Minkowski sum with [-x,x]. For negative x, it morphologically erodes this interval by [x,-x]. If x is zero or NaN, or this interval is empty, there is no effect.

◆ expandedTo()

template<typename Derived , typename Scalar >
Derived lsst::sphgeom::Interval< Derived, Scalar >::expandedTo ( Scalar  x) const
inline

expandedTo returns the smallest interval containing the union of this interval and x.

◆ expandTo()

template<typename Derived , typename Scalar >
Interval & lsst::sphgeom::Interval< Derived, Scalar >::expandTo ( Scalar  x)
inline

expandTo minimally expands this interval to contain x.

◆ getA()

template<typename Derived , typename Scalar >
Scalar lsst::sphgeom::Interval< Derived, Scalar >::getA ( ) const
inline

getA returns the lower endpoint of this interval. The return value for empty intervals is arbitrary.

◆ getB()

template<typename Derived , typename Scalar >
Scalar lsst::sphgeom::Interval< Derived, Scalar >::getB ( ) const
inline

getB returns the upper endpoint of this interval. The return value for empty intervals is arbitrary.

◆ getCenter()

template<typename Derived , typename Scalar >
Scalar lsst::sphgeom::Interval< Derived, Scalar >::getCenter ( ) const
inline

getCenter returns the center of this interval. It is arbitrary for empty intervals.

◆ getSize()

template<typename Derived , typename Scalar >
Scalar lsst::sphgeom::Interval< Derived, Scalar >::getSize ( ) const
inline

getSize returns the size (length, width) of this interval. It is zero for single-point intervals, and NaN or negative for empty intervals.

◆ intersects()

template<typename Derived , typename Scalar >
bool lsst::sphgeom::Interval< Derived, Scalar >::intersects ( Scalar  x) const
inline

intersects returns true if the intersection of this interval and x is non-empty.

◆ isDisjointFrom()

template<typename Derived , typename Scalar >
bool lsst::sphgeom::Interval< Derived, Scalar >::isDisjointFrom ( Scalar  x) const
inline

isDisjointFrom returns true if the intersection of this interval and x is empty.

◆ isWithin()

template<typename Derived , typename Scalar >
bool lsst::sphgeom::Interval< Derived, Scalar >::isWithin ( Scalar  x) const
inline

isWithin returns true if the intersection of this interval and x is this interval.

◆ operator==()

template<typename Derived , typename Scalar >
bool lsst::sphgeom::Interval< Derived, Scalar >::operator== ( Interval< Derived, Scalar > const &  i) const
inline

Two closed intervals are equal if their endpoints are the same, or both are empty.

◆ relate()

template<typename Derived , typename Scalar >
Relationship lsst::sphgeom::Interval< Derived, Scalar >::relate ( Scalar  x) const

relate returns a bitset S describing the spatial relationships between this interval and x. For each relation that holds, the bitwise AND of S and the corresponding Relationship will be non-zero.


The documentation for this class was generated from the following file: