casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Attributes
casa::LattRegionHolder Class Reference

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

#include <LattRegionHolder.h>

Inheritance diagram for casa::LattRegionHolder:
casa::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)
 
     

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


Constructor & Destructor Documentation

Construct from a region based on lattice coordinates.

Construct from a slicer based on lattice coordinates.

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.

Copy constructor (copy semantics).

casa::LattRegionHolder::LattRegionHolder ( uInt  ndim) [explicit, protected]

     

Construct for the given dimensionality (for derived classes).


Member Function Documentation

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().

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.

Test if the underlying region is an LCRegion, etc.

Definition at line 164 of file LattRegionHolder.h.

References itsLC.

Definition at line 168 of file LattRegionHolder.h.

References itsSlicer.

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

Reimplemented in casa::ImageRegion.

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]

Get the dimensionality.

Definition at line 176 of file LattRegionHolder.h.

References itsNdim.

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.

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.


Member Data Documentation

Definition at line 158 of file LattRegionHolder.h.

Referenced by isLCRegion().

Definition at line 160 of file LattRegionHolder.h.

Referenced by ndim().

Definition at line 159 of file LattRegionHolder.h.

Referenced by isLCSlicer().


The documentation for this class was generated from the following file: