casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions
casa::LCUnion Class Reference

Make the union of 2 or more regions. More...

#include <LCUnion.h>

Inheritance diagram for casa::LCUnion:
casa::LCRegionMulti casa::LCRegion casa::Lattice< Bool > casa::LatticeBase

List of all members.

Public Member Functions

 LCUnion ()
 LCUnion (const LCRegion &region1, const LCRegion &region2)
 Construct the union of the given regions.
 LCUnion (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.
 LCUnion (Bool takeOver, const PtrBlock< const LCRegion * > &regions)
 LCUnion (const LCUnion &other)
 Copy constructor (copy semantics).
virtual ~LCUnion ()
LCUnionoperator= (const LCUnion &other)
 Assignment (copy semantics).
virtual Bool operator== (const LCRegion &other) const
 Comparison.
virtual LCRegioncloneRegion () 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 LCUnionfromRecord (const TableRecord &, const String &tableName)
 Convert correct object from a record.

Protected Member Functions

virtual LCRegiondoTranslate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const
 Construct another LCRegion (for e.g.
virtual void multiGetSlice (Array< Bool > &buffer, const Slicer &section)
 Do the actual getting of the mask.

Private Member Functions

void defineBox ()
 Make the bounding box and determine the offsets.

Detailed Description

Make the union of 2 or more regions.

Intended use:

Public interface

Prerequisite

Synopsis

The LCUnion class is a specialization of class LCRegion . It makes it possible to extend a LCRegion along straight lines to other dimensions. E.g. a circle in the xy-plane can be extended to a cylinder in the xyz-space. includes the union border. It can only be used for a lattice of any dimensionality as long as the dimensionality of the (hyper-)union matches the dimensionality of the lattice.

The center of the union must be inside the lattice

Example

To Do

Definition at line 73 of file LCUnion.h.


Constructor & Destructor Documentation

casa::LCUnion::LCUnion ( const LCRegion region1,
const LCRegion region2 
)

Construct the union of the given regions.

casa::LCUnion::LCUnion ( 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.

When takeOver is True, the destructor will delete the given regions. Otherwise a copy of the regions is made.

casa::LCUnion::LCUnion ( Bool  takeOver,
const PtrBlock< const LCRegion * > &  regions 
)
casa::LCUnion::LCUnion ( const LCUnion other)

Copy constructor (copy semantics).

virtual casa::LCUnion::~LCUnion ( ) [virtual]

Member Function Documentation

static String casa::LCUnion::className ( ) [static]

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

virtual LCRegion* casa::LCUnion::cloneRegion ( ) const [virtual]

Make a copy of the derived object.

Implements casa::LCRegion.

void casa::LCUnion::defineBox ( ) [private]

Make the bounding box and determine the offsets.

virtual LCRegion* casa::LCUnion::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 LCUnion* casa::LCUnion::fromRecord ( const TableRecord ,
const String tableName 
) [static]

Convert correct object from a record.

Reimplemented from casa::LCRegion.

virtual void casa::LCUnion::multiGetSlice ( Array< Bool > &  buffer,
const Slicer section 
) [protected, virtual]

Do the actual getting of the mask.

Implements casa::LCRegionMulti.

LCUnion& casa::LCUnion::operator= ( const LCUnion other)

Assignment (copy semantics).

virtual Bool casa::LCUnion::operator== ( const LCRegion other) const [virtual]

Comparison.

Reimplemented from casa::LCRegionMulti.

virtual TableRecord casa::LCUnion::toRecord ( const String tableName) const [virtual]

Convert the (derived) object to a record.

Implements casa::LCRegion.

virtual String casa::LCUnion::type ( ) const [virtual]

Get the region type.

Returns className()

Implements casa::LCRegion.


The documentation for this class was generated from the following file: