LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Private Types | List of all members
lsst::afw::geom::Extent< T, N > Class Template Reference

A coordinate class intended to represent offsets and dimensions. More...

#include <CoordinateBase.h>

Inheritance diagram for lsst::afw::geom::Extent< T, N >:
lsst::afw::geom::ExtentBase< T, N > lsst::afw::geom::CoordinateBase< Extent< T, N >, T, N >

Public Types

typedef Super::EigenVector EigenVector
 
- Public Types inherited from lsst::afw::geom::CoordinateBase< Extent< T, N >, T, N >
typedef T Element
 
typedef Eigen::Matrix< T, N,
1, Eigen::DontAlign > 
EigenVector
 

Public Member Functions

 Extent (T val=static_cast< T >(0))
 Construct an Extent with all elements set to the same scalar value. More...
 
 Extent (EigenVector const &vector)
 Construct an Extent from an Eigen vector. More...
 
 Extent (Point< T, N > const &other)
 Explicit constructor from Point. More...
 
template<typename U >
 Extent (Extent< U, N > const &other)
 Explicit constructor from Extent of different type (if allowed) More...
 
template<typename U >
 Extent (Point< U, N > const &other)
 
computeSquaredNorm () const
 Return the squared L2 norm of the Extent (x^2 + y^2 + ...). More...
 
computeNorm () const
 Return the L2 norm of the Extent (sqrt(x^2 + y^2 + ...)). More...
 
void swap (Extent &other)
 
- Public Member Functions inherited from lsst::afw::geom::ExtentBase< T, N >
computeSquaredNorm () const
 Return the squared L2 norm of the Extent (x^2 + y^2 + ...). More...
 
computeNorm () const
 Return the L2 norm of the Extent (sqrt(x^2 + y^2 + ...)). More...
 
bool operator== (Extent< T, N > const &other) const
 Standard equality comparison. More...
 
bool operator!= (Extent< T, N > const &other) const
 Standard inequality comparison. More...
 
Point< T, N > asPoint () const
 Cast this object to an Extent of the same numeric type and dimensionality. More...
 
std::string toString () const
 
CoordinateExpr< N > eq (Extent< T, N > const &other) const
 
CoordinateExpr< N > ne (Extent< T, N > const &other) const
 
CoordinateExpr< N > lt (Extent< T, N > const &other) const
 
CoordinateExpr< N > le (Extent< T, N > const &other) const
 
CoordinateExpr< N > gt (Extent< T, N > const &other) const
 
CoordinateExpr< N > ge (Extent< T, N > const &other) const
 
CoordinateExpr< N > eq (T scalar) const
 
CoordinateExpr< N > ne (T scalar) const
 
CoordinateExpr< N > lt (T scalar) const
 
CoordinateExpr< N > le (T scalar) const
 
CoordinateExpr< N > gt (T scalar) const
 
CoordinateExpr< N > ge (T scalar) const
 
Point< T, N > operator+ (Point< T, N > const &other) const
 
Extent< T, N > operator+ (Extent< T, N > const &other) const
 
Extent< T, N > operator- (Extent< T, N > const &other) const
 
Extent< T, N > & operator+= (Extent< T, N > const &other)
 
Extent< T, N > & operator-= (Extent< T, N > const &other)
 
Extent< T, N > operator+ () const
 
Extent< T, N > operator- () const
 
Extent< T, N > operator* (T scalar) const
 
Extent< T, N > & operator*= (T scalar)
 
Extent< T, N > operator/ (T scalar) const
 
Extent< T, N > & operator/= (T scalar)
 
- Public Member Functions inherited from lsst::afw::geom::CoordinateBase< Extent< T, N >, T, N >
T & operator[] (int n)
 
T const & operator[] (int n) const
 
T & coeffRef (int n)
 
T const & coeffRef (int n) const
 
EigenVector const & asEigen () const
 Return a fixed-size Eigen representation of the coordinate object. More...
 

Private Types

typedef ExtentBase< T, N > Super
 

Additional Inherited Members

- Static Public Attributes inherited from lsst::afw::geom::CoordinateBase< Extent< T, N >, T, N >
static int const dimensions
 
- Protected Member Functions inherited from lsst::afw::geom::ExtentBase< T, N >
 ExtentBase (T val=static_cast< T >(0))
 Construct an Extent<T,N> with all elements set to the same scalar value. More...
 
template<typename Vector >
 ExtentBase (Eigen::MatrixBase< Vector > const &vector)
 Construct an Extent from an Eigen vector. More...
 
- Protected Member Functions inherited from lsst::afw::geom::CoordinateBase< Extent< T, N >, T, N >
 CoordinateBase (T val=static_cast< T >(0))
 Initialize all elements to a scalar. More...
 
 CoordinateBase (Eigen::MatrixBase< Vector > const &vector)
 Initialize all elements from an N-d Eigen vector. More...
 
void _swap (CoordinateBase &other)
 
- Protected Attributes inherited from lsst::afw::geom::CoordinateBase< Extent< T, N >, T, N >
EigenVector _vector
 

Detailed Description

template<typename T, int N = 2>
class lsst::afw::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 Operators on Point and Extent for mathematical operators on Extent.

Definition at line 41 of file CoordinateBase.h.

Member Typedef Documentation

template<typename T, int N = 2>
typedef Super::EigenVector lsst::afw::geom::Extent< T, N >::EigenVector

Definition at line 190 of file Extent.h.

template<typename T, int N = 2>
typedef ExtentBase<T,N> lsst::afw::geom::Extent< T, N >::Super
private

Definition at line 188 of file Extent.h.

Constructor & Destructor Documentation

template<typename T, int N = 2>
lsst::afw::geom::Extent< T, N >::Extent ( val = static_cast<T>(0))
inlineexplicit

Construct an Extent with all elements set to the same scalar value.

Definition at line 193 of file Extent.h.

193 : Super(val) {}
ExtentBase< T, N > Super
Definition: Extent.h:188
bool val
template<typename T, int N = 2>
lsst::afw::geom::Extent< T, N >::Extent ( EigenVector const &  vector)
inlineexplicit

Construct an Extent from an Eigen vector.

Definition at line 196 of file Extent.h.

196 : Super(vector) {}
ExtentBase< T, N > Super
Definition: Extent.h:188
template<typename T, int N = 2>
lsst::afw::geom::Extent< T, N >::Extent ( Point< T, N > const &  other)
explicit

Explicit constructor from Point.

template<typename T, int N = 2>
template<typename U >
lsst::afw::geom::Extent< T, N >::Extent ( Extent< U, N > const &  other)
explicit

Explicit constructor from Extent of different type (if allowed)

template<typename T, int N = 2>
template<typename U >
lsst::afw::geom::Extent< T, N >::Extent ( Point< U, N > const &  other)
explicit

Member Function Documentation

template<typename T, int N = 2>
T lsst::afw::geom::Extent< T, N >::computeNorm ( ) const
inline

Return the L2 norm of the Extent (sqrt(x^2 + y^2 + ...)).

Definition at line 211 of file Extent.h.

211 { return this->asEigen().norm(); }
EigenVector const & asEigen() const
Return a fixed-size Eigen representation of the coordinate object.
template<typename T, int N = 2>
T lsst::afw::geom::Extent< T, N >::computeSquaredNorm ( ) const
inline

Return the squared L2 norm of the Extent (x^2 + y^2 + ...).

Definition at line 208 of file Extent.h.

208 { return this->asEigen().squaredNorm(); }
EigenVector const & asEigen() const
Return a fixed-size Eigen representation of the coordinate object.
template<typename T, int N = 2>
void lsst::afw::geom::Extent< T, N >::swap ( Extent< T, N > &  other)
inline

Definition at line 213 of file Extent.h.

213 { this->_swap(other); }

The documentation for this class was generated from the following files: