lsst.sphgeom
g04536d8304+b0138be388
Loading...
Searching...
No Matches
Interval1d.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_INTERVAL1D_H_
31
#define LSST_SPHGEOM_INTERVAL1D_H_
32
35
36
#include <iosfwd>
37
#include <limits>
38
39
#include "
Interval.h
"
40
41
42
namespace
lsst {
43
namespace
sphgeom
{
44
47
class
Interval1d :
public
Interval
<Interval1d, double> {
48
typedef
Interval<Interval1d, double>
Base;
49
public
:
50
51
static
Interval1d empty() {
52
return
Interval1d();
53
}
54
55
static
Interval1d full() {
56
return
Interval1d(-std::numeric_limits<double>::infinity(),
57
std::numeric_limits<double>::infinity());
58
}
59
60
// Delegation to base class constructors
61
Interval1d() : Base() {}
62
63
explicit
Interval1d(
double
x) : Base(x) {}
64
65
Interval1d(
double
x,
double
y) : Base(x, y) {}
66
67
Interval1d(Base
const
& base) : Base(base) {}
68
70
bool
isFull
()
const
{
71
return
getA
() == -std::numeric_limits<double>::infinity() &&
72
getB
() == std::numeric_limits<double>::infinity();
73
}
74
};
75
76
std::ostream & operator<<(std::ostream &, Interval1d
const
&);
77
78
}}
// namespace lsst::sphgeom
79
80
#endif
// LSST_SPHGEOM_INTERVAL1D_H_
Interval.h
This file defines a template representing closed real intervals.
lsst::sphgeom::Interval1d::isFull
bool isFull() const
isFull returns true if this interval = ℝ.
Definition
Interval1d.h:70
lsst::sphgeom::Interval< Interval1d, double >::Interval
Interval()
Definition
Interval.h:58
lsst::sphgeom::Interval< Interval1d, double >::getA
double getA() const
Definition
Interval.h:83
lsst::sphgeom::Interval< Interval1d, double >::getB
double getB() const
Definition
Interval.h:87
lsst::sphgeom
Definition
Angle.h:45
include
lsst
sphgeom
Interval1d.h
Generated by
1.13.2