23 #ifndef LSST_SPHGEOM_MQ3CPIXELIZATION_H_ 24 #define LSST_SPHGEOM_MQ3CPIXELIZATION_H_ 58 static int level(uint64_t i);
99 return RangeSet(static_cast<uint64_t>(10) << 2 * _level,
100 static_cast<uint64_t>(16) << 2 * _level);
112 RangeSet _envelope(
Region const & r,
size_t maxRanges)
const override;
113 RangeSet _interior(
Region const & r,
size_t maxRanges)
const override;
118 #endif // LSST_SPHGEOM_MQ3CPIXELIZATION_H_ uint64_t index(UnitVector3d const &v) const override
index computes the index of the pixel for v.
static int level(uint64_t i)
level returns the subdivision level of the given modified Q3C index.
A base class for image defects.
static std::string asString(uint64_t i)
toString converts the given modified-Q3C index to a human readable string.
Region is a minimal interface for 2-dimensional regions on the unit sphere.
static ConvexPolygon quad(uint64_t i)
quad returns the quadrilateral corresponding to the modified Q3C pixel with index i...
RangeSet universe() const override
universe returns the set of all pixel indexes for this pixelization.
static std::vector< uint64_t > neighborhood(uint64_t i)
neighborhood returns the indexes of all pixels that share a vertex with pixel i (including i itself)...
A Pixelization (or partitioning) of the sphere is a mapping between points on the sphere and a set of...
ConvexPolygon is a closed convex polygon on the unit sphere.
std::string toString(uint64_t i) const override
toString converts the given pixel index to a human-readable string.
Mq3cPixelization(int level)
This constructor creates a modified Q3C pixelization of the sphere with the given subdivision level...
A RangeSet is a set of unsigned 64 bit integers.
UnitVector3d is a unit vector in ℝ³ with components stored in double precision.
This file defines an interface for pixelizations of the sphere.
static constexpr int MAX_LEVEL
The maximum supported cube-face grid resolution is 2^30 by 2^30.
int getLevel() const
getLevel returns the subdivision level of this pixelization.
This file declares a class for representing convex polygons with great circle edges on the unit spher...
Mq3cPixelization provides modified Q3C indexing of points and regions.
std::unique_ptr< Region > pixel(uint64_t i) const override
pixel returns the spherical region corresponding to the pixel with index i.