casa
$Rev:20696$
|
Class to hold a region of interest in an image. More...
#include <LattRegionHolder.h>
Public Member Functions | |
LattRegionHolder (const LCRegion &) | |
Construct from a region based on lattice coordinates. | |
LattRegionHolder (const LCSlicer &) | |
Construct from a slicer based on lattice coordinates. | |
LattRegionHolder (LCRegion *) | |
Similar constructors as above, but using a pointer. | |
LattRegionHolder (LCSlicer *) | |
LattRegionHolder (const LattRegionHolder &other) | |
Copy constructor (copy semantics). | |
virtual | ~LattRegionHolder () |
LattRegionHolder & | operator= (const LattRegionHolder &other) |
Assignment (copy semantics). | |
virtual LattRegionHolder * | clone () const |
Clone the object. | |
virtual Bool | operator== (const LattRegionHolder &other) const |
Comparison. | |
Bool | operator!= (const LattRegionHolder &other) const |
Bool | isLCRegion () const |
Test if the underlying region is an LCRegion, etc. | |
Bool | isLCSlicer () const |
virtual Bool | isWCRegion () const |
const LCRegion * | asLCRegionPtr () const |
Get the region as a pointer to a LCRegion, LCSlicer, or WCRegion. | |
const LCSlicer * | asLCSlicerPtr () const |
virtual const WCRegion * | asWCRegionPtr () const |
uInt | ndim () const |
Get the dimensionality. | |
LatticeRegion | toLatticeRegion (const IPosition &shape) const |
Convert to a LatticeRegion using the given shape. | |
virtual LatticeRegion | toLatticeRegion (const CoordinateSystem &cSys, const IPosition &shape) const |
Convert to a LatticeRegion using the given coordinate system (with reference pixel) and shape. | |
virtual LattRegionHolder * | makeUnion (const LattRegionHolder &other) const |
Form a compound from this and the other region. | |
virtual LattRegionHolder * | makeIntersection (const LattRegionHolder &other) const |
virtual LattRegionHolder * | makeDifference (const LattRegionHolder &other) const |
virtual LattRegionHolder * | makeComplement () const |
Protected Member Functions | |
LattRegionHolder (uInt ndim) | |
Private Attributes | |
LCRegion * | itsLC |
LCSlicer * | itsSlicer |
uInt | itsNdim |
Class to hold a region of interest in an image.
Public interface
The only purpose of LattRegionHolder is to have a single object for the various kinds of regions. It can hold a LCRegion , and LCSlicer .
It was felt that making an abstract base class LatticeRegion for LCRegion and WCRegion would create undesirable dependencies of module Lattices on module Coordinates. E.g. it would be impossible to have a function toWCRegion. Therefore the container class LattRegionHolder is chosen, from which the container ImageRegion is derived.
Definition at line 81 of file LattRegionHolder.h.
casa::LattRegionHolder::LattRegionHolder | ( | const LCRegion & | ) |
Construct from a region based on lattice coordinates.
casa::LattRegionHolder::LattRegionHolder | ( | const LCSlicer & | ) |
Construct from a slicer based on lattice coordinates.
casa::LattRegionHolder::LattRegionHolder | ( | LCRegion * | ) | [explicit] |
Similar constructors as above, but using a pointer.
It takes over the pointer, so the user should not delete the object. It is deleted by the LattRegionHolder destructor.
casa::LattRegionHolder::LattRegionHolder | ( | LCSlicer * | ) | [explicit] |
casa::LattRegionHolder::LattRegionHolder | ( | const LattRegionHolder & | other | ) |
Copy constructor (copy semantics).
virtual casa::LattRegionHolder::~LattRegionHolder | ( | ) | [virtual] |
casa::LattRegionHolder::LattRegionHolder | ( | uInt | ndim | ) | [explicit, protected] |
Construct for the given dimensionality (for derived classes).
const LCRegion* casa::LattRegionHolder::asLCRegionPtr | ( | ) | const |
Get the region as a pointer to a LCRegion, LCSlicer, or WCRegion.
An exception is thrown if the region is not the correct type. Functions isWCRegion()
, etc. can be used to test the type.
Referenced by casa::ImageRegion::asLCRegion().
const LCSlicer* casa::LattRegionHolder::asLCSlicerPtr | ( | ) | const |
Referenced by casa::ImageRegion::asLCSlicer().
virtual const WCRegion* casa::LattRegionHolder::asWCRegionPtr | ( | ) | const [virtual] |
Reimplemented in casa::ImageRegion.
virtual LattRegionHolder* casa::LattRegionHolder::clone | ( | ) | const [virtual] |
Clone the object.
Reimplemented in casa::ImageRegion.
Bool casa::LattRegionHolder::isLCRegion | ( | ) | const [inline] |
Test if the underlying region is an LCRegion, etc.
Definition at line 164 of file LattRegionHolder.h.
References itsLC.
Bool casa::LattRegionHolder::isLCSlicer | ( | ) | const [inline] |
Definition at line 168 of file LattRegionHolder.h.
References itsSlicer.
virtual Bool casa::LattRegionHolder::isWCRegion | ( | ) | const [virtual] |
Reimplemented in casa::ImageRegion.
virtual LattRegionHolder* casa::LattRegionHolder::makeComplement | ( | ) | const [virtual] |
Reimplemented in casa::ImageRegion.
virtual LattRegionHolder* casa::LattRegionHolder::makeDifference | ( | const LattRegionHolder & | other | ) | const [virtual] |
Reimplemented in casa::ImageRegion.
virtual LattRegionHolder* casa::LattRegionHolder::makeIntersection | ( | const LattRegionHolder & | other | ) | const [virtual] |
Reimplemented in casa::ImageRegion.
virtual LattRegionHolder* casa::LattRegionHolder::makeUnion | ( | const LattRegionHolder & | other | ) | const [virtual] |
Form a compound from this and the other region.
Reimplemented in casa::ImageRegion.
uInt casa::LattRegionHolder::ndim | ( | ) | const [inline] |
Bool casa::LattRegionHolder::operator!= | ( | const LattRegionHolder & | other | ) | const [inline] |
Definition at line 172 of file LattRegionHolder.h.
LattRegionHolder& casa::LattRegionHolder::operator= | ( | const LattRegionHolder & | other | ) |
Assignment (copy semantics).
virtual Bool casa::LattRegionHolder::operator== | ( | const LattRegionHolder & | other | ) | const [virtual] |
Comparison.
Reimplemented in casa::ImageRegion.
LatticeRegion casa::LattRegionHolder::toLatticeRegion | ( | const IPosition & | shape | ) | const |
Convert to a LatticeRegion using the given shape.
virtual LatticeRegion casa::LattRegionHolder::toLatticeRegion | ( | const CoordinateSystem & | cSys, |
const IPosition & | shape | ||
) | const [virtual] |
Convert to a LatticeRegion using the given coordinate system (with reference pixel) and shape.
It will also make the region complete (absolute and non-fractional).
Reimplemented in casa::ImageRegion.
LCRegion* casa::LattRegionHolder::itsLC [private] |
Definition at line 158 of file LattRegionHolder.h.
Referenced by isLCRegion().
uInt casa::LattRegionHolder::itsNdim [private] |
Definition at line 160 of file LattRegionHolder.h.
Referenced by ndim().
LCSlicer* casa::LattRegionHolder::itsSlicer [private] |
Definition at line 159 of file LattRegionHolder.h.
Referenced by isLCSlicer().