casacore::LCStretch Class Reference

Stretch length 1 axes in an LCRegion along straight lines. More...

#include <LCStretch.h>

Inheritance diagram for casacore::LCStretch:
casacore::LCRegionMulti casacore::LCRegion casacore::Lattice< Bool > casacore::LatticeBase

List of all members.

Public Member Functions

 LCStretch ()
 LCStretch (const LCRegion &region, const IPosition &stretchAxes, const LCBox &stretchBox)
 Stretch the given region along axes as given by stretchAxes from the bottom left corner (blc) to the top right corner (trc) as given by stretchBox.
 LCStretch (Bool takeOver, const LCRegion *region, const IPosition &stretchAxes, const LCBox &stretchBox)
 LCStretch (const LCStretch &other)
 Copy constructor (copy semantics).
virtual ~LCStretch ()
LCStretchoperator= (const LCStretch &other)
 Assignment (copy semantics).
virtual Bool operator== (const LCRegion &other) const
 Comparison.
virtual LCRegioncloneRegion () const
 Make a copy of the derived object.
const LCRegionregion () const
 Get the original region.
const IPositionstretchAxes () const
 Get the stretch axes.
const LCBoxstretchBox () const
 Get the stretch box.
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 LCStretchfromRecord (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.
virtual IPosition doNiceCursorShape (uInt maxPixels) const
 This function is needed here because the niceCursorShape of the contributing region does not make any sense (other dimensionality).

Private Member Functions

void fill (const IPosition &stretchAxes, const LCBox &stretchBox)
 Fill the object.

Private Attributes

IPosition itsStretchAxes
LCBox itsStretchBox

Detailed Description

Stretch length 1 axes in an LCRegion along straight lines.

Intended use:

Public interface

Prerequisite

Synopsis

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

Example

To Do

Definition at line 72 of file LCStretch.h.


Constructor & Destructor Documentation

casacore::LCStretch::LCStretch (  ) 
casacore::LCStretch::LCStretch ( const LCRegion region,
const IPosition stretchAxes,
const LCBox stretchBox 
)

Stretch the given region along axes as given by stretchAxes from the bottom left corner (blc) to the top right corner (trc) as given by stretchBox.

The axes to be stretched need to have length 1 in the original region. Every kind of box (absolute, relative, fractional, unspecified) can be used to define the stretch blc and trc. The dimensionality of the LCStretch region is the same as the dimensionality of the original region.
The second version takes over the pointer when the switch is true.

casacore::LCStretch::LCStretch ( Bool  takeOver,
const LCRegion region,
const IPosition stretchAxes,
const LCBox stretchBox 
)
casacore::LCStretch::LCStretch ( const LCStretch other  ) 

Copy constructor (copy semantics).

virtual casacore::LCStretch::~LCStretch (  )  [virtual]

Member Function Documentation

static String casacore::LCStretch::className (  )  [static]

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

virtual LCRegion* casacore::LCStretch::cloneRegion (  )  const [virtual]

Make a copy of the derived object.

Implements casacore::LCRegion.

virtual IPosition casacore::LCStretch::doNiceCursorShape ( uInt  maxPixels  )  const [protected, virtual]

This function is needed here because the niceCursorShape of the contributing region does not make any sense (other dimensionality).

Reimplemented from casacore::LCRegionMulti.

virtual LCRegion* casacore::LCStretch::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 casacore::LCRegion.

void casacore::LCStretch::fill ( const IPosition stretchAxes,
const LCBox stretchBox 
) [private]

Fill the object.

static LCStretch* casacore::LCStretch::fromRecord ( const TableRecord ,
const String tableName 
) [static]

Convert correct object from a record.

Reimplemented from casacore::LCRegion.

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

Do the actual getting of the mask.

Implements casacore::LCRegionMulti.

LCStretch& casacore::LCStretch::operator= ( const LCStretch other  ) 

Assignment (copy semantics).

Reimplemented from casacore::LCRegionMulti.

virtual Bool casacore::LCStretch::operator== ( const LCRegion other  )  const [virtual]

Comparison.

Reimplemented from casacore::LCRegionMulti.

const LCRegion & casacore::LCStretch::region (  )  const [inline]

Get the original region.

Definition at line 157 of file LCStretch.h.

References casacore::LCRegionMulti::regions().

const IPosition & casacore::LCStretch::stretchAxes (  )  const [inline]

Get the stretch axes.

Definition at line 161 of file LCStretch.h.

References itsStretchAxes.

const LCBox & casacore::LCStretch::stretchBox (  )  const [inline]

Get the stretch box.

Definition at line 165 of file LCStretch.h.

References itsStretchBox.

virtual TableRecord casacore::LCStretch::toRecord ( const String tableName  )  const [virtual]

Convert the (derived) object to a record.

Implements casacore::LCRegion.

virtual String casacore::LCStretch::type (  )  const [virtual]

Get the region type.

Returns the class name.

Implements casacore::LCRegion.


Member Data Documentation

Definition at line 152 of file LCStretch.h.

Referenced by stretchAxes().

Definition at line 153 of file LCStretch.h.

Referenced by stretchBox().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1