lsst.sphgeom
gdcc65144bf+d801c9999e
Toggle main menu visibility
Loading...
Searching...
No Matches
Pixelization.h
Go to the documentation of this file.
1
/*
2
* This file is part of sphgeom.
3
*
4
* Developed for the LSST Data Management System.
5
* This product includes software developed by the LSST Project
6
* (http://www.lsst.org).
7
* See the COPYRIGHT file at the top-level directory of this distribution
8
* for details of code ownership.
9
*
10
* This software is dual licensed under the GNU General Public License and also
11
* under a 3-clause BSD license. Recipients may choose which of these licenses
12
* to use; please see the files gpl-3.0.txt and/or bsd_license.txt,
13
* respectively. If you choose the GPL option then the following text applies
14
* (but note that there is still no warranty even if you opt for BSD instead):
15
*
16
* This program is free software: you can redistribute it and/or modify
17
* it under the terms of the GNU General Public License as published by
18
* the Free Software Foundation, either version 3 of the License, or
19
* (at your option) any later version.
20
*
21
* This program is distributed in the hope that it will be useful,
22
* but WITHOUT ANY WARRANTY; without even the implied warranty of
23
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24
* GNU General Public License for more details.
25
*
26
* You should have received a copy of the GNU General Public License
27
* along with this program. If not, see <http://www.gnu.org/licenses/>.
28
*/
29
30
#ifndef LSST_SPHGEOM_PIXELIZATION_H_
31
#define LSST_SPHGEOM_PIXELIZATION_H_
32
35
36
#include <string>
37
38
#include "
RangeSet.h
"
39
40
41
namespace
lsst {
42
namespace
sphgeom
{
43
44
class
Region
;
45
class
UnitVector3d
;
46
47
84
class
Pixelization
{
85
public
:
86
virtual
~Pixelization
() {}
87
89
virtual
RangeSet
universe
()
const
= 0;
90
101
virtual
std::unique_ptr<Region>
pixel
(std::uint64_t i)
const
= 0;
102
104
virtual
std::uint64_t
index
(
UnitVector3d
const
& v)
const
= 0;
105
107
virtual
std::string
toString
(std::uint64_t i)
const
= 0;
108
138
RangeSet
envelope
(
Region
const
& r,
size_t
maxRanges = 0)
const
{
139
return
_envelope(r, maxRanges);
140
}
141
150
RangeSet
interior
(
Region
const
& r,
size_t
maxRanges = 0)
const
{
151
return
_interior(r, maxRanges);
152
}
153
154
private
:
155
virtual
RangeSet
_envelope(
Region
const
& r,
size_t
maxRanges)
const
= 0;
156
virtual
RangeSet
_interior(
Region
const
& r,
size_t
maxRanges)
const
= 0;
157
};
158
159
}}
// namespace lsst::sphgeom
160
161
#endif
// LSST_SPHGEOM_PIXELIZATION_H_
RangeSet.h
This file provides a type for representing integer sets.
lsst::sphgeom::Pixelization
Definition
Pixelization.h:84
lsst::sphgeom::Pixelization::index
virtual std::uint64_t index(UnitVector3d const &v) const =0
index computes the index of the pixel for v.
lsst::sphgeom::Pixelization::universe
virtual RangeSet universe() const =0
universe returns the set of all pixel indexes for this pixelization.
lsst::sphgeom::Pixelization::interior
RangeSet interior(Region const &r, size_t maxRanges=0) const
Definition
Pixelization.h:150
lsst::sphgeom::Pixelization::pixel
virtual std::unique_ptr< Region > pixel(std::uint64_t i) const =0
lsst::sphgeom::Pixelization::toString
virtual std::string toString(std::uint64_t i) const =0
toString converts the given pixel index to a human-readable string.
lsst::sphgeom::Pixelization::envelope
RangeSet envelope(Region const &r, size_t maxRanges=0) const
Definition
Pixelization.h:138
lsst::sphgeom::RangeSet
Definition
RangeSet.h:106
lsst::sphgeom::Region
Definition
Region.h:105
lsst::sphgeom::UnitVector3d
Definition
UnitVector3d.h:62
lsst::sphgeom
Definition
Angle.h:45
include
lsst
sphgeom
Pixelization.h
Generated by
1.17.0