casa
$Rev:20696$
|
Make the union of 2 or more regions. More...
#include <LCUnion.h>
Public Member Functions | |
LCUnion () | |
LCUnion (const LCRegion ®ion1, const LCRegion ®ion2) | |
Construct the union of the given regions. | |
LCUnion (Bool takeOver, const LCRegion *region1, const LCRegion *region2=0, const LCRegion *region3=0, const LCRegion *region4=0, const LCRegion *region5=0, const LCRegion *region6=0, const LCRegion *region7=0, const LCRegion *region8=0, const LCRegion *region9=0, const LCRegion *region10=0) | |
Construct from multiple regions. | |
LCUnion (Bool takeOver, const PtrBlock< const LCRegion * > ®ions) | |
LCUnion (const LCUnion &other) | |
Copy constructor (copy semantics). | |
virtual | ~LCUnion () |
LCUnion & | operator= (const LCUnion &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. | |
Static Public Member Functions | |
static String | className () |
Get the class name (to store in the record). | |
static LCUnion * | 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. | |
Private Member Functions | |
void | defineBox () |
Make the bounding box and determine the offsets. |
Make the union of 2 or more regions.
Public interface
The LCUnion 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. includes the union border. It can only be used for a lattice of any dimensionality as long as the dimensionality of the (hyper-)union matches the dimensionality of the lattice.
The center of the union must be inside the lattice
casa::LCUnion::LCUnion | ( | const LCRegion & | region1, |
const LCRegion & | region2 | ||
) |
Construct the union of the given regions.
casa::LCUnion::LCUnion | ( | Bool | takeOver, |
const LCRegion * | region1, | ||
const LCRegion * | region2 = 0 , |
||
const LCRegion * | region3 = 0 , |
||
const LCRegion * | region4 = 0 , |
||
const LCRegion * | region5 = 0 , |
||
const LCRegion * | region6 = 0 , |
||
const LCRegion * | region7 = 0 , |
||
const LCRegion * | region8 = 0 , |
||
const LCRegion * | region9 = 0 , |
||
const LCRegion * | region10 = 0 |
||
) |
Construct from multiple regions.
When takeOver
is True, the destructor will delete the given regions. Otherwise a copy of the regions is made.
casa::LCUnion::LCUnion | ( | Bool | takeOver, |
const PtrBlock< const LCRegion * > & | regions | ||
) |
casa::LCUnion::LCUnion | ( | const LCUnion & | other | ) |
Copy constructor (copy semantics).
virtual casa::LCUnion::~LCUnion | ( | ) | [virtual] |
static String casa::LCUnion::className | ( | ) | [static] |
Get the class name (to store in the record).
virtual LCRegion* casa::LCUnion::cloneRegion | ( | ) | const [virtual] |
Make a copy of the derived object.
Implements casa::LCRegion.
void casa::LCUnion::defineBox | ( | ) | [private] |
Make the bounding box and determine the offsets.
virtual LCRegion* casa::LCUnion::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.
static LCUnion* casa::LCUnion::fromRecord | ( | const TableRecord & | , |
const String & | tableName | ||
) | [static] |
Convert correct object from a record.
Reimplemented from casa::LCRegion.
virtual void casa::LCUnion::multiGetSlice | ( | Array< Bool > & | buffer, |
const Slicer & | section | ||
) | [protected, virtual] |
Do the actual getting of the mask.
Implements casa::LCRegionMulti.
Comparison.
Reimplemented from casa::LCRegionMulti.
virtual TableRecord casa::LCUnion::toRecord | ( | const String & | tableName | ) | const [virtual] |
Convert the (derived) object to a record.
Implements casa::LCRegion.
virtual String casa::LCUnion::type | ( | ) | const [virtual] |