LSST Applications g1653933729+a8ce1bb630,g1a997c3884+a8ce1bb630,g1b393d1bc7+82476ad7c1,g28da252d5a+3d3e1c4204,g2bbee38e9b+97aa061eef,g2bc492864f+97aa061eef,g2cdde0e794+3ad5f2bb52,g2f1216ac18+8615c5b65f,g3156d2b45e+07302053f8,g347aa1857d+97aa061eef,g35bb328faa+a8ce1bb630,g3a166c0a6a+97aa061eef,g3e281a1b8c+693a468c5f,g4005a62e65+17cd334064,g414038480c+56e3b84a79,g41af890bb2+e5200c8fd9,g65afce507f+0106b0cffc,g80478fca09+e9b577042c,g82479be7b0+a273c6d073,g858d7b2824+b43ab392d2,g9125e01d80+a8ce1bb630,ga5288a1d22+3199fccd69,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gbb4f38f987+b43ab392d2,gc28159a63d+97aa061eef,gcd3f1c0c93+2e89b03209,gcf0d15dbbd+a0207f3e71,gd35896b8e2+3e8344a67c,gda3e153d99+b43ab392d2,gda6a2b7d83+a0207f3e71,gdaeeff99f8+1711a396fd,ge2409df99d+e6e587e663,ge33fd446bb+b43ab392d2,ge79ae78c31+97aa061eef,gf0baf85859+5daf287408,gf5289d68f6+c4f2338d90,gfda6b12a05+3bcad770a9,w.2024.42
LSST Data Management Base Package
|
A CRTP base class for coordinate objects. More...
#include <CoordinateBase.h>
Public Types | |
typedef T | Element |
typedef Eigen::Matrix< T, N, 1, Eigen::DontAlign > | EigenVector |
Public Member Functions | |
CoordinateBase (CoordinateBase const &other) noexcept(IS_ELEMENT_NOTHROW_COPYABLE) | |
CoordinateBase (CoordinateBase &&other) noexcept(IS_ELEMENT_NOTHROW_COPYABLE) | |
CoordinateBase & | operator= (CoordinateBase const &other) noexcept(IS_ELEMENT_NOTHROW_ASSIGNABLE) |
CoordinateBase & | operator= (CoordinateBase &&other) noexcept(IS_ELEMENT_NOTHROW_ASSIGNABLE) |
~CoordinateBase () noexcept=default | |
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. | |
Static Public Attributes | |
static int const | dimensions = N |
static bool constexpr | IS_ELEMENT_NOTHROW_COPYABLE = std::is_nothrow_copy_constructible<T>::value |
static bool constexpr | IS_ELEMENT_NOTHROW_ASSIGNABLE = std::is_nothrow_copy_assignable<T>::value |
Protected Member Functions | |
CoordinateBase (T val=static_cast< T >(0)) noexcept(IS_ELEMENT_NOTHROW_COPYABLE) | |
Initialize all elements to a scalar. | |
template<typename Vector > | |
CoordinateBase (Eigen::MatrixBase< Vector > const &vector) | |
Initialize all elements from an N-d Eigen vector. | |
void | _swap (CoordinateBase &other) noexcept |
Protected Attributes | |
EigenVector | _vector |
Related Symbols | |
(Note that these are not member symbols.) | |
template<typename Derived , typename T , int N> | |
bool | allclose (CoordinateBase< Derived, T, N > const &a, CoordinateBase< Derived, 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. | |
A CRTP base class for coordinate objects.
CoordinateBase has partial specializations for 2 and 3 dimensions so its subclasses don't have to.
Definition at line 54 of file CoordinateBase.h.
typedef Eigen::Matrix<T, N, 1, Eigen::DontAlign> lsst::geom::CoordinateBase< Derived, T, N >::EigenVector |
Definition at line 59 of file CoordinateBase.h.
typedef T lsst::geom::CoordinateBase< Derived, T, N >::Element |
Definition at line 57 of file CoordinateBase.h.
|
inlinenoexcept |
Definition at line 64 of file CoordinateBase.h.
|
inlinenoexcept |
Definition at line 66 of file CoordinateBase.h.
|
defaultnoexcept |
|
inlineexplicitprotectednoexcept |
|
inlineexplicitprotected |
Initialize all elements from an N-d Eigen vector.
A public constructor with the same signature is expected for subclasses.
Definition at line 106 of file CoordinateBase.h.
|
inlineprotectednoexcept |
Definition at line 108 of file CoordinateBase.h.
|
inlinenoexcept |
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.
|
inline |
Definition at line 80 of file CoordinateBase.h.
|
inline |
Definition at line 81 of file CoordinateBase.h.
|
inlinenoexcept |
Definition at line 72 of file CoordinateBase.h.
|
inlinenoexcept |
Definition at line 68 of file CoordinateBase.h.
|
inline |
Definition at line 78 of file CoordinateBase.h.
|
inline |
Definition at line 79 of file CoordinateBase.h.
|
related |
Floating-point comparison with tolerance.
Interface, naming, and default tolerances matches Numpy.
Definition at line 30 of file CoordinateBase.cc.
|
protected |
Definition at line 109 of file CoordinateBase.h.
|
static |
Definition at line 58 of file CoordinateBase.h.
|
staticconstexpr |
Definition at line 61 of file CoordinateBase.h.
|
staticconstexpr |
Definition at line 60 of file CoordinateBase.h.