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, 2 > Class Template Reference

A coordinate class intended to represent offsets and dimensions (2-d specialization). More...

#include <Extent.h>

Inheritance diagram for lsst::afw::geom::Extent< T, 2 >:
lsst::afw::geom::ExtentBase< T, 2 > 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, 2 > const &other)
 Explicit constructor from Point. More...
 
template<typename U >
 Extent (Extent< U, 2 > const &other)
 Explicit constructor from Extent of different type (if allowed) More...
 
template<typename U >
 Extent (Point< U, 2 > const &other)
 
 Extent (T x, T y)
 Construct from two scalars. More...
 
 Extent (T const xy[2])
 Construct from a two-element array. More...
 
 Extent (std::pair< T, T > const &xy)
 Construct from a std::pair. More...
 
 Extent (boost::tuple< T, T > const &xy)
 Construct from boost::tuple. More...
 
void swap (Extent &other)
 
- Public Member Functions inherited from lsst::afw::geom::ExtentBase< T, 2 >
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 > eq (T scalar) const
 
CoordinateExpr< N > ne (Extent< T, N > const &other) const
 
CoordinateExpr< N > ne (T scalar) const
 
CoordinateExpr< N > lt (Extent< T, N > const &other) const
 
CoordinateExpr< N > lt (T scalar) const
 
CoordinateExpr< N > le (Extent< T, N > const &other) const
 
CoordinateExpr< N > le (T scalar) const
 
CoordinateExpr< N > gt (Extent< T, N > const &other) const
 
CoordinateExpr< N > gt (T scalar) const
 
CoordinateExpr< N > ge (Extent< T, N > const &other) 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+ () const
 
Extent< T, N > operator- (Extent< T, N > const &other) const
 
Extent< T, N > operator- () const
 
Extent< T, N > & operator+= (Extent< T, N > const &other)
 
Extent< T, N > & operator-= (Extent< T, N > const &other)
 
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, 2 > 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, 2 >
 ExtentBase (T val=static_cast< T >(0))
 Construct an Extent<T,N> with all elements set to the same scalar value. More...
 
 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>
class lsst::afw::geom::Extent< T, 2 >

A coordinate class intended to represent offsets and dimensions (2-d specialization).

See Operators on Point and Extent for mathematical operators on Extent.

Definition at line 222 of file Extent.h.

Member Typedef Documentation

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

Definition at line 225 of file Extent.h.

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

Definition at line 223 of file Extent.h.

Constructor & Destructor Documentation

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

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

Definition at line 228 of file Extent.h.

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

Construct an Extent from an Eigen vector.

Definition at line 231 of file Extent.h.

231 : Super(vector) {}
ExtentBase< T, 2 > Super
Definition: Extent.h:223
template<typename T >
lsst::afw::geom::Extent< T, 2 >::Extent ( Point< T, 2 > const &  other)
explicit

Explicit constructor from Point.

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

Explicit constructor from Extent of different type (if allowed)

Definition at line 316 of file Extent.h.

317 {
318  BOOST_STATIC_ASSERT( (!boost::is_same<T,U>::value && boost::is_integral<U>::value) );
319  this->setX(static_cast<T>(other.getX()));
320  this->setY(static_cast<T>(other.getY()));
321 };
template<typename T >
template<typename U >
lsst::afw::geom::Extent< T, 2 >::Extent ( Point< U, 2 > const &  other)
explicit

Definition at line 325 of file Extent.h.

326 {
327  BOOST_STATIC_ASSERT( (!boost::is_same<T,U>::value && boost::is_integral<U>::value) );
328  this->setX(static_cast<T>(other.getX()));
329  this->setY(static_cast<T>(other.getY()));
330 };
template<typename T >
lsst::afw::geom::Extent< T, 2 >::Extent ( x,
y 
)
inlineexplicit

Construct from two scalars.

Definition at line 243 of file Extent.h.

243 : Super(EigenVector(x, y)) {}
int y
Super::EigenVector EigenVector
Definition: Extent.h:225
ExtentBase< T, 2 > Super
Definition: Extent.h:223
double x
template<typename T >
lsst::afw::geom::Extent< T, 2 >::Extent ( T const  xy[2])
inlineexplicit

Construct from a two-element array.

Definition at line 246 of file Extent.h.

246 : Super(EigenVector(xy[0], xy[1])) {}
Super::EigenVector EigenVector
Definition: Extent.h:225
ExtentBase< T, 2 > Super
Definition: Extent.h:223
template<typename T >
lsst::afw::geom::Extent< T, 2 >::Extent ( std::pair< T, T > const &  xy)
inlineexplicit

Construct from a std::pair.

Definition at line 249 of file Extent.h.

249 : Super(EigenVector(xy.first, xy.second)) {}
Super::EigenVector EigenVector
Definition: Extent.h:225
ExtentBase< T, 2 > Super
Definition: Extent.h:223
template<typename T >
lsst::afw::geom::Extent< T, 2 >::Extent ( boost::tuple< T, T > const &  xy)
inlineexplicit

Construct from boost::tuple.

Definition at line 252 of file Extent.h.

252  :
253  Super(EigenVector(xy.template get<0>(), xy.template get<1>())) {}
Super::EigenVector EigenVector
Definition: Extent.h:225
ExtentBase< T, 2 > Super
Definition: Extent.h:223

Member Function Documentation

template<typename T >
void lsst::afw::geom::Extent< T, 2 >::swap ( Extent< T, 2 > &  other)
inline

Definition at line 262 of file Extent.h.

262 { this->_swap(other); }

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