LSST Applications g063fba187b+66a50001ff,g0f08755f38+1a22dc2551,g1653933729+a8ce1bb630,g168dd56ebc+a8ce1bb630,g217e2c1bcf+12e87a5bd8,g246886dfd9+466c7b6c06,g28da252d5a+858b171e04,g2bbee38e9b+404b60ec9b,g2bc492864f+404b60ec9b,g3156d2b45e+6e55a43351,g347aa1857d+404b60ec9b,g35bb328faa+a8ce1bb630,g3a166c0a6a+404b60ec9b,g3e281a1b8c+c5dd892a6c,g414038480c+6b9177ef31,g41af890bb2+70bea58702,g599934f4f4+b8c5400ca5,g781aacb6e4+a8ce1bb630,g7af13505b9+b5b9cefdb8,g80478fca09+c2997882f3,g82479be7b0+8974e6af0f,g858d7b2824+1a22dc2551,g89c8672015+f4add4ffd5,g8f1c07a47a+de51c9b0a5,g9125e01d80+a8ce1bb630,ga5288a1d22+b66f8cf76b,gb58c049af0+d64f4d3760,gc28159a63d+404b60ec9b,gcab2d0539d+66cf1de5d4,gcf0d15dbbd+12cb7e2563,gda6a2b7d83+12cb7e2563,gdaeeff99f8+1711a396fd,ge79ae78c31+404b60ec9b,gef2f8181fd+414189b318,gf0baf85859+c1f95f4921,gf0c06eb49c+1a22dc2551,gfa517265be+1a22dc2551,gfa999e8aa5+17cd334064,v28.0.0.rc2
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.