casacore::LattRegionHolder Class Reference

Class to hold a region of interest in an image. More...

#include <LattRegionHolder.h>

Inheritance diagram for casacore::LattRegionHolder:
casacore::ImageRegion

List of all members.

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 ()
LattRegionHolderoperator= (const LattRegionHolder &other)
 Assignment (copy semantics).
virtual LattRegionHolderclone () 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 LCRegionasLCRegionPtr () const
 Get the region as a pointer to a LCRegion, LCSlicer, or WCRegion.
const LCSlicerasLCSlicerPtr () const
virtual const WCRegionasWCRegionPtr () 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 LattRegionHoldermakeUnion (const LattRegionHolder &other) const
 Form a compound from this and the other region.
virtual LattRegionHoldermakeIntersection (const LattRegionHolder &other) const
virtual LattRegionHoldermakeDifference (const LattRegionHolder &other) const
virtual LattRegionHoldermakeComplement () const

Protected Member Functions

 LattRegionHolder (uInt ndim)
 Construct for the given dimensionality (for derived classes).

Private Attributes

LCRegionitsLC
LCSliceritsSlicer
uInt itsNdim

Detailed Description

Class to hold a region of interest in an image.

Intended use:

Public interface

Prerequisite

Synopsis

The only purpose of LattRegionHolder is to have a single object for the various kinds of regions. It can hold a LCRegion , and LCSlicer .

Example

Motivation

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 87 of file LattRegionHolder.h.


Constructor & Destructor Documentation

casacore::LattRegionHolder::LattRegionHolder ( const LCRegion  ) 

Construct from a region based on lattice coordinates.

casacore::LattRegionHolder::LattRegionHolder ( const LCSlicer  ) 

Construct from a slicer based on lattice coordinates.

casacore::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.

casacore::LattRegionHolder::LattRegionHolder ( LCSlicer  )  [explicit]
casacore::LattRegionHolder::LattRegionHolder ( const LattRegionHolder other  ) 

Copy constructor (copy semantics).

virtual casacore::LattRegionHolder::~LattRegionHolder (  )  [virtual]
casacore::LattRegionHolder::LattRegionHolder ( uInt  ndim  )  [explicit, protected]

Construct for the given dimensionality (for derived classes).


Member Function Documentation

const LCRegion* casacore::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 casacore::ImageRegion::asLCRegion().

const LCSlicer* casacore::LattRegionHolder::asLCSlicerPtr (  )  const
virtual const WCRegion* casacore::LattRegionHolder::asWCRegionPtr (  )  const [virtual]

Reimplemented in casacore::ImageRegion.

virtual LattRegionHolder* casacore::LattRegionHolder::clone (  )  const [virtual]

Clone the object.

Reimplemented in casacore::ImageRegion.

Bool casacore::LattRegionHolder::isLCRegion (  )  const [inline]

Test if the underlying region is an LCRegion, etc.

Definition at line 170 of file LattRegionHolder.h.

References itsLC.

Bool casacore::LattRegionHolder::isLCSlicer (  )  const [inline]

Definition at line 174 of file LattRegionHolder.h.

References itsSlicer.

virtual Bool casacore::LattRegionHolder::isWCRegion (  )  const [virtual]

Reimplemented in casacore::ImageRegion.

virtual LattRegionHolder* casacore::LattRegionHolder::makeComplement (  )  const [virtual]

Reimplemented in casacore::ImageRegion.

virtual LattRegionHolder* casacore::LattRegionHolder::makeDifference ( const LattRegionHolder other  )  const [virtual]
virtual LattRegionHolder* casacore::LattRegionHolder::makeIntersection ( const LattRegionHolder other  )  const [virtual]
virtual LattRegionHolder* casacore::LattRegionHolder::makeUnion ( const LattRegionHolder other  )  const [virtual]

Form a compound from this and the other region.

uInt casacore::LattRegionHolder::ndim (  )  const [inline]

Get the dimensionality.

Definition at line 182 of file LattRegionHolder.h.

References itsNdim.

Bool casacore::LattRegionHolder::operator!= ( const LattRegionHolder other  )  const [inline]

Definition at line 178 of file LattRegionHolder.h.

LattRegionHolder& casacore::LattRegionHolder::operator= ( const LattRegionHolder other  ) 

Assignment (copy semantics).

Reimplemented in casacore::ImageRegion.

virtual Bool casacore::LattRegionHolder::operator== ( const LattRegionHolder other  )  const [virtual]

Comparison.

virtual LatticeRegion casacore::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 casacore::ImageRegion.

LatticeRegion casacore::LattRegionHolder::toLatticeRegion ( const IPosition shape  )  const

Convert to a LatticeRegion using the given shape.


Member Data Documentation

Definition at line 164 of file LattRegionHolder.h.

Referenced by isLCRegion().

Definition at line 166 of file LattRegionHolder.h.

Referenced by ndim().

Definition at line 165 of file LattRegionHolder.h.

Referenced by isLCSlicer().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1