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 | Private Attributes
casa::LCStretch Class Reference

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

#include <LCStretch.h>

Inheritance diagram for casa::LCStretch:
casa::LCRegionMulti casa::LCRegion casa::Lattice< Bool > casa::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 71 of file LCStretch.h.


Constructor & Destructor Documentation

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

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

Copy constructor (copy semantics).

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

Member Function Documentation

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

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

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

Make a copy of the derived object.

Implements casa::LCRegion.

virtual IPosition casa::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 casa::LCRegionMulti.

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

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

Fill the object.

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

Convert correct object from a record.

Reimplemented from casa::LCRegion.

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

Do the actual getting of the mask.

Implements casa::LCRegionMulti.

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

Assignment (copy semantics).

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

Comparison.

Reimplemented from casa::LCRegionMulti.

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

Get the original region.

Definition at line 156 of file LCStretch.h.

References casa::LCRegionMulti::regions().

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

Get the stretch axes.

Definition at line 160 of file LCStretch.h.

References itsStretchAxes.

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

Get the stretch box.

Definition at line 164 of file LCStretch.h.

References itsStretchBox.

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

Convert the (derived) object to a record.

Implements casa::LCRegion.

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

Get the region type.

Returns the class name.

Implements casa::LCRegion.


Member Data Documentation

Definition at line 151 of file LCStretch.h.

Referenced by stretchAxes().

Definition at line 152 of file LCStretch.h.

Referenced by stretchBox().


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