LSSTApplications
17.0+124,17.0+14,17.0+73,18.0.0+37,18.0.0+80,18.0.0-4-g68ffd23+4,18.1.0-1-g0001055+12,18.1.0-1-g03d53ef+5,18.1.0-1-g1349e88+55,18.1.0-1-g2505f39+44,18.1.0-1-g5315e5e+4,18.1.0-1-g5e4b7ea+14,18.1.0-1-g7e8fceb+4,18.1.0-1-g85f8cd4+48,18.1.0-1-g8ff0b9f+4,18.1.0-1-ga2c679d+1,18.1.0-1-gd55f500+35,18.1.0-10-gb58edde+2,18.1.0-11-g0997b02+4,18.1.0-13-gfe4edf0b+12,18.1.0-14-g259bd21+21,18.1.0-19-gdb69f3f+2,18.1.0-2-g5f9922c+24,18.1.0-2-gd3b74e5+11,18.1.0-2-gfbf3545+32,18.1.0-26-g728bddb4+5,18.1.0-27-g6ff7ca9+2,18.1.0-3-g52aa583+25,18.1.0-3-g8ea57af+9,18.1.0-3-gb69f684+42,18.1.0-3-gfcaddf3+6,18.1.0-32-gd8786685a,18.1.0-4-gf3f9b77+6,18.1.0-5-g1dd662b+2,18.1.0-5-g6dbcb01+41,18.1.0-6-gae77429+3,18.1.0-7-g9d75d83+9,18.1.0-7-gae09a6d+30,18.1.0-9-gc381ef5+4,w.2019.45
LSSTDataManagementBasePackage
|
A coordinate class intended to represent offsets and dimensions. More...
#include <CoordinateBase.h>
Public Types | |
typedef Super::EigenVector | EigenVector |
typedef T | Element |
Public Member Functions | |
Extent (T val=static_cast< T >(0)) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Construct an Extent with all elements set to the same scalar value. More... | |
Extent (EigenVector const &vector) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Construct an Extent from an Eigen vector. More... | |
Extent (Point< T, N > const &other) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Explicit constructor from Point. More... | |
template<typename U > | |
Extent (Extent< U, N > const &other) noexcept(IS_NOTHROW_CONVERTIBLE< T, U >) | |
Explicit constructor from Extent of different type (if allowed) More... | |
template<typename U > | |
Extent (Point< U, N > const &other) noexcept(IS_NOTHROW_CONVERTIBLE< T, U >) | |
Extent (Extent const &other)=default | |
Extent (Extent &&other)=default | |
~Extent ()=default | |
Extent & | operator= (Extent const &other)=default |
Extent & | operator= (Extent &&other)=default |
T | computeSquaredNorm () const |
Return the squared L2 norm of the Extent (x^2 + y^2 + ...). More... | |
T | computeNorm () const |
Return the L2 norm of the Extent (sqrt(x^2 + y^2 + ...)). More... | |
void | swap (Extent &other) noexcept |
bool | operator== (Extent< T, N > const &other) const noexcept |
Standard equality comparison. More... | |
bool | operator!= (Extent< T, N > const &other) const noexcept |
Standard inequality comparison. More... | |
Point< T, N > | asPoint () 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 |
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 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(extent.gt(0))) ... are both ubiquitous and easy to interpret. | |
CoordinateExpr< N > | eq (Extent< T, N > const &other) const noexcept |
CoordinateExpr< N > | eq (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
CoordinateExpr< N > | ne (Extent< T, N > const &other) const noexcept |
CoordinateExpr< N > | ne (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
CoordinateExpr< N > | lt (Extent< T, N > const &other) const noexcept |
CoordinateExpr< N > | lt (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
CoordinateExpr< N > | le (Extent< T, N > const &other) const noexcept |
CoordinateExpr< N > | le (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
CoordinateExpr< N > | gt (Extent< T, N > const &other) const noexcept |
CoordinateExpr< N > | gt (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
CoordinateExpr< N > | ge (Extent< T, N > const &other) const noexcept |
CoordinateExpr< N > | ge (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Additive arithmetic operators | |
No scalar interoperability is provided for Extent additive arithmetic operations. | |
Point< T, N > | operator+ (Point< T, N > const &other) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Extent< T, N > | operator+ (Extent< T, N > const &other) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Extent< T, N > | operator+ () const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Extent< T, N > | operator- (Extent< T, N > const &other) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Extent< T, N > | operator- () const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Extent< T, N > & | operator+= (Extent< T, N > const &other) noexcept(Super::IS_ELEMENT_NOTHROW_ASSIGNABLE) |
Extent< T, N > & | operator-= (Extent< T, N > const &other) noexcept(Super::IS_ELEMENT_NOTHROW_ASSIGNABLE) |
Multiplicative arithmetic operators | |
As usual with matrices and vectors, Extent can be multiplied or divided by a scalar. | |
Extent< T, N > | operator* (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Extent< T, N > & | operator*= (T scalar) noexcept(Super::IS_ELEMENT_NOTHROW_ASSIGNABLE) |
Extent< T, N > | operator/ (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Extent< T, N > & | operator/= (T scalar) noexcept(Super::IS_ELEMENT_NOTHROW_ASSIGNABLE) |
Static Public Attributes | |
static int const | dimensions |
static bool constexpr | IS_ELEMENT_NOTHROW_COPYABLE |
static bool constexpr | 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< Extent< T, N >, T, N > const &a, CoordinateBase< Extent< 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 offsets and dimensions.
Much of the functionality of Extent is provided by its CRTP base class, ExtentBase.
See Operators on Point and Extent for mathematical operators on Extent.
Definition at line 41 of file CoordinateBase.h.
typedef Super::EigenVector lsst::geom::Extent< T, N >::EigenVector |
|
inherited |
Definition at line 56 of file CoordinateBase.h.
|
inlineexplicitnoexcept |
|
inlineexplicitnoexcept |
|
explicitnoexcept |
|
explicitnoexcept |
Explicit constructor from Extent of different type (if allowed)
|
explicitnoexcept |
|
default |
|
default |
|
default |
|
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.
|
noexceptinherited |
|
inlineinherited |
Definition at line 80 of file CoordinateBase.h.
|
inlineinherited |
Definition at line 81 of file CoordinateBase.h.
|
inline |
Return the L2 norm of the Extent (sqrt(x^2 + y^2 + ...)).
Definition at line 243 of file Extent.h.
|
inline |
Return the squared L2 norm of the Extent (x^2 + y^2 + ...).
Definition at line 240 of file Extent.h.
|
noexceptinherited |
Definition at line 47 of file Extent.cc.
|
inlinenoexceptinherited |
Definition at line 105 of file Extent.h.
|
noexceptinherited |
Definition at line 82 of file Extent.cc.
|
inlinenoexceptinherited |
Definition at line 120 of file Extent.h.
|
noexceptinherited |
Definition at line 75 of file Extent.cc.
|
inlinenoexceptinherited |
Definition at line 117 of file Extent.h.
|
noexceptinherited |
Definition at line 68 of file Extent.cc.
|
inlinenoexceptinherited |
Definition at line 114 of file Extent.h.
|
noexceptinherited |
Definition at line 61 of file Extent.cc.
|
inlinenoexceptinherited |
Definition at line 111 of file Extent.h.
|
noexceptinherited |
Definition at line 54 of file Extent.cc.
|
inlinenoexceptinherited |
Definition at line 108 of file Extent.h.
|
inlinenoexceptinherited |
Standard inequality comparison.
Returns true iff any(this->ne(other));
Definition at line 84 of file Extent.h.
|
inlinenoexceptinherited |
Definition at line 160 of file Extent.h.
|
inlinenoexceptinherited |
Definition at line 163 of file Extent.h.
|
noexceptinherited |
Definition at line 94 of file Extent.cc.
|
inlinenoexceptinherited |
Definition at line 132 of file Extent.h.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
Definition at line 138 of file Extent.h.
|
inlinenoexceptinherited |
Definition at line 135 of file Extent.h.
|
inlinenoexceptinherited |
Definition at line 149 of file Extent.h.
|
inlinenoexceptinherited |
Definition at line 142 of file Extent.h.
|
inlinenoexceptinherited |
Definition at line 167 of file Extent.h.
|
inlinenoexceptinherited |
Definition at line 170 of file Extent.h.
|
default |
|
default |
|
inlinenoexceptinherited |
Standard equality comparison.
Returns true iff all(this->eq(other));
Definition at line 77 of file Extent.h.
|
inlineinherited |
Definition at line 78 of file CoordinateBase.h.
|
inlineinherited |
Definition at line 79 of file CoordinateBase.h.
|
inlinenoexcept |
Definition at line 245 of file Extent.h.
|
inlineinherited |
|
related |
Floating-point comparison with tolerance.
Interface, naming, and default tolerances matches Numpy.
Definition at line 30 of file CoordinateBase.cc.
|
protectedinherited |
Definition at line 109 of file CoordinateBase.h.
|
staticinherited |
Definition at line 58 of file CoordinateBase.h.
|
staticinherited |
Definition at line 61 of file CoordinateBase.h.
|
staticinherited |
Definition at line 60 of file CoordinateBase.h.