LCIntersection.h

Classes

LCIntersection -- Make the intersection of 2 or more regions. (full description)

class LCIntersection: public LCRegionMulti

Interface

Public Members
LCIntersection()
LCIntersection (const LCRegion& region1, const LCRegion& region2)
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)
LCIntersection (Bool takeOver, const PtrBlock<const LCRegion*>& regions)
LCIntersection (const LCIntersection& other)
virtual ~LCIntersection()
LCIntersection& operator= (const LCIntersection& 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 LCIntersection* 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 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

Example


 

To Do

Member Description

LCIntersection()

LCIntersection (const LCRegion& region1, const LCRegion& region2)

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*>& 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.

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.

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 LCIntersection* 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.