LSST Applications
21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
|
A coordinate class intended to represent absolute positions. More...
#include <Point.h>
Public Types | |
typedef Super::EigenVector | EigenVector |
typedef T | Element |
Public Member Functions | |
Point (T val=static_cast< T >(0)) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Construct a Point with all elements set to the same scalar value. More... | |
Point (Point const &)=default | |
Point (Point &&)=default | |
~Point ()=default | |
Point & | operator= (Point const &)=default |
Point & | operator= (Point &&)=default |
template<typename U > | |
Point (Point< U, N > const &other) noexcept(IS_NOTHROW_CONVERTIBLE< T, U >) | |
Explicit converting constructor. More... | |
Point (EigenVector const &vector) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Construct a Point from an Eigen vector. More... | |
Point (Extent< T, N > const &other) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Explicit constructor from Extent. More... | |
void | swap (Point &other) noexcept |
bool | operator== (Point< T, N > const &other) const noexcept |
Standard equality comparison. More... | |
bool | operator!= (Point< T, N > const &other) const noexcept |
Standard inequality comparison. More... | |
T & | operator[] (int n) |
T const & | operator[] (int n) const |
T & | coeffRef (int n) |
T const & | coeffRef (int n) const |
EigenVector const & | asEigen () const noexcept(IS_ELEMENT_NOTHROW_COPYABLE) |
Return a fixed-size Eigen representation of the coordinate object. More... | |
Named vectorized comparison functions | |
Note that these return CoordinateExpr, not bool. Unlike most arithmetic and assignment operators, scalar interoperability is provided for comparisons; expressions like if (all(point.gt(0))) ... are both ubiquitous and easy to interpret. | |
CoordinateExpr< N > | eq (Point< T, N > const &other) const noexcept |
CoordinateExpr< N > | eq (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
CoordinateExpr< N > | ne (Point< T, N > const &other) const noexcept |
CoordinateExpr< N > | ne (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
CoordinateExpr< N > | lt (Point< T, N > const &other) const noexcept |
CoordinateExpr< N > | lt (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
CoordinateExpr< N > | le (Point< T, N > const &other) const noexcept |
CoordinateExpr< N > | le (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
CoordinateExpr< N > | gt (Point< T, N > const &other) const noexcept |
CoordinateExpr< N > | gt (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
CoordinateExpr< N > | ge (Point< T, N > const &other) const noexcept |
CoordinateExpr< N > | ge (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Arithmetic operators | |
No scalar interoperability is provided for Point arithmetic operations. | |
Extent< T, N > | operator- (Point< T, N > const &other) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. More... | |
Point< T, N > | operator- (Extent< T, N > const &other) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. More... | |
Point< T, N > | operator+ (Extent< T, N > const &other) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. More... | |
Point< T, N > & | operator+= (Extent< T, N > const &other) noexcept(Super::IS_ELEMENT_NOTHROW_ASSIGNABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. More... | |
Point< T, N > & | operator-= (Extent< T, N > const &other) noexcept(Super::IS_ELEMENT_NOTHROW_ASSIGNABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. More... | |
Extent< T, N > | asExtent () const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. More... | |
void | shift (Extent< T, N > const &offset) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Shift the point by the given offset. More... | |
void | scale (double factor) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. More... | |
double | distanceSquared (PointBase< T, N > const &other) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. More... | |
std::string | toString () const |
Cast this object to an Extent of the same numeric type and dimensionality. More... | |
Static Public Attributes | |
static int const | dimensions |
static constexpr bool | IS_ELEMENT_NOTHROW_COPYABLE |
static constexpr bool | IS_ELEMENT_NOTHROW_ASSIGNABLE |
Protected Member Functions | |
void | _swap (CoordinateBase &other) noexcept |
Protected Attributes | |
EigenVector | _vector |
Related Functions | |
(Note that these are not member functions.) | |
bool | allclose (CoordinateBase< Point< T, N >, T, N > const &a, CoordinateBase< Point< T, N >, T, N > const &b, T rtol=static_cast< T >(1E-5), T atol=static_cast< T >(1E-8)) noexcept(std::is_nothrow_copy_constructible< T >::value &&std::is_nothrow_copy_assignable< T >::value) |
Floating-point comparison with tolerance. More... | |
A coordinate class intended to represent absolute positions.
See geomOps for mathematical operators on Point.
typedef Super::EigenVector lsst::geom::Point< T, N >::EigenVector |
|
inherited |
Definition at line 57 of file CoordinateBase.h.
|
inlineexplicitnoexcept |
|
default |
|
default |
|
default |
|
explicitnoexcept |
Explicit converting constructor.
Converting from floating point to integer rounds to the nearest integer instead of truncating. This ensures that a floating-point pixel coordinate converts to the coordinate of the pixel it lies on (assuming the floating point origin is the center of the first pixel).
Definition at line 53 of file Point.cc.
|
inlineexplicitnoexcept |
|
inlineexplicitnoexcept |
|
inlineprotectednoexceptinherited |
Definition at line 108 of file CoordinateBase.h.
|
inlinenoexceptinherited |
Return a fixed-size Eigen representation of the coordinate object.
The fact that this returns by const reference rather than by value should not be considered part of the API; this is merely an optimization enabled by the implementation.
Definition at line 89 of file CoordinateBase.h.
|
inlinenoexceptinherited |
|
inlineinherited |
Definition at line 80 of file CoordinateBase.h.
|
inlineinherited |
Definition at line 81 of file CoordinateBase.h.
|
inlinenoexceptinherited |
Cast this object to an Extent of the same numeric type and dimensionality.
Definition at line 138 of file Point.h.
|
noexceptinherited |
|
inlinenoexceptinherited |
Definition at line 81 of file Point.h.
|
noexceptinherited |
|
inlinenoexceptinherited |
Definition at line 96 of file Point.h.
|
noexceptinherited |
|
inlinenoexceptinherited |
Definition at line 93 of file Point.h.
|
noexceptinherited |
|
inlinenoexceptinherited |
Definition at line 90 of file Point.h.
|
noexceptinherited |
|
inlinenoexceptinherited |
Definition at line 87 of file Point.h.
|
noexceptinherited |
|
inlinenoexceptinherited |
Definition at line 84 of file Point.h.
|
inlinenoexceptinherited |
Standard inequality comparison.
Returns true iff any(this->ne(other));
Definition at line 60 of file Point.h.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
default |
|
default |
|
inlinenoexceptinherited |
Standard equality comparison.
Returns true iff all(this->eq(other));
Definition at line 53 of file Point.h.
|
inlineinherited |
Definition at line 78 of file CoordinateBase.h.
|
inlineinherited |
Definition at line 79 of file CoordinateBase.h.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexcept |
Definition at line 202 of file Point.h.
|
inlineinherited |
|
related |
Floating-point comparison with tolerance.
Interface, naming, and default tolerances matches Numpy.
Definition at line 120 of file CoordinateBase.cc.
|
protectedinherited |
Definition at line 109 of file CoordinateBase.h.
|
staticinherited |
Definition at line 58 of file CoordinateBase.h.
|
staticconstexprinherited |
Definition at line 61 of file CoordinateBase.h.
|
staticconstexprinherited |
Definition at line 60 of file CoordinateBase.h.