casa
$Rev:20696$
|
Extend an LCRegion along straight lines to other dimensions. More...
#include <LCExtension.h>
Public Member Functions | |
LCExtension () | |
LCExtension (const LCRegion ®ion, 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 () |
LCExtension & | operator= (const LCExtension &other) |
Assignment (copy semantics). | |
virtual Bool | operator== (const LCRegion &other) const |
Comparison. | |
virtual LCRegion * | cloneRegion () const |
Make a copy of the derived object. | |
const LCRegion & | region () const |
Get the original region. | |
const IPosition & | extendAxes () const |
Get the extend axes. | |
const LCBox & | extendBox () 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 LCExtension * | fromRecord (const TableRecord &, const String &tableName) |
Convert correct object from a record. | |
Protected Member Functions | |
virtual LCRegion * | doTranslate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const |
Construct another LCRegion (for e.g. | |
virtual void | multiGetSlice (Array< Bool > &buffer, const Slicer §ion) |
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 |
Extend an LCRegion along straight lines to other dimensions.
Public interface
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.
Definition at line 71 of file LCExtension.h.
casa::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.
casa::LCExtension::LCExtension | ( | Bool | takeOver, |
const LCRegion * | region, | ||
const IPosition & | extendAxes, | ||
const LCBox & | extendBox | ||
) |
casa::LCExtension::LCExtension | ( | const LCExtension & | other | ) |
Copy constructor (copy semantics).
virtual casa::LCExtension::~LCExtension | ( | ) | [virtual] |
static String casa::LCExtension::className | ( | ) | [static] |
Get the class name (to store in the record).
virtual LCRegion* casa::LCExtension::cloneRegion | ( | ) | const [virtual] |
Make a copy of the derived object.
Implements casa::LCRegion.
virtual IPosition casa::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 casa::LCRegionMulti.
virtual LCRegion* casa::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 casa::LCRegion.
const IPosition & casa::LCExtension::extendAxes | ( | ) | const [inline] |
const LCBox & casa::LCExtension::extendBox | ( | ) | const [inline] |
void casa::LCExtension::fill | ( | const IPosition & | stretchAxes, |
const LCBox & | stretchBox | ||
) | [private] |
void casa::LCExtension::fillRegionAxes | ( | ) | [private] |
Fill the object.
static LCExtension* casa::LCExtension::fromRecord | ( | const TableRecord & | , |
const String & | tableName | ||
) | [static] |
Convert correct object from a record.
Reimplemented from casa::LCRegion.
virtual void casa::LCExtension::multiGetSlice | ( | Array< Bool > & | buffer, |
const Slicer & | section | ||
) | [protected, virtual] |
Do the actual getting of the mask.
Implements casa::LCRegionMulti.
LCExtension& casa::LCExtension::operator= | ( | const LCExtension & | other | ) |
Assignment (copy semantics).
Comparison.
Reimplemented from casa::LCRegionMulti.
const LCRegion & casa::LCExtension::region | ( | ) | const [inline] |
Get the original region.
Definition at line 159 of file LCExtension.h.
References casa::LCRegionMulti::regions().
virtual TableRecord casa::LCExtension::toRecord | ( | const String & | tableName | ) | const [virtual] |
Convert the (derived) object to a record.
Implements casa::LCRegion.
virtual String casa::LCExtension::type | ( | ) | const [virtual] |
IPosition casa::LCExtension::itsExtendAxes [private] |
LCBox casa::LCExtension::itsExtendBox [private] |
Definition at line 155 of file LCExtension.h.
Referenced by extendBox().
IPosition casa::LCExtension::itsRegionAxes [private] |
Definition at line 154 of file LCExtension.h.