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

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

#include <Extent.h>

Inheritance diagram for lsst::afw::geom::Extent< T, 3 >:
lsst::afw::geom::ExtentBase< T, 3 > 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, 3 > const &other)
 Explicit constructor from Point. More...
 
template<typename U >
 Extent (Extent< U, 3 > const &other)
 Explicit constructor from Extent of different type (if allowed) More...
 
template<typename U >
 Extent (Point< U, 3 > const &other)
 
 Extent (T x, T y, T z)
 Construct from three scalars. More...
 
 Extent (T const xyz[3])
 Construct from a two-element array. More...
 
 Extent (boost::tuple< T, T, T > const &xyz)
 Construct from boost::tuple. More...
 
void swap (Extent &other)
 
- Public Member Functions inherited from lsst::afw::geom::ExtentBase< T, 3 >
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, 3 > 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, 3 >
 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, 3 >

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

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

Definition at line 271 of file Extent.h.

Member Typedef Documentation

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

Definition at line 274 of file Extent.h.

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

Definition at line 272 of file Extent.h.

Constructor & Destructor Documentation

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

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

Definition at line 277 of file Extent.h.

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

Construct an Extent from an Eigen vector.

Definition at line 280 of file Extent.h.

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

Explicit constructor from Point.

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

Explicit constructor from Extent of different type (if allowed)

Definition at line 335 of file Extent.h.

336 {
337  BOOST_STATIC_ASSERT( (!boost::is_same<T,U>::value && boost::is_integral<U>::value) );
338  this->setX(static_cast<T>(other.getX()));
339  this->setY(static_cast<T>(other.getY()));
340  this->setZ(static_cast<T>(other.getZ()));
341 };
template<typename T >
template<typename U >
lsst::afw::geom::Extent< T, 3 >::Extent ( Point< U, 3 > const &  other)
explicit

Definition at line 346 of file Extent.h.

347 {
348  BOOST_STATIC_ASSERT( (!boost::is_same<T,U>::value && boost::is_integral<U>::value) );
349  this->setX(static_cast<T>(other.getX()));
350  this->setY(static_cast<T>(other.getY()));
351  this->setZ(static_cast<T>(other.getZ()));
352 };
template<typename T >
lsst::afw::geom::Extent< T, 3 >::Extent ( x,
y,
z 
)
inlineexplicit

Construct from three scalars.

Definition at line 292 of file Extent.h.

292 : Super(EigenVector(x, y, z)) {}
int y
ExtentBase< T, 3 > Super
Definition: Extent.h:272
Super::EigenVector EigenVector
Definition: Extent.h:274
double x
template<typename T >
lsst::afw::geom::Extent< T, 3 >::Extent ( T const  xyz[3])
inlineexplicit

Construct from a two-element array.

Definition at line 295 of file Extent.h.

295 : Super(EigenVector(xyz[0], xyz[1], xyz[2])) {}
ExtentBase< T, 3 > Super
Definition: Extent.h:272
Super::EigenVector EigenVector
Definition: Extent.h:274
template<typename T >
lsst::afw::geom::Extent< T, 3 >::Extent ( boost::tuple< T, T, T > const &  xyz)
inlineexplicit

Construct from boost::tuple.

Definition at line 298 of file Extent.h.

298  :
299  Super(EigenVector(xyz.template get<0>(), xyz.template get<1>(), xyz.template get<2>())) {}
ExtentBase< T, 3 > Super
Definition: Extent.h:272
Super::EigenVector EigenVector
Definition: Extent.h:274

Member Function Documentation

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

Definition at line 310 of file Extent.h.

310 { this->_swap(other); }

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