A coordinate class intended to represent offsets and dimensions (2-d specialization).
More...
|
| | 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, 2 > const &other) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
| | Explicit constructor from Point. More...
|
| |
| template<typename U > |
| | Extent (Extent< U, 2 > const &other) noexcept(IS_NOTHROW_CONVERTIBLE< T, U >) |
| | Explicit constructor from Extent of different type (if allowed) More...
|
| |
| template<typename U > |
| | Extent (Point< U, 2 > const &other) noexcept(IS_NOTHROW_CONVERTIBLE< T, U >) |
| |
| | Extent (T x, T y) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
| | Construct from two scalars. More...
|
| |
| | Extent (T const xy[2]) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
| | Construct from a two-element array. More...
|
| |
| | Extent (std::pair< T, T > const &xy) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
| | Construct from a std::pair. More...
|
| |
| | Extent (std::tuple< T, T > const &xy) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
| | Construct from std::tuple. More...
|
| |
| | 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 + ...). More...
|
| |
| T | computeNorm () const |
| | Return the L2 norm of the Extent (sqrt(x^2 + y^2 + ...)). More...
|
| |
| 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...
|
| |
| 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...
|
| |
|
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) |
| |
|
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) |
| |
|
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. More...
|
| |
| 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. More...
|
| |
| 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. More...
|
| |
| 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. 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 |
| | Cast this object to an Extent of the same numeric type and dimensionality. More...
|
| |
template<typename T>
class lsst::geom::Extent< T, 2 >
A coordinate class intended to represent offsets and dimensions (2-d specialization).
See geomOps for mathematical operators on Extent.
Definition at line 254 of file Extent.h.