LCBox.h
Classes
- LCBox -- Class to define a rectangular box of interest. (full description)
Interface
- Public Members
- LCBox()
- explicit LCBox (const IPosition& latticeShape)
- LCBox (const Slicer& box, const IPosition& latticeShape)
- LCBox (const IPosition& blc, const IPosition& trc, const IPosition& latticeShape)
- LCBox (const Vector<Float>& blc, const Vector<Float>& trc, const IPosition& latticeShape)
- LCBox (const Vector<Double>& blc, const Vector<Double>& trc, const IPosition& latticeShape)
- LCBox (const LCBox& other)
- virtual ~LCBox()
- LCBox& operator= (const LCBox& 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 LCBox* fromRecord (const TableRecord&, const String& tablename)
- Vector<Float> blc() const
- Vector<Float> trc() const
- static Bool verify (IPosition& blc, IPosition& trc, IPosition& inc, const IPosition& shape)
- Protected Members
- virtual LCRegion* doTranslate (const Vector<Float>& translateVector, const IPosition& newLatticeShape) const
- Private Members
- void setSlicerBox (const IPosition& blc, const IPosition& trc)
- void fillBlcTrc()
Prerequisite
Synopsis
The LCBox class is a specialization of class
LCRegion.
It makes it possible to define a rectangular region of interest.
Example
To Do
Member Description
explicit LCBox (const IPosition& latticeShape)
Construct a box for the full lattice shape.
Construct from the Slicer defining the box.
The slicer may not contain a stride.
Construct from the IPosition's defining the bottom-left and
top-right corner of the box.
LCBox (const Vector<Float>& blc, const Vector<Float>& trc, const IPosition& latticeShape)
LCBox (const Vector<Double>& blc, const Vector<Double>& trc, const IPosition& latticeShape)
Construct from the Vector's defining the bottom-left and
top-right corner of the box.
LCBox (const LCBox& other)
Copy constructor (reference semantics).
LCBox& operator= (const LCBox& other)
Assignment (copy semantics).
Comparison. Mask not checked. Use function
LRegionSingle::maskEqual to do this
Make a copy of the derived object.
Get the class name (to store in the record).
Get the region type. Returns className()
Convert the (derived) object to a record.
Convert correct object from a record.
Get the box blc
Get the box trc
Verify a box specification. Illegal (inlcuding blc > trc) or
unspecified values are given 0 (blc) shape (trc) or
unity (inc). Returns True if any of the blc/trc/inc
are changed from their input values, else returns False
virtual LCRegion* doTranslate (const Vector<Float>& translateVector, const IPosition& newLatticeShape) const
Construct another LCBox (for e.g. another lattice) by moving
this one. It recalculates the bounding box.
A positive translation value indicates "to right".
Make a box from the blc,trc such that it does not exceed the
lattice boundaries.
Fill the blc and trc vector from IPositions.