LSSTApplications
20.0.0
LSSTDataManagementBasePackage
stack
1a1d771
Linux64
sphgeom
20.0.0
include
lsst
sphgeom
Relationship.h
Go to the documentation of this file.
1
/*
2
* LSST Data Management System
3
* Copyright 2014-2016 AURA/LSST.
4
*
5
* This product includes software developed by the
6
* LSST Project (http://www.lsst.org/).
7
*
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the LSST License Statement and
19
* the GNU General Public License along with this program. If not,
20
* see <https://www.lsstcorp.org/LegalNotices/>.
21
*/
22
23
#ifndef LSST_SPHGEOM_RELATIONSHIP_H_
24
#define LSST_SPHGEOM_RELATIONSHIP_H_
25
26
#include <bitset>
27
30
31
namespace
lsst
{
32
namespace
sphgeom {
33
35
using
Relationship
=
std::bitset<3>
;
36
38
static
constexpr
Relationship
DISJOINT(1);
39
44
static
constexpr
Relationship
INTERSECTS(0);
45
47
static
constexpr
Relationship
CONTAINS(2);
48
50
static
constexpr
Relationship
WITHIN(4);
51
55
inline
Relationship
invert
(
Relationship
r) {
56
// If A is disjoint from B, then B is disjoint from A. But if A contains B
57
// then B is within A, so the corresponding bits must be swapped.
58
return
(r & DISJOINT) | ((r & CONTAINS) << 1) | ((r & WITHIN) >> 1);
59
}
60
61
}}
// namespace lsst::sphgeom
62
63
#endif // LSST_SPHGEOM_RELATIONSHIP_H_
std::bitset
STL class.
lsst
A base class for image defects.
Definition:
imageAlgorithm.dox:1
lsst::sphgeom::invert
Relationship invert(Relationship r)
Given the relationship between two sets A and B (i.e.
Definition:
Relationship.h:55
Generated on Wed Jun 24 2020 18:10:12 for LSSTApplications by
1.8.18