EleFits  5.3.0
A modern C++ API on top of CFITSIO
Loading...
Searching...
No Matches
Static Public Member Functions | Public Member Functions | Public Attributes | Related Functions | List of all members
Region< N > Struct Template Reference

#include <Region.h>

Detailed Description

template<long N = 2>
struct Euclid::Fits::Region< N >

A n-D rectangle region, defined by its front and back positions (both inclusive), or front position and shape.

Like Position, this class stores no pixel values, but coordinates.

Static Public Member Functions

static Region< N > fromShape (Position< N > frontPosition, Position< N > shape)
 Create a region from a front position and shape.
 
static Region< N > whole ()
 Create an unlimited region. More...
 

Public Member Functions

long dimension () const
 Get the number of dimensions.
 
Position< N > shape () const
 Compute the region shape.
 
long size () const
 Compute the region size, i.e. number of pixels.
 

Public Attributes

Position< N > back
 The back position in the region.
 
Position< N > front
 The front position in the region.
 

Related Functions

(Note that these are not member functions.)

template<long N = 2>
PositionIterator< N > begin (const Region< N > &region)
 Iterator to the front position of a region.
 
template<long N = 2>
PositionIterator< N > end (const Region< N > &region)
 Iterator to one past the back position of a region.
 
template<long N = 2>
bool operator!= (const Region< N > &lhs, const Region< N > &rhs)
 Check whether two regions are different.
 
template<long N = 2>
Region< N > operator+ (const Region< N > &lhs, const Position< N > &rhs)
 Add a region and a position.
 
template<long N = 2>
Region< N > operator+ (const Region< N > &lhs, long rhs)
 Add a region and a scalar.
 
template<long N = 2>
Region< N > operator+ (const Region< N > &rhs)
 Identity.
 
template<long N = 2>
Region< N > & operator++ (Region< N > &lhs)
 Add 1 to each coordinate.
 
template<long N = 2>
Region< N > operator++ (Region< N > &lhs, int)
 Return the current region and then add 1 to each coordinate.
 
template<long N = 2>
Region< N > & operator+= (Region< N > &lhs, const Position< N > &rhs)
 Add a position.
 
template<long N = 2>
Region< N > & operator+= (Region< N > &lhs, long rhs)
 Add a scalar to each coordinate.
 
template<long N = 2>
Region< N > operator- (const Region< N > &lhs, const Position< N > &rhs)
 Subtract a region and a position.
 
template<long N = 2>
Region< N > operator- (const Region< N > &lhs, long rhs)
 Subtract a region and a scalar.
 
template<long N = 2>
Region< N > operator- (const Region< N > &rhs)
 Change the sign of each coordinate.
 
template<long N = 2>
Region< N > & operator-- (Region< N > &lhs)
 Subtract 1 to each coordinate.
 
template<long N = 2>
Region< N > operator-- (Region< N > &lhs, int)
 Return the current region and then subtract 1 to each coordinate.
 
template<long N = 2>
Region< N > & operator-= (Region< N > &lhs, const Position< N > &rhs)
 Subtract a position.
 
template<long N = 2>
Region< N > & operator-= (Region< N > &lhs, long rhs)
 Subtract a scalar to each coordinate.
 
template<long N = 2>
bool operator== (const Region< N > &lhs, const Region< N > &rhs)
 Check whether two regions are equal.
 

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