23 #ifndef LSST_SPHGEOM_Q3CPIXELIZATION_H_ 24 #define LSST_SPHGEOM_Q3CPIXELIZATION_H_ 78 return RangeSet(0, static_cast<uint64_t>(6) << 2 * _level);
100 RangeSet _envelope(
Region const & r,
size_t maxRanges)
const override;
101 RangeSet _interior(
Region const & r,
size_t maxRanges)
const override;
106 #endif // LSST_SPHGEOM_Q3CPIXELIZATION_H_ Q3cPixelization(int level)
This constructor creates a Q3C pixelization of the sphere with the given subdivision level...
uint64_t index(UnitVector3d const &v) const override
index computes the index of the pixel for v.
std::string toString(uint64_t i) const override
toString converts the given Q3C index to a human readable string.
RangeSet universe() const override
universe returns the set of all pixel indexes for this pixelization.
std::vector< uint64_t > neighborhood(uint64_t i) const
neighborhood returns the indexes of all pixels that share a vertex with pixel i (including i itself)...
ConvexPolygon quad(uint64_t i) const
quad returns the quadrilateral corresponding to the Q3C pixel with index i.
A base class for image defects.
Region is a minimal interface for 2-dimensional regions on the unit sphere.
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.
Q3cPixelization provides Q3C indexing of points and regions.
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.
std::unique_ptr< Region > pixel(uint64_t i) const override
pixel returns the spherical region corresponding to the pixel with index i.
This file declares a class for representing convex polygons with great circle edges on the unit spher...
int getLevel() const
getLevel returns the subdivision level of this pixelization.