LCComplement.h

Classes

LCComplement -- Make the complement of a region. (full description)

class LCComplement: public LCRegionMulti

Interface

Public Members
LCComplement()
LCComplement (const LCRegion& region1)
LCComplement (Bool takeOver, const PtrBlock<const LCRegion*>& regions)
LCComplement (const LCComplement& other)
virtual ~LCComplement()
LCComplement& operator= (const LCComplement& other)
virtual Bool operator== (const LCRegion& other) const
virtual LCRegion* cloneRegion() const
static String className()
virtual String type() const
virtual TableRecord toRecord (const String& tableName) const
static LCComplement* fromRecord (const TableRecord&, const String& tableName)
Protected Members
virtual LCRegion* doTranslate (const Vector<Float>& translateVector, const IPosition& newLatticeShape) const
virtual void multiGetSlice (Array<Bool>& buffer, const Slicer& section)
Private Members
void defineBox()

Description

Prerequisite

Synopsis

The LCComplement class is a specialization of class LCRegion. It makes it possible to take the complement of a region with respect to a given lattice shape.

The center of the complement must be inside the lattice

Example


 

To Do

Member Description

LCComplement()

LCComplement (const LCRegion& region1)

Construct the complement of the given region.

LCComplement (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.

LCComplement (const LCComplement& other)

Copy constructor (copy semantics).

virtual ~LCComplement()

LCComplement& operator= (const LCComplement& other)

Assignment (copy semantics).

virtual Bool operator== (const LCRegion& other) const

Comparison

virtual LCRegion* cloneRegion() const

Make a copy of the derived object.

static String className()

Get the class name (to store in the record).

virtual String type() const

Get the region type. Returns className()

virtual TableRecord toRecord (const String& tableName) const

Convert the (derived) object to a record.

static LCComplement* fromRecord (const TableRecord&, const String& tableName)

Convert correct object from a record.

virtual LCRegion* doTranslate (const Vector<Float>& translateVector, const IPosition& newLatticeShape) const

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".

virtual void multiGetSlice (Array<Bool>& buffer, const Slicer& section)

Do the actual getting of the mask.

void defineBox()

Make the bounding box and determine the offsets.