23 #ifndef LSST_SPHGEOM_NORMALIZEDANGLEINTERVAL_H_ 24 #define LSST_SPHGEOM_NORMALIZEDANGLEINTERVAL_H_ 62 Angle::fromDegrees(b));
108 return !(*
this == i);
113 return (_a == x && _b == x) || (x.
isNan() &&
isEmpty());
135 bool wraps()
const {
return _a > _b; }
154 return wraps() ? (x <= _b || _a <= x) : (_a <= x && x <= _b);
174 return wraps() ? (x <= _b || _a <= x) : (_a <= x && x <= _b);
186 return (_a == x && _b == x) ||
isEmpty();
269 #endif // LSST_SPHGEOM_NORMALIZEDANGLEINTERVAL_H_ bool isEmpty() const
Definition: NormalizedAngleInterval.h:126
bool isDisjointFrom(NormalizedAngle x) const
Definition: NormalizedAngleInterval.h:163
static NormalizedAngle center(NormalizedAngle const &a, NormalizedAngle const &b)
Definition: NormalizedAngle.cc:45
NormalizedAngleInterval clippedTo(NormalizedAngleInterval const &x) const
Definition: NormalizedAngleInterval.h:221
Definition: NormalizedAngle.h:41
double asRadians() const
asRadians returns the value of this angle in units of radians.
Definition: NormalizedAngle.h:128
NormalizedAngle getB() const
getB returns the second endpoint of this interval.
Definition: NormalizedAngleInterval.h:122
NormalizedAngleInterval & expandTo(NormalizedAngle x)
Definition: NormalizedAngleInterval.cc:189
bool isWithin(NormalizedAngle x) const
Definition: NormalizedAngleInterval.h:185
bool contains(NormalizedAngle x) const
Definition: NormalizedAngleInterval.h:150
NormalizedAngleInterval clippedTo(NormalizedAngle x) const
clippedTo returns the intersection of this interval and x.
Definition: NormalizedAngleInterval.h:214
bool isFull() const
isFull returns true if this interval contains all normalized angles.
Definition: NormalizedAngleInterval.h:129
NormalizedAngle getAngleTo(NormalizedAngle const &a) const
Definition: NormalizedAngle.h:139
bool wraps() const
Definition: NormalizedAngleInterval.h:135
bool isNan() const
isNan returns true if the angle value is NaN.
Definition: NormalizedAngle.h:131
NormalizedAngleInterval()
This constructor creates an empty interval.
Definition: NormalizedAngleInterval.h:79
bool intersects(NormalizedAngle x) const
Definition: NormalizedAngleInterval.h:173
NormalizedAngleInterval(NormalizedAngle x, NormalizedAngle y)
This constructor creates an interval with the given endpoints.
Definition: NormalizedAngleInterval.h:99
NormalizedAngleInterval dilatedBy(Angle x) const
Definition: NormalizedAngleInterval.cc:232
Relationship relate(NormalizedAngle x) const
Definition: NormalizedAngleInterval.cc:88
Definition: NormalizedAngleInterval.h:57
This file provides a type alias for describing set relationships.
NormalizedAngleInterval & clipTo(NormalizedAngle x)
clipTo shrinks this interval until all its points are in x.
Definition: NormalizedAngleInterval.h:203
NormalizedAngle getA() const
getA returns the first endpoint of this interval.
Definition: NormalizedAngleInterval.h:119
bool operator==(NormalizedAngleInterval const &i) const
Two intervals are equal if they contain the same points.
Definition: NormalizedAngleInterval.h:103
NormalizedAngleInterval(Angle const &x)
Definition: NormalizedAngleInterval.h:84
NormalizedAngle getCenter() const
Definition: NormalizedAngleInterval.h:139
bool operator==(NormalizedAngle x) const
A closed interval is equal to a point x if both endpoints equal x.
Definition: NormalizedAngleInterval.h:112
NormalizedAngleInterval expandedTo(NormalizedAngle x) const
Definition: NormalizedAngleInterval.h:237
NormalizedAngle getSize() const
Definition: NormalizedAngleInterval.h:145
NormalizedAngleInterval(NormalizedAngle const &x)
This constructor creates a closed interval containing only x.
Definition: NormalizedAngleInterval.h:87
std::bitset< 3 > Relationship
Relationship describes how two sets are related.
Definition: Relationship.h:35
This file declares a class for representing normalized angles.