casa
$Rev:20696$
|
Class to define a rectangular box of interest. More...
#include <LCBox.h>
Public Member Functions | |
LCBox () | |
LCBox (const IPosition &latticeShape) | |
Construct a box for the full lattice shape. | |
LCBox (const Slicer &box, const IPosition &latticeShape) | |
Construct from the Slicer defining the box. | |
LCBox (const IPosition &blc, const IPosition &trc, const IPosition &latticeShape) | |
Construct from the IPosition's defining the bottom-left and top-right corner of the box. | |
LCBox (const Vector< Float > &blc, const Vector< Float > &trc, const IPosition &latticeShape) | |
Construct from the Vector's defining the bottom-left and top-right corner of the box. | |
LCBox (const Vector< Double > &blc, const Vector< Double > &trc, const IPosition &latticeShape) | |
LCBox (const LCBox &other) | |
Copy constructor (reference semantics). | |
virtual | ~LCBox () |
LCBox & | operator= (const LCBox &other) |
Assignment (copy semantics). | |
virtual Bool | operator== (const LCRegion &other) const |
Comparison. | |
virtual LCRegion * | cloneRegion () const |
Make a copy of the derived object. | |
virtual String | type () const |
Get the region type. | |
virtual TableRecord | toRecord (const String &tableName) const |
Convert the (derived) object to a record. | |
Vector< Float > | blc () const |
Get the box blc. | |
Vector< Float > | trc () const |
Get the box trc. | |
Static Public Member Functions | |
static String | className () |
Get the class name (to store in the record). | |
static LCBox * | fromRecord (const TableRecord &, const String &tablename) |
Convert correct object from a record. | |
static Bool | verify (IPosition &blc, IPosition &trc, IPosition &inc, const IPosition &shape) |
Verify a box specification. | |
Protected Member Functions | |
virtual LCRegion * | doTranslate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const |
Construct another LCBox (for e.g. | |
Private Member Functions | |
void | setSlicerBox (const IPosition &blc, const IPosition &trc) |
Make a box from the blc,trc such that it does not exceed the lattice boundaries. | |
void | fillBlcTrc () |
Fill the blc and trc vector from IPositions. | |
Private Attributes | |
Vector< Float > | itsBlc |
Vector< Float > | itsTrc |
Class to define a rectangular box of interest.
Public interface
The LCBox class is a specialization of class LCRegion . It makes it possible to define a rectangular region of interest.
casa::LCBox::LCBox | ( | const IPosition & | latticeShape | ) | [explicit] |
Construct a box for the full lattice shape.
casa::LCBox::LCBox | ( | const Slicer & | box, |
const IPosition & | latticeShape | ||
) |
Construct from the Slicer defining the box.
The slicer may not contain a stride.
casa::LCBox::LCBox | ( | const IPosition & | blc, |
const IPosition & | trc, | ||
const IPosition & | latticeShape | ||
) |
Construct from the IPosition's defining the bottom-left and top-right corner of the box.
casa::LCBox::LCBox | ( | const Vector< Float > & | blc, |
const Vector< Float > & | trc, | ||
const IPosition & | latticeShape | ||
) |
Construct from the Vector's defining the bottom-left and top-right corner of the box.
casa::LCBox::LCBox | ( | const Vector< Double > & | blc, |
const Vector< Double > & | trc, | ||
const IPosition & | latticeShape | ||
) |
casa::LCBox::LCBox | ( | const LCBox & | other | ) |
Copy constructor (reference semantics).
virtual casa::LCBox::~LCBox | ( | ) | [virtual] |
Vector< Float > casa::LCBox::blc | ( | ) | const [inline] |
static String casa::LCBox::className | ( | ) | [static] |
Get the class name (to store in the record).
virtual LCRegion* casa::LCBox::cloneRegion | ( | ) | const [virtual] |
Make a copy of the derived object.
Implements casa::LCRegion.
virtual LCRegion* casa::LCBox::doTranslate | ( | const Vector< Float > & | translateVector, |
const IPosition & | newLatticeShape | ||
) | const [protected, virtual] |
Construct another LCBox (for e.g.
another lattice) by moving this one. It recalculates the bounding box. A positive translation value indicates "to right".
Implements casa::LCRegion.
void casa::LCBox::fillBlcTrc | ( | ) | [private] |
Fill the blc and trc vector from IPositions.
static LCBox* casa::LCBox::fromRecord | ( | const TableRecord & | , |
const String & | tablename | ||
) | [static] |
Convert correct object from a record.
Reimplemented from casa::LCRegion.
Comparison.
Mask not checked. Use function LRegionSingle::maskEqual to do this
Reimplemented from casa::LCRegionFixed.
void casa::LCBox::setSlicerBox | ( | const IPosition & | blc, |
const IPosition & | trc | ||
) | [private] |
Make a box from the blc,trc such that it does not exceed the lattice boundaries.
virtual TableRecord casa::LCBox::toRecord | ( | const String & | tableName | ) | const [virtual] |
Convert the (derived) object to a record.
Implements casa::LCRegion.
Vector< Float > casa::LCBox::trc | ( | ) | const [inline] |
virtual String casa::LCBox::type | ( | ) | const [virtual] |
static Bool casa::LCBox::verify | ( | IPosition & | blc, |
IPosition & | trc, | ||
IPosition & | inc, | ||
const IPosition & | shape | ||
) | [static] |
Verify a box specification.
Illegal (inlcuding blc > trc) or unspecified values are given 0 (blc) shape (trc) or unity (inc). Returns True
if any of the blc/trc/inc are changed from their input values, else returns False
Vector<Float> casa::LCBox::itsBlc [private] |
Vector<Float> casa::LCBox::itsTrc [private] |