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$ 00027 00028 #ifndef LATTICES_REGIONTYPE_H 00029 #define LATTICES_REGIONTYPE_H 00030 00031 #include <casacore/casa/aips.h> 00032 #include <casacore/casa/BasicSL/String.h> 00033 00034 namespace casacore { //# NAMESPACE CASACORE - BEGIN 00035 00036 // <summary> 00037 // Define the various region types. 00038 // </summary> 00039 00040 // <use visibility=export> 00041 00042 // <reviewed reviewer="" date="" tests=""> 00043 // </reviewed> 00044 00045 // <synopsis> 00046 // This class defines 2 enum's used by the region classes in module 00047 // Lattices and Images. 00048 // </synopsis> 00049 00050 00051 class RegionType 00052 { 00053 public: 00054 // Define the type of region. 00055 // The values are used in regionmanager(gui).g, so they should 00056 // not be changed. 00057 enum Type { 00058 // Not used yet. 00059 Invalid = -1, 00060 // Other type is not used yet. 00061 Other = 0, 00062 // lattice region (pixel coordinates) 00063 LC = 1, 00064 // image region (world coordinates) 00065 WC = 2, 00066 // array slicer (pixel based with optional stride) 00067 ArrSlicer = 3, 00068 // Number of recognized types only 00069 nRegionTypes 00070 }; 00071 00072 // Define if a region is absolute or relative. 00073 // The values are used in regionmanager(gui).g, so they should 00074 // not be changed. 00075 enum AbsRelType { 00076 // absolute 00077 Abs = 1, 00078 // relative to reference pixel 00079 RelRef = 2, 00080 // relative to center 00081 RelCen = 3, 00082 //# relative to a direction 00083 //# RelDir = 4, 00084 // Number of recognized types only 00085 nAbsRelTypes 00086 }; 00087 00088 static AbsRelType absRelTypeFromString(const String& absreltype); 00089 00090 00091 }; 00092 00093 00094 00095 } //# NAMESPACE CASACORE - END 00096 00097 #endif