Loading [MathJax]/extensions/tex2jax.js
LSSTApplications
20.0.0
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
i
k
m
p
r
s
t
v
w
Enumerations
Enumerator
e
f
h
i
l
m
n
o
p
r
s
t
v
x
y
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
i
k
l
m
p
s
t
v
w
Enumerator
a
b
c
d
e
f
g
i
j
l
m
n
o
p
r
s
t
u
v
w
x
y
Properties
Related Functions
a
b
c
d
e
f
i
k
m
o
p
s
t
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
d
l
p
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
Macros
_
a
b
c
d
f
i
k
l
m
n
p
r
s
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
stack
1a1d771
Linux64
sphgeom
20.0.0
include
lsst
sphgeom
python
interval.h
Go to the documentation of this file.
1
/*
2
* LSST Data Management System
3
* See COPYRIGHT file at the top of the source tree.
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_PYTHON_INTERVAL_H_
24
#define LSST_SPHGEOM_PYTHON_INTERVAL_H_
25
26
#include "pybind11/pybind11.h"
27
28
#include "
relationship.h
"
29
30
namespace
py
=
pybind11
;
31
using namespace
pybind11::literals;
32
33
namespace
lsst
{
34
namespace
sphgeom {
35
namespace
python {
36
namespace
{
37
43
template
<
typename
PyClass,
typename
Class,
typename
Scalar>
44
void
defineInterval(
PyClass
&
cls
) {
45
cls
.def(
"__eq__"
, [](Class
const
&
self
,
46
Class
const
&
other
) {
return
self
==
other
; },
47
py::is_operator());
48
cls
.def(
"__eq__"
,
49
[](Class
const
&
self
,
Scalar
other
) {
return
self
==
other
; },
50
py::is_operator());
51
cls
.def(
"__ne__"
, [](Class
const
&
self
,
52
Class
const
&
other
) {
return
self
!=
other
; },
53
py::is_operator());
54
cls
.def(
"__ne__"
,
55
[](Class
const
&
self
,
Scalar
other
) {
return
self
!=
other
; },
56
py::is_operator());
57
58
cls
.def(
"getA"
, [](Class
const
&
self
) {
return
self
.getA(); });
59
cls
.def(
"getB"
, [](Class
const
&
self
) {
return
self
.getB(); });
60
cls
.def(
"isEmpty"
, [](Class
const
&
self
) {
return
self
.isEmpty(); });
61
cls
.def(
"getCenter"
, [](Class
const
&
self
) {
return
self
.getCenter(); });
62
cls
.def(
"getSize"
, [](Class
const
&
self
) {
return
self
.getSize(); });
63
64
cls
.def(
"__contains__"
, [](Class
const
&
self
,
65
Scalar
other
) {
return
self
.contains(
other
); },
66
py::is_operator());
67
cls
.def(
"__contains__"
,
68
[](Class
const
&
self
, Class
const
&
other
) {
69
return
self
.contains(
other
);
70
},
71
py::is_operator());
72
73
cls
.def(
"contains"
, [](Class
const
&
self
,
Scalar
other
) {
74
return
self
.contains(
other
);
75
});
76
cls
.def(
"contains"
, [](Class
const
&
self
, Class
const
&
other
) {
77
return
self
.contains(
other
);
78
});
79
cls
.def(
"isDisjointFrom"
, [](Class
const
&
self
,
Scalar
other
) {
80
return
self
.isDisjointFrom(
other
);
81
});
82
cls
.def(
"isDisjointFrom"
, [](Class
const
&
self
, Class
const
&
other
) {
83
return
self
.isDisjointFrom(
other
);
84
});
85
cls
.def(
"intersects"
, [](Class
const
&
self
,
Scalar
other
) {
86
return
self
.intersects(
other
);
87
});
88
cls
.def(
"intersects"
, [](Class
const
&
self
, Class
const
&
other
) {
89
return
self
.intersects(
other
);
90
});
91
cls
.def(
"isWithin"
, [](Class
const
&
self
,
Scalar
other
) {
92
return
self
.isWithin(
other
);
93
});
94
cls
.def(
"isWithin"
, [](Class
const
&
self
, Class
const
&
other
) {
95
return
self
.isWithin(
other
);
96
});
97
cls
.def(
"relate"
, [](Class
const
&
self
,
Scalar
other
) {
98
return
self
.relate(
other
);
99
});
100
cls
.def(
"relate"
, [](Class
const
&
self
, Class
const
&
other
) {
101
return
self
.relate(
other
);
102
});
103
104
// Note that when a reference to *this is returned in C++, it will
105
// have an existing wrapper object which is automatically returned
106
// by pybind11 - no return value policy is needed. The explicit
107
// reference return type for the corresponding lambdas seems to be
108
// required to obtain this behavior.
109
110
cls
.def(
"clipTo"
, [](Class&
self
,
Scalar
other
) -> Class & {
111
self
.clipTo(
other
);
112
return
self
;
113
});
114
cls
.def(
"clipTo"
, [](Class&
self
, Class
const
&
other
) -> Class & {
115
self
.clipTo(
other
);
116
return
self
;
117
});
118
cls
.def(
"clippedTo"
, [](Class
const
&
self
,
Scalar
other
) {
119
Class instance =
self
.clippedTo(
other
);
120
return
instance;
121
});
122
cls
.def(
"clippedTo"
, [](Class
const
&
self
, Class
const
&
other
) {
123
Class instance =
self
.clippedTo(
other
);
124
return
instance;
125
});
126
cls
.def(
"expandTo"
, [](Class&
self
,
Scalar
other
) -> Class & {
127
self
.expandTo(
other
);
128
return
self
;
129
});
130
cls
.def(
"expandTo"
, [](Class&
self
, Class
const
&
other
) -> Class & {
131
self
.expandTo(
other
);
132
return
self
;
133
});
134
cls
.def(
"expandedTo"
, [](Class
const
&
self
,
Scalar
other
) {
135
Class instance =
self
.expandedTo(
other
);
136
return
instance;
137
});
138
cls
.def(
"expandedTo"
, [](Class
const
&
self
, Class
const
&
other
) {
139
Class instance =
self
.expandedTo(
other
);
140
return
instance;
141
});
142
143
cls
.def(
"dilateBy"
, [](Class&
self
,
Scalar
other
) -> Class & {
144
self
.dilateBy(
other
);
145
return
self
;
146
});
147
cls
.def(
"dilatedBy"
, [](Class
const
&
self
,
Scalar
other
) {
148
Class instance =
self
.dilatedBy(
other
);
149
return
instance;
150
});
151
cls
.def(
"erodeBy"
, [](Class&
self
,
Scalar
other
) -> Class & {
152
self
.erodeBy(
other
);
153
return
self
;
154
});
155
cls
.def(
"erodedBy"
, [](Class
const
&
self
,
Scalar
other
) {
156
Class instance =
self
.erodedBy(
other
);
157
return
instance;
158
});
159
160
cls
.def(
"__reduce__"
, [
cls
](Class
const
&
self
) {
161
return
py::make_tuple(
cls
, py::make_tuple(
self
.getA(),
self
.getB()));
162
});
163
}
164
165
}
// unnamed
166
}
// python
167
}
// sphgeom
168
}
// lsst
169
170
#endif // LSST_SPHGEOM_PYTHON_INTERVAL_H_
lsst::meas::modelfit::Scalar
double Scalar
Typedefs to be used for probability and parameter values.
Definition:
common.h:44
lsst::afw::geom.transform.transformContinued.cls
cls
Definition:
transformContinued.py:33
other
ItemVariant const * other
Definition:
Schema.cc:56
PyClass
py::class_< ProductBoundedField, std::shared_ptr< ProductBoundedField >, BoundedField > PyClass
Definition:
productBoundedField.cc:32
lsst
A base class for image defects.
Definition:
imageAlgorithm.dox:1
relationship.h
pybind11
Definition:
_GenericMap.cc:40
Generated on Wed Jun 24 2020 18:10:12 for LSSTApplications by
1.8.18