Make the intersection of 2 or more regions. More...
#include <LCIntersection.h>
Public Member Functions | |
LCIntersection () | |
LCIntersection (const LCRegion ®ion1, const LCRegion ®ion2) | |
Construct the intersection of the given regions. | |
LCIntersection (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. | |
LCIntersection (Bool takeOver, const PtrBlock< const LCRegion * > ®ions) | |
Construct from multiple regions given as a Block. | |
LCIntersection (const LCIntersection &other) | |
Copy constructor (copy semantics). | |
virtual | ~LCIntersection () |
LCIntersection & | operator= (const LCIntersection &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 LCIntersection * | 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. | |
Private Attributes | |
Block< IPosition > | itsOffsets |
Make the intersection of 2 or more regions.
Public interface
The LCIntersection class is a specialization of class LCRegion . It makes it possible to find the intersection of given regions.
The center of the intersection must be inside the lattice
Definition at line 69 of file LCIntersection.h.
casacore::LCIntersection::LCIntersection | ( | ) |
Construct the intersection of the given regions.
casacore::LCIntersection::LCIntersection | ( | 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.
casacore::LCIntersection::LCIntersection | ( | Bool | takeOver, | |
const PtrBlock< const LCRegion * > & | regions | |||
) |
Construct from multiple regions given as a Block.
When takeOver
is True, the destructor will delete the given regions. Otherwise a copy of the regions is made.
casacore::LCIntersection::LCIntersection | ( | const LCIntersection & | other | ) |
Copy constructor (copy semantics).
virtual casacore::LCIntersection::~LCIntersection | ( | ) | [virtual] |
static String casacore::LCIntersection::className | ( | ) | [static] |
Get the class name (to store in the record).
virtual LCRegion* casacore::LCIntersection::cloneRegion | ( | ) | const [virtual] |
Make a copy of the derived object.
Implements casacore::LCRegion.
void casacore::LCIntersection::defineBox | ( | ) | [private] |
Make the bounding box and determine the offsets.
virtual LCRegion* casacore::LCIntersection::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 LCIntersection* casacore::LCIntersection::fromRecord | ( | const TableRecord & | , | |
const String & | tableName | |||
) | [static] |
Convert correct object from a record.
Reimplemented from casacore::LCRegion.
virtual void casacore::LCIntersection::multiGetSlice | ( | Array< Bool > & | buffer, | |
const Slicer & | section | |||
) | [protected, virtual] |
Do the actual getting of the mask.
Implements casacore::LCRegionMulti.
LCIntersection& casacore::LCIntersection::operator= | ( | const LCIntersection & | other | ) |
Assignment (copy semantics).
Reimplemented from casacore::LCRegionMulti.
Comparison.
Reimplemented from casacore::LCRegionMulti.
virtual TableRecord casacore::LCIntersection::toRecord | ( | const String & | tableName | ) | const [virtual] |
Convert the (derived) object to a record.
Implements casacore::LCRegion.
virtual String casacore::LCIntersection::type | ( | ) | const [virtual] |
Block<IPosition> casacore::LCIntersection::itsOffsets [private] |
Definition at line 137 of file LCIntersection.h.