|
| 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, N > const &other) noexcept(Super::IS_ELEMENT_NOTHROW_COPYABLE) |
| Explicit constructor from Point.
|
|
template<typename U > |
| Extent (Extent< U, N > const &other) noexcept(IS_NOTHROW_CONVERTIBLE< T, U >) |
| Explicit constructor from Extent of different type (if allowed)
|
|
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 + ...).
|
|
T | computeNorm () const |
| Return the L2 norm of the Extent (sqrt(x^2 + y^2 + ...)).
|
|
void | swap (Extent &other) noexcept |
|
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.
|
|
|
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.
|
|
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.
|
|
template<typename T, int N>
class lsst::geom::Extent< T, N >
A coordinate class intended to represent offsets and dimensions.
Much of the functionality of Extent is provided by its CRTP base class, ExtentBase.
See geomOps for mathematical operators on Extent.
Definition at line 210 of file Extent.h.