casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
RegionType.h
Go to the documentation of this file.
00001 //# RegionType.h: Define the various region types in an enum.
00002 //# Copyright (C) 1998,2002
00003 //# Associated Universities, Inc. Washington DC, USA.
00004 //#
00005 //# This library is free software; you can redistribute it and/or modify it
00006 //# under the terms of the GNU Library General Public License as published by
00007 //# the Free Software Foundation; either version 2 of the License, or (at your
00008 //# option) any later version.
00009 //#
00010 //# This library is distributed in the hope that it will be useful, but WITHOUT
00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00013 //# License for more details.
00014 //#
00015 //# You should have received a copy of the GNU Library General Public License
00016 //# along with this library; if not, write to the Free Software Foundation,
00017 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00018 //#
00019 //# Correspondence concerning AIPS++ should be addressed as follows:
00020 //#        Internet email: aips2-request@nrao.edu.
00021 //#        Postal address: AIPS++ Project Office
00022 //#                        National Radio Astronomy Observatory
00023 //#                        520 Edgemont Road
00024 //#                        Charlottesville, VA 22903-2475 USA
00025 //#
00026 //# $Id: RegionType.h 18093 2004-11-30 17:51:10Z ddebonis $
00027 
00028 #ifndef LATTICES_REGIONTYPE_H
00029 #define LATTICES_REGIONTYPE_H
00030 
00031 #include <casa/BasicSL/String.h>
00032 
00033 namespace casa { //# NAMESPACE CASA - BEGIN
00034 
00035 // <summary>
00036 // Define the various region types.
00037 // </summary>
00038 
00039 // <use visibility=export>
00040 
00041 // <reviewed reviewer="" date="" tests="">
00042 // </reviewed>
00043 
00044 // <synopsis>
00045 // This class defines 2 enum's used by the region classes in module
00046 // Lattices and Images.
00047 // </synopsis>
00048 
00049 
00050 class RegionType
00051 {
00052 public:
00053     // Define the type of region.
00054     // The values are used in regionmanager(gui).g, so they should
00055     // not be changed.
00056     enum Type {
00057         // Not used yet.
00058         Invalid = -1,
00059         // Other type is not used yet.
00060         Other = 0,
00061         // lattice region (pixel coordinates)
00062         LC = 1,
00063         // image region (world coordinates)
00064         WC = 2,
00065         // array slicer (pixel based with optional stride)
00066         ArrSlicer = 3,
00067         // Number of recognized types only
00068         nRegionTypes
00069     };
00070 
00071     // Define if a region is absolute or relative.
00072     // The values are used in regionmanager(gui).g, so they should
00073     // not be changed.
00074     enum AbsRelType {
00075         // absolute
00076         Abs    = 1,
00077         // relative to reference pixel
00078         RelRef = 2,
00079         // relative to center
00080         RelCen = 3,
00081         //# relative to a direction
00082 //#     RelDir = 4,
00083         // Number of recognized types only
00084         nAbsRelTypes
00085     };
00086 
00087     static AbsRelType absRelTypeFromString(const String& absreltype);
00088 
00089 
00090 };
00091 
00092 
00093 
00094 } //# NAMESPACE CASA - END
00095 
00096 #endif