casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
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

Public Member Functions

 LattRegionHolder (const LCRegion &)
 Construct from a region based on lattice coordinates. More...
 
 LattRegionHolder (const LCSlicer &)
 Construct from a slicer based on lattice coordinates. More...
 
 LattRegionHolder (LCRegion *)
 Similar constructors as above, but using a pointer. More...
 
 LattRegionHolder (LCSlicer *)
 
 LattRegionHolder (const LattRegionHolder &other)
 Copy constructor (copy semantics). More...
 
virtual ~LattRegionHolder ()
 
LattRegionHolderoperator= (const LattRegionHolder &other)
 Assignment (copy semantics). More...
 
virtual LattRegionHolderclone () const
 Clone the object. More...
 
virtual Bool operator== (const LattRegionHolder &other) const
 Comparison. More...
 
Bool operator!= (const LattRegionHolder &other) const
 
Bool isLCRegion () const
 Test if the underlying region is an LCRegion, etc. More...
 
Bool isLCSlicer () const
 
virtual Bool isWCRegion () const
 
const LCRegionasLCRegionPtr () const
 Get the region as a pointer to a LCRegion, LCSlicer, or WCRegion. More...
 
const LCSlicerasLCSlicerPtr () const
 
virtual const WCRegionasWCRegionPtr () const
 
uInt ndim () const
 Get the dimensionality. More...
 
LatticeRegion toLatticeRegion (const IPosition &shape) const
 Convert to a LatticeRegion using the given shape. More...
 
virtual LatticeRegion toLatticeRegion (const CoordinateSystem &cSys, const IPosition &shape) const
 Convert to a LatticeRegion using the given coordinate system (with reference pixel) and shape. More...
 
virtual LattRegionHoldermakeUnion (const LattRegionHolder &other) const
 Form a compound from this and the other region. More...
 
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). More...
 

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)
explicitprotected

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

Reimplemented in casacore::ImageRegion.

virtual LattRegionHolder* casacore::LattRegionHolder::makeIntersection ( const LattRegionHolder other) const
virtual

Reimplemented in casacore::ImageRegion.

virtual LattRegionHolder* casacore::LattRegionHolder::makeUnion ( const LattRegionHolder other) const
virtual

Form a compound from this and the other region.

Reimplemented in casacore::ImageRegion.

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

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

Comparison.

Reimplemented in casacore::ImageRegion.

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

Convert to a LatticeRegion using the given shape.

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.

Member Data Documentation

LCRegion* casacore::LattRegionHolder::itsLC
private

Definition at line 164 of file LattRegionHolder.h.

Referenced by isLCRegion().

uInt casacore::LattRegionHolder::itsNdim
private

Definition at line 166 of file LattRegionHolder.h.

Referenced by ndim().

LCSlicer* casacore::LattRegionHolder::itsSlicer
private

Definition at line 165 of file LattRegionHolder.h.

Referenced by isLCSlicer().


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