casa
$Rev:20696$
|
Make the difference of 2 regions. More...
#include <LCDifference.h>
Public Member Functions | |
LCDifference () | |
LCDifference (const LCRegion ®ion1, const LCRegion ®ion2) | |
Construct the difference region1 - region2. | |
LCDifference (Bool takeOver, const PtrBlock< const LCRegion * > ®ions) | |
Construct from multiple regions given as a Block. | |
LCDifference (const LCDifference &other) | |
Copy constructor (copy semantics). | |
virtual | ~LCDifference () |
LCDifference & | operator= (const LCDifference &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 LCDifference * | 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 difference of 2 regions.
Public interface
The LCDifference class is a specialization of class LCRegion . It makes it possible to "subtract" one region from another. For example, imagine an overlapping box and circle. The box - circle is the box with the chunk taken out of it where the circle overlaps. The circle - box is the circle with the chunk taken out of it where the box overlaps.
The center of the difference must be inside the lattice
Definition at line 71 of file LCDifference.h.
casa::LCDifference::LCDifference | ( | const LCRegion & | region1, |
const LCRegion & | region2 | ||
) |
Construct the difference region1 - region2.
casa::LCDifference::LCDifference | ( | 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.
casa::LCDifference::LCDifference | ( | const LCDifference & | other | ) |
Copy constructor (copy semantics).
virtual casa::LCDifference::~LCDifference | ( | ) | [virtual] |
static String casa::LCDifference::className | ( | ) | [static] |
Get the class name (to store in the record).
virtual LCRegion* casa::LCDifference::cloneRegion | ( | ) | const [virtual] |
Make a copy of the derived object.
Implements casa::LCRegion.
void casa::LCDifference::defineBox | ( | ) | [private] |
Make the bounding box and determine the offsets.
virtual LCRegion* casa::LCDifference::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 LCDifference* casa::LCDifference::fromRecord | ( | const TableRecord & | , |
const String & | tableName | ||
) | [static] |
Convert correct object from a record.
Reimplemented from casa::LCRegion.
virtual void casa::LCDifference::multiGetSlice | ( | Array< Bool > & | buffer, |
const Slicer & | section | ||
) | [protected, virtual] |
Do the actual getting of the mask.
Implements casa::LCRegionMulti.
LCDifference& casa::LCDifference::operator= | ( | const LCDifference & | other | ) |
Assignment (copy semantics).
Comparison.
Reimplemented from casa::LCRegionMulti.
virtual TableRecord casa::LCDifference::toRecord | ( | const String & | tableName | ) | const [virtual] |
Convert the (derived) object to a record.
Implements casa::LCRegion.
virtual String casa::LCDifference::type | ( | ) | const [virtual] |