LSST Applications g0dd1f4853b+10f999ec6a,g1635faa6d4+87195dc7a7,g1653933729+a8ce1bb630,g28da252d5a+52e63b167c,g2bbee38e9b+de1ea1445d,g2bc492864f+de1ea1445d,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+de1ea1445d,g35bb328faa+a8ce1bb630,g3a166c0a6a+de1ea1445d,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+91913bf47e,g531c6476d5+76a064336f,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g7ab3e175f3+c50d54ced3,g80478fca09+fa8a736ab7,g82479be7b0+8047a7f847,g858d7b2824+76a064336f,g9125e01d80+a8ce1bb630,ga5288a1d22+c4b4c41fa2,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gb9c6c11c1e+e06cc5572d,gc28159a63d+de1ea1445d,gcf0d15dbbd+b5ff149290,gd3624f51fd+4798c71331,gda3e153d99+76a064336f,gda6a2b7d83+b5ff149290,gdaeeff99f8+1711a396fd,ge2409df99d+1433a6c73d,ge33fd446bb+76a064336f,ge79ae78c31+de1ea1445d,gee3d5c6094+118f03e3d0,gf0baf85859+147a0692ba,gf3967379c6+02b11634a5,w.2024.45
LSST Data Management Base Package
|
A coordinate class intended to represent offsets and dimensions (3-d specialization). More...
#include <Extent.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. | |
Extent (EigenVector const &vector) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Construct an Extent from an Eigen vector. | |
Extent (Point< T, 3 > const &other) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Explicit constructor from Point. | |
template<typename U > | |
Extent (Extent< U, 3 > const &other) noexcept(IS_NOTHROW_CONVERTIBLE< T, U >) | |
Explicit constructor from Extent of different type (if allowed) | |
template<typename U > | |
Extent (Point< U, 3 > const &other) noexcept(IS_NOTHROW_CONVERTIBLE< T, U >) | |
Extent (T x, T y, T z) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Construct from three scalars. | |
Extent (T const xyz[3]) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Construct from a three-element array. | |
Extent (std::tuple< T, T, T > const &xyz) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) | |
Construct from std::tuple. | |
Extent (Extent const &other)=default | |
Extent (Extent &&other)=default | |
~Extent ()=default | |
Extent & | operator= (Extent const &other)=default |
Extent & | operator= (Extent &&other)=default |
void | swap (Extent &other) noexcept |
T | computeSquaredNorm () const |
Return the squared L2 norm of the Extent (x^2 + y^2 + ...). | |
T | computeNorm () const |
Return the L2 norm of the Extent (sqrt(x^2 + y^2 + ...)). | |
bool | operator== (Extent< T, N > const &other) const noexcept |
Standard equality comparison. | |
bool | operator!= (Extent< T, N > const &other) const noexcept |
Standard inequality comparison. | |
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. | |
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) |
Cast this object to an Extent of the same numeric type and dimensionality. | |
Extent< T, N > & | operator*= (T scalar) noexcept(Super::IS_ELEMENT_NOTHROW_ASSIGNABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. | |
Extent< T, N > | operator/ (T scalar) const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. | |
Extent< T, N > & | operator/= (T scalar) noexcept(Super::IS_ELEMENT_NOTHROW_ASSIGNABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. | |
Point< T, N > | asPoint () const noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
Cast this object to an Extent of the same numeric type and dimensionality. | |
std::string | toString () const |
Cast this object to an Extent of the same numeric type and dimensionality. | |
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 Symbols | |
(Note that these are not member symbols.) | |
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. | |
A coordinate class intended to represent offsets and dimensions (3-d specialization).
See geomOps for mathematical operators on Extent.
typedef Super::EigenVector lsst::geom::Extent< T, 3 >::EigenVector |
|
inherited |
Definition at line 57 of file CoordinateBase.h.
|
inlineexplicitnoexcept |
|
inlineexplicitnoexcept |
|
explicitnoexcept |
Explicit constructor from Point.
|
explicitnoexcept |
|
explicitnoexcept |
|
inlineexplicitnoexcept |
|
inlineexplicitnoexcept |
Construct from a three-element array.
Definition at line 333 of file Extent.h.
|
inlineexplicitnoexcept |
Construct from std::tuple.
Definition at line 337 of file Extent.h.
|
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.
|
inlineinherited |
|
inlineinherited |
|
noexceptinherited |
|
inlinenoexceptinherited |
|
noexceptinherited |
|
inlinenoexceptinherited |
|
noexceptinherited |
|
inlinenoexceptinherited |
|
noexceptinherited |
|
inlinenoexceptinherited |
|
noexceptinherited |
|
inlinenoexceptinherited |
|
noexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
noexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
default |
|
default |
|
inlinenoexceptinherited |
|
inlineinherited |
Definition at line 78 of file CoordinateBase.h.
|
inlineinherited |
Definition at line 79 of file CoordinateBase.h.
|
inlinenoexcept |
Definition at line 348 of file Extent.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.