casacore::LCExtension Class Reference

Extend an LCRegion along straight lines to other dimensions. More...

#include <LCExtension.h>

Inheritance diagram for casacore::LCExtension:
casacore::LCRegionMulti casacore::LCRegion casacore::Lattice< Bool > casacore::LatticeBase

List of all members.

Public Member Functions

 LCExtension ()
 LCExtension (const LCRegion &region, const IPosition &extendAxes, const LCBox &extendBox)
 Extend the given region along axes as given by extendAxes from the bottom left corner (blc) to the top right corner (trc) as given by extendBox.
 LCExtension (Bool takeOver, const LCRegion *region, const IPosition &extendAxes, const LCBox &extendBox)
 LCExtension (const LCExtension &other)
 Copy constructor (copy semantics).
virtual ~LCExtension ()
LCExtensionoperator= (const LCExtension &other)
 Assignment (copy semantics).
virtual Bool operator== (const LCRegion &other) const
 Comparison.
virtual LCRegioncloneRegion () const
 Make a copy of the derived object.
const LCRegionregion () const
 Get the original region.
const IPositionextendAxes () const
 Get the extend axes.
const LCBoxextendBox () const
 Get the extend box.
virtual String type () const
 Get the region type.
virtual TableRecord toRecord (const String &tableName) const
 Convert the (derived) object to a record.

Static Public Member Functions

static String className ()
 Get the class name (to store in the record).
static LCExtensionfromRecord (const TableRecord &, const String &tableName)
 Convert correct object from a record.

Protected Member Functions

virtual LCRegiondoTranslate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const
 Construct another LCRegion (for e.g.
virtual void multiGetSlice (Array< Bool > &buffer, const Slicer &section)
 Do the actual getting of the mask.
virtual IPosition doNiceCursorShape (uInt maxPixels) const
 This function is needed here because the niceCursorShape of the contributing region does not make any sense (other dimensionality).

Private Member Functions

void fillRegionAxes ()
 Fill the object.
void fill (const IPosition &stretchAxes, const LCBox &stretchBox)

Private Attributes

IPosition itsExtendAxes
IPosition itsRegionAxes
LCBox itsExtendBox

Detailed Description

Extend an LCRegion along straight lines to other dimensions.

Intended use:

Public interface

Prerequisite

Synopsis

The LCExtension class is a specialization of class LCRegion . It makes it possible to extend a LCRegion along straight lines to other dimensions. E.g. a circle in the xy-plane can be extended to a cylinder in the xyz-space. It can be used for a lattice of any dimensionality as long as the dimensionality of the (hyper-)extension matches the dimensionality of the lattice.

Example

To Do

Definition at line 72 of file LCExtension.h.


Constructor & Destructor Documentation

casacore::LCExtension::LCExtension (  ) 
casacore::LCExtension::LCExtension ( const LCRegion region,
const IPosition extendAxes,
const LCBox extendBox 
)

Extend the given region along axes as given by extendAxes from the bottom left corner (blc) to the top right corner (trc) as given by extendBox.

Every kind of box (absolute, relative, fractional, unspecified) can be used to define the extension blc and trc. The sum of the dimensionality of the region and the extend box make up the dimensionality of the LCExtension region. Similarly the lattice shapes in region and box are combined.
The second version takes over the pointer when the switch is true.

casacore::LCExtension::LCExtension ( Bool  takeOver,
const LCRegion region,
const IPosition extendAxes,
const LCBox extendBox 
)
casacore::LCExtension::LCExtension ( const LCExtension other  ) 

Copy constructor (copy semantics).

virtual casacore::LCExtension::~LCExtension (  )  [virtual]

Member Function Documentation

static String casacore::LCExtension::className (  )  [static]

Get the class name (to store in the record).

virtual LCRegion* casacore::LCExtension::cloneRegion (  )  const [virtual]

Make a copy of the derived object.

Implements casacore::LCRegion.

virtual IPosition casacore::LCExtension::doNiceCursorShape ( uInt  maxPixels  )  const [protected, virtual]

This function is needed here because the niceCursorShape of the contributing region does not make any sense (other dimensionality).

Reimplemented from casacore::LCRegionMulti.

virtual LCRegion* casacore::LCExtension::doTranslate ( const Vector< Float > &  translateVector,
const IPosition newLatticeShape 
) const [protected, virtual]

Construct another LCRegion (for e.g.

another lattice) by moving this one. It recalculates the bounding box and mask. A positive translation value indicates "to right".

Implements casacore::LCRegion.

const IPosition & casacore::LCExtension::extendAxes (  )  const [inline]

Get the extend axes.

Definition at line 164 of file LCExtension.h.

References itsExtendAxes.

const LCBox & casacore::LCExtension::extendBox (  )  const [inline]

Get the extend box.

Definition at line 168 of file LCExtension.h.

References itsExtendBox.

void casacore::LCExtension::fill ( const IPosition stretchAxes,
const LCBox stretchBox 
) [private]
void casacore::LCExtension::fillRegionAxes (  )  [private]

Fill the object.

static LCExtension* casacore::LCExtension::fromRecord ( const TableRecord ,
const String tableName 
) [static]

Convert correct object from a record.

Reimplemented from casacore::LCRegion.

virtual void casacore::LCExtension::multiGetSlice ( Array< Bool > &  buffer,
const Slicer section 
) [protected, virtual]

Do the actual getting of the mask.

Implements casacore::LCRegionMulti.

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

Assignment (copy semantics).

Reimplemented from casacore::LCRegionMulti.

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

Comparison.

Reimplemented from casacore::LCRegionMulti.

const LCRegion & casacore::LCExtension::region (  )  const [inline]

Get the original region.

Definition at line 160 of file LCExtension.h.

References casacore::LCRegionMulti::regions().

virtual TableRecord casacore::LCExtension::toRecord ( const String tableName  )  const [virtual]

Convert the (derived) object to a record.

Implements casacore::LCRegion.

virtual String casacore::LCExtension::type (  )  const [virtual]

Get the region type.

Returns the class name.

Implements casacore::LCRegion.


Member Data Documentation

Definition at line 154 of file LCExtension.h.

Referenced by extendAxes().

Definition at line 156 of file LCExtension.h.

Referenced by extendBox().

Definition at line 155 of file LCExtension.h.


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