| 
|   | LCIntersection () | 
|   | 
|   | LCIntersection (const LCRegion ®ion1, const LCRegion ®ion2) | 
|   | 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 * > ®ions) | 
|   | Construct from multiple regions given as a Block.  
  | 
|   | 
|   | 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.  
  | 
|   | 
| virtual String  | type () const | 
|   | Get the region type.  
  | 
|   | 
| virtual TableRecord  | toRecord (const String &tableName) const | 
|   | Convert the (derived) object to a record.  
  | 
|   | 
|   | LCRegionMulti () | 
|   | 
|   | LCRegionMulti (const LCRegion ®ion1, const LCRegion ®ion2) | 
|   | Construct from 2 regions.  
  | 
|   | 
|   | LCRegionMulti (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.  
  | 
|   | 
|   | LCRegionMulti (Bool takeOver, const PtrBlock< const LCRegion * > ®ions) | 
|   | Construct from multiple regions given as a Block.  
  | 
|   | 
|   | LCRegionMulti (const LCRegionMulti &other) | 
|   | Copy constructor (copy semantics).  
  | 
|   | 
| virtual  | ~LCRegionMulti () | 
|   | 
| LCRegionMulti &  | operator= (const LCRegionMulti &other) | 
|   | Assignment (copy semantics).  
  | 
|   | 
| virtual Bool  | hasMask () const | 
|   | Does the region have a mask?  
  | 
|   | 
|   | LCRegion () | 
|   | 
|   | LCRegion (const IPosition &latticeShape) | 
|   | Construct with the lattice shape only.  
  | 
|   | 
|   | LCRegion (const LCRegion &other) | 
|   | Copy constructor (copy semantics).  
  | 
|   | 
| virtual  | ~LCRegion () | 
|   | 
| Bool  | operator!= (const LCRegion &other) const | 
|   | Non-equality.  
  | 
|   | 
| virtual Lattice< Bool > *  | clone () const | 
|   | Make a copy of the derived object.  
  | 
|   | 
| virtual void  | handleDelete () | 
|   | Handle deletion of the region by deleting possible tables.  
  | 
|   | 
| virtual void  | handleRename (const String &newName, Bool overwrite) | 
|   | Handle renaming the region by renaming possible tables.  
  | 
|   | 
| const String &  | comment () const | 
|   | Get or set the comment.  
  | 
|   | 
| void  | setComment (const String &comment) | 
|   | 
| LCRegion *  | translate (const IPosition &translateVector) const | 
|   | Construct another LCRegion (for e.g.  
  | 
|   | 
| LCRegion *  | translate (const IPosition &translateVector, const IPosition &newLatticeShape) const | 
|   | 
| LCRegion *  | translate (const Vector< Float > &translateVector) const | 
|   | 
| LCRegion *  | translate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const | 
|   | 
| const IPosition &  | latticeShape () const | 
|   | Give the full lattice shape.  
  | 
|   | 
| const Slicer &  | boundingBox () const | 
|   | Give the bounding box.  
  | 
|   | 
| Slicer  | expand (const Slicer &slicer) const | 
|   | Expand a slicer or position in the region to the full lattice.  
  | 
|   | 
| IPosition  | expand (const IPosition &index) const | 
|   | 
| virtual uInt  | ndim () const | 
|   | Return the dimensionality of the region.  
  | 
|   | 
| virtual IPosition  | shape () const | 
|   | Return the shape of the region (i.e.  
  | 
|   | 
| virtual Bool  | isWritable () const | 
|   | Usually the lattice (i.e.  
  | 
|   | 
| virtual void  | doPutSlice (const Array< Bool > &sourceBuffer, const IPosition &where, const IPosition &stride) | 
|   | Regions can usually not be put; i.e.  
  | 
|   | 
| virtual void  | set (const Bool &value) | 
|   | Set all elements in the Lattice to the given value.  
  | 
|   | 
| virtual void  | apply (Bool(*function)(Bool)) | 
|   | Replace every element, x, of the Lattice with the result of f(x).  
  | 
|   | 
| virtual void  | apply (Bool(*function)(const Bool &)) | 
|   | 
| virtual void  | apply (const Functional< Bool, Bool > &function) | 
|   | 
| virtual void  | putAt (const Bool &value, const IPosition &where) | 
|   | Put the value of a single element.  
  | 
|   | 
| virtual void  | copyData (const Lattice< Bool > &from) | 
|   | Copy the data from the given lattice to this one.  
  | 
|   | 
| virtual  | ~Lattice () | 
|   | a virtual destructor is needed so that it will use the actual destructor in the derived class  
  | 
|   | 
| virtual DataType  | dataType () const | 
|   | Get the data type of the lattice.  
  | 
|   | 
| Bool  | operator() (const IPosition &where) const | 
|   | Return the value of the single element located at the argument IPosition.  
  | 
|   | 
| virtual Bool  | getAt (const IPosition &where) const | 
|   | 
| Bool  | get (COWPtr< Array< Bool > > &buffer, Bool removeDegenerateAxes=False) const | 
|   | Functions which extract an Array of values from a Lattice.  
  | 
|   | 
| Bool  | get (Array< Bool > &buffer, Bool removeDegenerateAxes=False) | 
|   | 
| Array< Bool >  | get (Bool removeDegenerateAxes=False) const | 
|   | 
| Bool  | getSlice (COWPtr< Array< Bool > > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) const | 
|   | 
| Bool  | getSlice (COWPtr< Array< Bool > > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const | 
|   | 
| Bool  | getSlice (COWPtr< Array< Bool > > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const | 
|   | 
| Bool  | getSlice (Array< Bool > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) | 
|   | 
| Bool  | getSlice (Array< Bool > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) | 
|   | 
| Bool  | getSlice (Array< Bool > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) | 
|   | 
| Array< Bool >  | getSlice (const Slicer §ion, Bool removeDegenerateAxes=False) const | 
|   | 
| Array< Bool >  | getSlice (const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const | 
|   | 
| Array< Bool >  | getSlice (const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const | 
|   | 
| void  | putSlice (const Array< Bool > &sourceBuffer, const IPosition &where, const IPosition &stride) | 
|   | A function which places an Array of values within this instance of the Lattice at the location specified by the IPosition "where", incrementing by "stride".  
  | 
|   | 
| void  | putSlice (const Array< Bool > &sourceBuffer, const IPosition &where) | 
|   | 
| void  | put (const Array< Bool > &sourceBuffer) | 
|   | 
| void  | operator+= (const Lattice< Bool > &other) | 
|   | Add, subtract, multiple, or divide by another Lattice.  
  | 
|   | 
| void  | operator-= (const Lattice< Bool > &other) | 
|   | 
| void  | operator*= (const Lattice< Bool > &other) | 
|   | 
| void  | operator/= (const Lattice< Bool > &other) | 
|   | 
| virtual void  | copyDataTo (Lattice< Bool > &to) const | 
|   | Copy the data from this lattice to the given lattice.  
  | 
|   | 
| virtual uInt  | advisedMaxPixels () const | 
|   | This function returns the advised maximum number of pixels to include in the cursor of an iterator.  
  | 
|   | 
| virtual LatticeIterInterface< Bool > *  | makeIter (const LatticeNavigator &navigator, Bool useRef) const | 
|   | These functions are used by the LatticeIterator class to generate an iterator of the correct type for a specified Lattice.  
  | 
|   | 
| virtual  | ~LatticeBase () | 
|   | A virtual destructor is needed so that it will use the actual destructor in the derived class.  
  | 
|   | 
| virtual String  | imageType () const | 
|   | Get the image type (returns name of derived class).  
  | 
|   | 
| virtual Bool  | isPersistent () const | 
|   | Is the lattice persistent and can it be loaded by other processes as well? That is the case for a PagedArray or PagedImage and for an ImageExpr which does not use transient lattices or regions.  
  | 
|   | 
| virtual Bool  | isPaged () const | 
|   | Is the lattice paged to disk?  
The default implementation returns False.  
  | 
|   | 
| virtual Bool  | canReferenceArray () const | 
|   | Can the lattice data be referenced as an array section? That is the case for an ArrayLattice or a Temp/SubLattice using it.  
  | 
|   | 
| virtual void  | save (const String &fileName) const | 
|   | Save the image in an AipsIO file with the given name.  
  | 
|   | 
| virtual Bool  | lock (FileLocker::LockType, uInt nattempts) | 
|   | It is strongly recommended to use class LatticeLocker to handle lattice locking.  
  | 
|   | 
| virtual void  | unlock () | 
|   | 
| virtual Bool  | hasLock (FileLocker::LockType) const | 
|   | 
| virtual void  | resync () | 
|   | Resynchronize the Lattice object with the lattice file.  
  | 
|   | 
| virtual void  | flush () | 
|   | Flush the data (but do not unlock).  
  | 
|   | 
| virtual void  | tempClose () | 
|   | Temporarily close the lattice.  
  | 
|   | 
| virtual void  | reopen () | 
|   | Explicitly reopen the temporarily closed lattice.  
  | 
|   | 
| virtual String  | name (Bool stripPath=False) const | 
|   | Return the name of the current Lattice object.  
  | 
|   | 
| virtual size_t  | nelements () const | 
|   | Return the total number of elements in this Lattice.  
  | 
|   | 
| size_t  | size () const | 
|   | 
| Bool  | conform (const LatticeBase &other) const | 
|   | Return a value of "True" if this instance of Lattice and 'other' have the same shape, otherwise returns a value of "False".  
  | 
|   | 
| virtual LELCoordinates  | lelCoordinates () const | 
|   | Return the coordinates of the lattice.  
  | 
|   | 
| IPosition  | niceCursorShape (uInt maxPixels) const | 
|   | Returns a recommended cursor shape for iterating through all the pixels in the Lattice.  
  | 
|   | 
| IPosition  | niceCursorShape () const | 
|   | 
| virtual Bool  | ok () const | 
|   | Check class internals - used for debugging.  
  | 
|   | 
| virtual uInt  | maximumCacheSize () const | 
|   | Maximum cache size - not necessarily all used.  
  | 
|   | 
| virtual void  | setMaximumCacheSize (uInt howManyPixels) | 
|   | Set the maximum (allowed) cache size as indicated.  
  | 
|   | 
| virtual void  | setCacheSizeInTiles (uInt howManyTiles) | 
|   | Set the actual cache size for this Array to be big enough for the indicated number of tiles.  
  | 
|   | 
| virtual void  | setCacheSizeFromPath (const IPosition &sliceShape, const IPosition &windowStart, const IPosition &windowLength, const IPosition &axisPath) | 
|   | Set the cache size as to "fit" the indicated path.  
  | 
|   | 
| virtual void  | clearCache () | 
|   | Clears and frees up the caches, but the maximum allowed cache size is unchanged from when setCacheSize was called.  
  | 
|   | 
| virtual void  | showCacheStatistics (ostream &os) const | 
|   | Report on cache success.  
  | 
|   | 
 | 
| virtual LCRegion *  | doTranslate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const | 
|   | Construct another LCRegion (for e.g.  
  | 
|   | 
| virtual void  | multiGetSlice (Array< Bool > &buffer, const Slicer §ion) | 
|   | Do the actual getting of the mask.  
  | 
|   | 
| TableRecord  | makeRecord (const String &tableName) const | 
|   | Store the contributing regions in a record.  
  | 
|   | 
| void  | multiTranslate (PtrBlock< const LCRegion * > &, const Vector< Float > &translateVector, const IPosition &newLatticeShape) const | 
|   | Translate all regions.  
  | 
|   | 
| void  | fillHasMask () | 
|   | Determine if all regions have mask (used by LCIntersection).  
  | 
|   | 
| Bool  | findAreas (IPosition &bufStart, IPosition &bufEnd, IPosition ®Start, IPosition ®End, const Slicer §ion, uInt regNr) const | 
|   | Find which area of the section and region are needed.  
  | 
|   | 
| const PtrBlock< const LCRegion * > &  | regions () const | 
|   | Get the contributing regions.  
  | 
|   | 
|   | LCRegionMulti (const LCRegion *region, const IPosition &latticeShape) | 
|   | Construct from lattice shape and region pointer, which is taken over.  
  | 
|   | 
| virtual Bool  | doGetSlice (Array< Bool > &buffer, const Slicer §ion) | 
|   | Do the actual getting of an array of values.  
  | 
|   | 
| virtual IPosition  | doNiceCursorShape (uInt maxPixels) const | 
|   | Get the best cursor shape.  
  | 
|   | 
| LCRegion &  | operator= (const LCRegion &other) | 
|   | Assignment (copy semantics) is only useful for derived classes.  
  | 
|   | 
| void  | setBoundingBox (const Slicer &boundingBox) | 
|   | Sometimes it is inconvenient for a derived class to set the bounding box in the constructor.  
  | 
|   | 
| void  | setShapeAndBoundingBox (const IPosition &latticeShape, const Slicer &boundingBox) | 
|   | 
| void  | defineRecordFields (RecordInterface &record, const String &className) const | 
|   | Define the type and class name in the record.  
  | 
|   | 
|   | Lattice () | 
|   | Define default constructor to satisfy compiler.  
  | 
|   | 
|   | Lattice (const Lattice< Bool > &) | 
|   | Copy constructor and assignment can only be used by derived classes.  
  | 
|   | 
| virtual void  | handleMath (const Lattice< Bool > &from, int oper) | 
|   | Handle the Math operators (+=, -=, *=, /=).  
  | 
|   | 
| virtual void  | handleMathTo (Lattice< Bool > &to, int oper) const | 
|   | 
| void  | handleMathTo (Lattice< Bool > &, int) const | 
|   | 
| Lattice< Bool > &  | operator= (const Lattice< Bool > &) | 
|   | 
|   | LatticeBase () | 
|   | Define default constructor to be used by derived classes.  
  | 
|   | 
|   | LatticeBase (const LatticeBase &) | 
|   | Copy constructor and assignment can only be used by derived classes.  
  | 
|   | 
| LatticeBase &  | operator= (const LatticeBase &) | 
|   | 
| void  | throwBoolMath () const | 
|   | Throw an exception for arithmetic on a Bool Lattice.  
  | 
|   | 
Make the intersection of 2 or more regions.
Intended use:
Public interface
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
- 
Expand along (slanted) cone lines 
 
Definition at line 67 of file LCIntersection.h.