Make the complement of an image region. More...
#include <WCComplement.h>
Public Member Functions | |
WCComplement () | |
WCComplement (const ImageRegion ®ion1) | |
Construct the complement of the given region. | |
WCComplement (const WCComplement &other) | |
Copy constructor (copy semantics). | |
virtual | ~WCComplement () |
WCComplement & | operator= (const WCComplement &other) |
Assignment (copy semantics). | |
virtual Bool | operator== (const WCRegion &other) const |
Comparison. | |
virtual WCRegion * | 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. | |
WCComplement (Bool takeOver, const PtrBlock< const WCRegion * > ®ions) | |
Construct from multiple regions. | |
Static Public Member Functions | |
static String | className () |
Get the class name (to store in the record). | |
static WCComplement * | fromRecord (const TableRecord &, const String &tableName) |
Convert correct object from a record. | |
Protected Member Functions | |
virtual LCRegion * | doToLCRegion (const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &outOrder) const |
Convert to an LCRegion using the given coordinate system and shape. |
Make the complement of an image region.
Public interface
The WCComplement class is a specialization of class WCCompound . It makes it possible to take the complement of the given region (which can be a simple WCBox, but also a complex compound region). Note that only world coordinate regions can be used in a compound, thus an LCSlicer object is not allowed in an intersection.
Note that a region consists of all its masked-on pixels inside the bounding box of the region. Thus the complement consists of all pixels outside the bounding box and all masked-off pixels inside the bounding box. So the complement of the complement of a region is the region itself.
Definition at line 76 of file WCComplement.h.
casacore::WCComplement::WCComplement | ( | ) |
casacore::WCComplement::WCComplement | ( | const ImageRegion & | region1 | ) |
Construct the complement of the given region.
casacore::WCComplement::WCComplement | ( | const WCComplement & | other | ) |
Copy constructor (copy semantics).
virtual casacore::WCComplement::~WCComplement | ( | ) | [virtual] |
casacore::WCComplement::WCComplement | ( | Bool | takeOver, | |
const PtrBlock< const WCRegion * > & | regions | |||
) |
Construct from multiple regions.
When takeOver
is True, the destructor will delete the given regions. Otherwise a copy of the regions is made.
static String casacore::WCComplement::className | ( | ) | [static] |
Get the class name (to store in the record).
virtual WCRegion* casacore::WCComplement::cloneRegion | ( | ) | const [virtual] |
Make a copy of the derived object.
cloneRegion needs to return a WCRegion * because the SGI compiler is smart enough to do the right thing.
Implements casacore::WCRegion.
virtual LCRegion* casacore::WCComplement::doToLCRegion | ( | const CoordinateSystem & | cSys, | |
const IPosition & | shape, | |||
const IPosition & | pixelAxesMap, | |||
const IPosition & | outOrder | |||
) | const [protected, virtual] |
Convert to an LCRegion using the given coordinate system and shape.
pixelAxesMap(i) gives the pixel axis in cSys of axes i
in the axesDesc.
Implements casacore::WCRegion.
static WCComplement* casacore::WCComplement::fromRecord | ( | const TableRecord & | , | |
const String & | tableName | |||
) | [static] |
Convert correct object from a record.
Reimplemented from casacore::WCRegion.
WCComplement& casacore::WCComplement::operator= | ( | const WCComplement & | other | ) |
Assignment (copy semantics).
Reimplemented from casacore::WCCompound.
Comparison.
Reimplemented from casacore::WCCompound.
virtual TableRecord casacore::WCComplement::toRecord | ( | const String & | tableName | ) | const [virtual] |
Convert the (derived) object to a record.
Implements casacore::WCRegion.
virtual String casacore::WCComplement::type | ( | ) | const [virtual] |