LSST Applications  21.0.0+04719a4bac,21.0.0-1-ga51b5d4+f5e6047307,21.0.0-11-g2b59f77+a9c1acf22d,21.0.0-11-ga42c5b2+86977b0b17,21.0.0-12-gf4ce030+76814010d2,21.0.0-13-g1721dae+760e7a6536,21.0.0-13-g3a573fe+768d78a30a,21.0.0-15-g5a7caf0+f21cbc5713,21.0.0-16-g0fb55c1+b60e2d390c,21.0.0-19-g4cded4ca+71a93a33c0,21.0.0-2-g103fe59+bb20972958,21.0.0-2-g45278ab+04719a4bac,21.0.0-2-g5242d73+3ad5d60fb1,21.0.0-2-g7f82c8f+8babb168e8,21.0.0-2-g8f08a60+06509c8b61,21.0.0-2-g8faa9b5+616205b9df,21.0.0-2-ga326454+8babb168e8,21.0.0-2-gde069b7+5e4aea9c2f,21.0.0-2-gecfae73+1d3a86e577,21.0.0-2-gfc62afb+3ad5d60fb1,21.0.0-25-g1d57be3cd+e73869a214,21.0.0-3-g357aad2+ed88757d29,21.0.0-3-g4a4ce7f+3ad5d60fb1,21.0.0-3-g4be5c26+3ad5d60fb1,21.0.0-3-g65f322c+e0b24896a3,21.0.0-3-g7d9da8d+616205b9df,21.0.0-3-ge02ed75+a9c1acf22d,21.0.0-4-g591bb35+a9c1acf22d,21.0.0-4-g65b4814+b60e2d390c,21.0.0-4-gccdca77+0de219a2bc,21.0.0-4-ge8a399c+6c55c39e83,21.0.0-5-gd00fb1e+05fce91b99,21.0.0-6-gc675373+3ad5d60fb1,21.0.0-64-g1122c245+4fb2b8f86e,21.0.0-7-g04766d7+cd19d05db2,21.0.0-7-gdf92d54+04719a4bac,21.0.0-8-g5674e7b+d1bd76f71f,master-gac4afde19b+a9c1acf22d,w.2021.13
LSST Data Management Base Package
Classes | Functions
lsst::afw::geom::details Namespace Reference

Classes

class  AnyBitSetFunctor
 
class  IterGetter
 
class  ConstantGetter
 
class  ImageNdGetter
 
class  FlatNdGetter
 
struct  is_iterator
 
struct  is_iterator< T, typename std::enable_if< !std::is_same< typename std::iterator_traits< T >::value_type, void >::value >::type >
 

Functions

template<typename T >
void variadicSpanSetter (Span const spn, T &x)
 
template<typename T , typename... Args>
void variadicSpanSetter (Span const spn, T &first, Args &... x)
 
template<typename T >
void variadicBoundChecker (lsst::geom::Box2I const box, int area, T const &x)
 
template<typename T , typename... Args>
void variadicBoundChecker (lsst::geom::Box2I const box, int area, T const &first, Args &... x)
 
template<typename T >
void variadicIncrementPosition (T &x)
 
template<typename T , typename... Args>
void variadicIncrementPosition (T &first, Args &... x)
 
template<typename T , int inA, int inC>
FlatNdGetter< T, inA, inC > makeGetter (FlatNdGetter< T, inA, inC > &getter)
 
template<typename T , int inA, int inB>
ImageNdGetter< T, inA, inB > makeGetter (ImageNdGetter< T, inA, inB > &getter)
 
template<typename T >
ImageNdGetter< T, 2, 1 > makeGetter (lsst::afw::image::Image< T > &image)
 
template<typename T >
ImageNdGetter< T const, 2, 1 > makeGetter (lsst::afw::image::Image< T > const &image)
 
template<typename T >
ImageNdGetter< T, 2, 1 > makeGetter (lsst::afw::image::Mask< T > &image)
 
template<typename T >
ImageNdGetter< T const, 2, 1 > makeGetter (lsst::afw::image::Mask< T > const &image)
 
template<typename T >
ConstantGetter< T > makeGetter (T num, typename std::enable_if< std::is_arithmetic< T >::value, int >::type=0)
 
template<typename T >
IterGetter< T > makeGetter (T iter, typename std::enable_if< is_iterator< T >::value, int >::type=0)
 

Function Documentation

◆ makeGetter() [1/8]

template<typename T , int inA, int inC>
FlatNdGetter<T, inA, inC> lsst::afw::geom::details::makeGetter ( FlatNdGetter< T, inA, inC > &  getter)

Definition at line 239 of file SpanSetFunctorGetters.h.

239  {
240  // This function simply passes through any FlatNdGetter passed to it
241  return getter;
242 }

◆ makeGetter() [2/8]

template<typename T , int inA, int inB>
ImageNdGetter<T, inA, inB> lsst::afw::geom::details::makeGetter ( ImageNdGetter< T, inA, inB > &  getter)

Definition at line 245 of file SpanSetFunctorGetters.h.

245  {
246  // This function simply passes though any imageNdGetter passed to it
247  return getter;
248 }

◆ makeGetter() [3/8]

template<typename T >
ImageNdGetter<T, 2, 1> lsst::afw::geom::details::makeGetter ( lsst::afw::image::Image< T > &  image)

Definition at line 251 of file SpanSetFunctorGetters.h.

251  {
252  // Function to create a ndarray getter from an afw image
253  return ImageNdGetter<T, 2, 1>(image.getArray(), image.getXY0());
254 }
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects.

◆ makeGetter() [4/8]

template<typename T >
ImageNdGetter<T const, 2, 1> lsst::afw::geom::details::makeGetter ( lsst::afw::image::Image< T > const &  image)

Definition at line 257 of file SpanSetFunctorGetters.h.

257  {
258  // Function to create a ndarray getter from an afw image
259  return ImageNdGetter<T const, 2, 1>(image.getArray(), image.getXY0());
260 }

◆ makeGetter() [5/8]

template<typename T >
ImageNdGetter<T, 2, 1> lsst::afw::geom::details::makeGetter ( lsst::afw::image::Mask< T > &  image)

Definition at line 263 of file SpanSetFunctorGetters.h.

263  {
264  // Function to create a ndarray getter from an afw image
265  return ImageNdGetter<T, 2, 1>(image.getArray(), image.getXY0());
266 }

◆ makeGetter() [6/8]

template<typename T >
ImageNdGetter<T const, 2, 1> lsst::afw::geom::details::makeGetter ( lsst::afw::image::Mask< T > const &  image)

Definition at line 269 of file SpanSetFunctorGetters.h.

269  {
270  // Function to create a ndarray getter from an afw image
271  return ImageNdGetter<T const, 2, 1>(image.getArray(), image.getXY0());
272 }

◆ makeGetter() [7/8]

template<typename T >
IterGetter<T> lsst::afw::geom::details::makeGetter ( iter,
typename std::enable_if< is_iterator< T >::value, int >::type  = 0 
)

Definition at line 294 of file SpanSetFunctorGetters.h.

294  {
295  // Use defined type trait checker to create an iterator getter if the template is an iterator type
296  return IterGetter<T>(iter);
297 }

◆ makeGetter() [8/8]

template<typename T >
ConstantGetter<T> lsst::afw::geom::details::makeGetter ( num,
typename std::enable_if< std::is_arithmetic< T >::value, int >::type  = 0 
)

Definition at line 275 of file SpanSetFunctorGetters.h.

275  {
276  // Function to create a getter for constant numeric types. Use template type checking to ensure the
277  // type is an integral type, or floating point type
278  return ConstantGetter<T>(num);
279 }

◆ variadicBoundChecker() [1/2]

template<typename T , typename... Args>
void lsst::afw::geom::details::variadicBoundChecker ( lsst::geom::Box2I const  box,
int  area,
T const &  first,
Args &...  x 
)

Definition at line 66 of file SpanSetFunctorGetters.h.

66  {
67  variadicBoundChecker(box, area, first);
68  variadicBoundChecker(box, area, x...);
69 }
double x
void variadicBoundChecker(lsst::geom::Box2I const box, int area, T const &first, Args &... x)

◆ variadicBoundChecker() [2/2]

template<typename T >
void lsst::afw::geom::details::variadicBoundChecker ( lsst::geom::Box2I const  box,
int  area,
T const &  x 
)

Definition at line 61 of file SpanSetFunctorGetters.h.

61  {
62  x.checkExtents(box, area);
63 }

◆ variadicIncrementPosition() [1/2]

template<typename T , typename... Args>
void lsst::afw::geom::details::variadicIncrementPosition ( T &  first,
Args &...  x 
)

Definition at line 77 of file SpanSetFunctorGetters.h.

77  {
80 }
void variadicIncrementPosition(T &first, Args &... x)

◆ variadicIncrementPosition() [2/2]

template<typename T >
void lsst::afw::geom::details::variadicIncrementPosition ( T &  x)

Definition at line 72 of file SpanSetFunctorGetters.h.

72  {
73  x.increment();
74 }

◆ variadicSpanSetter() [1/2]

template<typename T , typename... Args>
void lsst::afw::geom::details::variadicSpanSetter ( Span const  spn,
T &  first,
Args &...  x 
)

Definition at line 55 of file SpanSetFunctorGetters.h.

55  {
57  variadicSpanSetter(spn, x...);
58 }
void variadicSpanSetter(Span const spn, T &first, Args &... x)

◆ variadicSpanSetter() [2/2]

template<typename T >
void lsst::afw::geom::details::variadicSpanSetter ( Span const  spn,
T &  x 
)

Definition at line 50 of file SpanSetFunctorGetters.h.

50  {
51  x.setSpan(spn);
52 }