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
Definition at line 74 of file LCUnion.h.
casacore::LCUnion::LCUnion | ( | ) |
Construct the union of the given regions.
casacore::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.
casacore::LCUnion::LCUnion | ( | const LCUnion & | other | ) |
Copy constructor (copy semantics).
virtual casacore::LCUnion::~LCUnion | ( | ) | [virtual] |
static String casacore::LCUnion::className | ( | ) | [static] |
Get the class name (to store in the record).
virtual LCRegion* casacore::LCUnion::cloneRegion | ( | ) | const [virtual] |
Make a copy of the derived object.
Implements casacore::LCRegion.
void casacore::LCUnion::defineBox | ( | ) | [private] |
Make the bounding box and determine the offsets.
virtual LCRegion* casacore::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 casacore::LCRegion.
static LCUnion* casacore::LCUnion::fromRecord | ( | const TableRecord & | , | |
const String & | tableName | |||
) | [static] |
Convert correct object from a record.
Reimplemented from casacore::LCRegion.
virtual void casacore::LCUnion::multiGetSlice | ( | Array< Bool > & | buffer, | |
const Slicer & | section | |||
) | [protected, virtual] |
Do the actual getting of the mask.
Implements casacore::LCRegionMulti.
Assignment (copy semantics).
Reimplemented from casacore::LCRegionMulti.
Comparison.
Reimplemented from casacore::LCRegionMulti.
virtual TableRecord casacore::LCUnion::toRecord | ( | const String & | tableName | ) | const [virtual] |
Convert the (derived) object to a record.
Implements casacore::LCRegion.
virtual String casacore::LCUnion::type | ( | ) | const [virtual] |