Loading [MathJax]/extensions/tex2jax.js
LSST Applications g04a91732dc+a777afbe81,g07dc498a13+7e3c5f68a2,g12483e3c20+0145ec33cd,g1409bbee79+7e3c5f68a2,g1a7e361dbc+7e3c5f68a2,g1fd858c14a+9f35e23ec3,g35bb328faa+fcb1d3bbc8,g3ad4f90e5c+0145ec33cd,g3bd4b5ce2c+cbf1bea503,g4e0f332c67+5d362be553,g53246c7159+fcb1d3bbc8,g5477a8d5ce+db04660fe6,g60b5630c4e+0145ec33cd,g623d845a50+0145ec33cd,g6f0c2978f1+3526b51a37,g75b6c65c88+d54b601591,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g7b71ed6315+fcb1d3bbc8,g8852436030+4639f750a5,g89139ef638+7e3c5f68a2,g9125e01d80+fcb1d3bbc8,g919ac25b3e+6220c5324a,g95236ca021+f7a31438ed,g989de1cb63+7e3c5f68a2,g9f33ca652e+2d6fa11d35,gaaedd4e678+7e3c5f68a2,gabe3b4be73+1e0a283bba,gb1101e3267+4a428ef779,gb4a253aaf5+0122250889,gb58c049af0+f03b321e39,gc99c83e5f0+76d20ab76d,gcf25f946ba+4639f750a5,gd6cbbdb0b4+c8606af20c,gde0f65d7ad+3d8a3b7e46,ge278dab8ac+932305ba37,gf795337580+03b96afe58,gfba249425e+fcb1d3bbc8,w.2025.08
LSST Data Management Base Package
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
lsst::afw::geom::details Namespace Reference

Classes

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

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}

◆ 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 ( T 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 ( T 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}
void variadicBoundChecker(lsst::geom::Box2I const box, int area, T const &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.

◆ 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 {
56 variadicSpanSetter(spn, first);
57 variadicSpanSetter(spn, x...);
58}
void variadicSpanSetter(Span const spn, T &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}