casa
$Rev:20696$
|
Stretch length 1 axes in an LCRegion along straight lines. More...
#include <LCStretch.h>
Public Member Functions | |
LCStretch () | |
LCStretch (const LCRegion ®ion, const IPosition &stretchAxes, const LCBox &stretchBox) | |
Stretch the given region along axes as given by stretchAxes from the bottom left corner (blc) to the top right corner (trc) as given by stretchBox . | |
LCStretch (Bool takeOver, const LCRegion *region, const IPosition &stretchAxes, const LCBox &stretchBox) | |
LCStretch (const LCStretch &other) | |
Copy constructor (copy semantics). | |
virtual | ~LCStretch () |
LCStretch & | operator= (const LCStretch &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 & | stretchAxes () const |
Get the stretch axes. | |
const LCBox & | stretchBox () const |
Get the stretch 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 LCStretch * | 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 | fill (const IPosition &stretchAxes, const LCBox &stretchBox) |
Fill the object. | |
Private Attributes | |
IPosition | itsStretchAxes |
LCBox | itsStretchBox |
Stretch length 1 axes in an LCRegion along straight lines.
Public interface
The LCStretch class is a specialization of class LCRegion . It makes it possible to stretch a LCRegion along straight lines to other dimensions. E.g. a circle in the xy-plane can be stretched 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-)stretch matches the dimensionality of the lattice.
Definition at line 71 of file LCStretch.h.
casa::LCStretch::LCStretch | ( | const LCRegion & | region, |
const IPosition & | stretchAxes, | ||
const LCBox & | stretchBox | ||
) |
Stretch the given region along axes as given by stretchAxes
from the bottom left corner (blc) to the top right corner (trc) as given by stretchBox
.
The axes to be stretched need to have length 1 in the original region. Every kind of box (absolute, relative, fractional, unspecified) can be used to define the stretch blc and trc. The dimensionality of the LCStretch region is the same as the dimensionality of the original region.
The second version takes over the pointer when the switch is true.
casa::LCStretch::LCStretch | ( | Bool | takeOver, |
const LCRegion * | region, | ||
const IPosition & | stretchAxes, | ||
const LCBox & | stretchBox | ||
) |
casa::LCStretch::LCStretch | ( | const LCStretch & | other | ) |
Copy constructor (copy semantics).
virtual casa::LCStretch::~LCStretch | ( | ) | [virtual] |
static String casa::LCStretch::className | ( | ) | [static] |
Get the class name (to store in the record).
virtual LCRegion* casa::LCStretch::cloneRegion | ( | ) | const [virtual] |
Make a copy of the derived object.
Implements casa::LCRegion.
virtual IPosition casa::LCStretch::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::LCStretch::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.
void casa::LCStretch::fill | ( | const IPosition & | stretchAxes, |
const LCBox & | stretchBox | ||
) | [private] |
Fill the object.
static LCStretch* casa::LCStretch::fromRecord | ( | const TableRecord & | , |
const String & | tableName | ||
) | [static] |
Convert correct object from a record.
Reimplemented from casa::LCRegion.
virtual void casa::LCStretch::multiGetSlice | ( | Array< Bool > & | buffer, |
const Slicer & | section | ||
) | [protected, virtual] |
Do the actual getting of the mask.
Implements casa::LCRegionMulti.
Comparison.
Reimplemented from casa::LCRegionMulti.
const LCRegion & casa::LCStretch::region | ( | ) | const [inline] |
Get the original region.
Definition at line 156 of file LCStretch.h.
References casa::LCRegionMulti::regions().
const IPosition & casa::LCStretch::stretchAxes | ( | ) | const [inline] |
const LCBox & casa::LCStretch::stretchBox | ( | ) | const [inline] |
virtual TableRecord casa::LCStretch::toRecord | ( | const String & | tableName | ) | const [virtual] |
Convert the (derived) object to a record.
Implements casa::LCRegion.
virtual String casa::LCStretch::type | ( | ) | const [virtual] |
IPosition casa::LCStretch::itsStretchAxes [private] |
Definition at line 151 of file LCStretch.h.
Referenced by stretchAxes().
LCBox casa::LCStretch::itsStretchBox [private] |
Definition at line 152 of file LCStretch.h.
Referenced by stretchBox().