orsa_config.cc

Go to the documentation of this file.
00001 /* 
00002    ORSA - Orbit Reconstruction, Simulation and Analysis
00003    Copyright (C) 2002-2004 Pasquale Tricarico
00004    
00005    This program is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU General Public License
00007    as published by the Free Software Foundation; either version 2
00008    of the License, or (at your option) any later version.
00009    
00010    As a special exception, Pasquale Tricarico gives permission to
00011    link this program with Qt commercial edition, and distribute the
00012    resulting executable, without including the source code for the Qt
00013    commercial edition in the source distribution.
00014    
00015    This program is distributed in the hope that it will be useful,
00016    but WITHOUT ANY WARRANTY; without even the implied warranty of
00017    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018    GNU General Public License for more details.
00019    
00020    You should have received a copy of the GNU General Public License
00021    along with this program; if not, write to the Free Software
00022    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00023 */
00024 
00025 #include "orsa_config.h"
00026 #include "orsa_file.h"
00027 
00028 using namespace std;
00029 
00030 namespace orsa {
00031   
00032   string Label(const ConfigEnum e) {
00033     string label;
00034     switch(e) {
00035     case JPL_EPHEM_FILE:     label="JPL ephemeris";                               break;
00036     case JPL_DASTCOM_NUM:    label="JPL asteroids database (NUM)";                break;
00037     case JPL_DASTCOM_UNNUM:  label="JPL asteroids database (UNNUM)";              break;
00038     case JPL_DASTCOM_COMET:  label="JPL comets database";                         break;
00039     case LOWELL_ASTORB:      label="Lowell asteroids database";                   break;
00040     case MPC_MPCORB:         label="MPC asteroids database";                      break;
00041     case MPC_COMET:          label="MPC comets database";                         break;
00042     case MPC_NEA:            label="MPC asteroids database (NEA)";                break;
00043     case MPC_DAILY:          label="MPC asteroids database (DAILY)";              break;
00044     case MPC_DISTANT:        label="MPC asteroids database (DISTANT)";            break;     
00045     case MPC_PHA:            label="MPC asteroids database (PHA)";                break;
00046     case MPC_UNUSUALS:       label="MPC asteroids database (UNUSUALS)";           break;     
00047     case ASTDYS_ALLNUM_CAT:  label="AstDyS asteroids database (CAT)";             break;
00048     case ASTDYS_ALLNUM_CTC:  label="AstDyS asteroids database (CTC)";             break;
00049     case ASTDYS_ALLNUM_CTM:  label="AstDyS asteroids database (CTM)";             break;
00050     case ASTDYS_UFITOBS_CAT: label="AstDyS unnumbered asteroids database (CAT)";  break;
00051     case ASTDYS_UFITOBS_CTC: label="AstDyS unnumbered asteroids database (CTC)";  break;
00052     case ASTDYS_UFITOBS_CTM: label="AstDyS unnumbered asteroids database (CTM)";  break;
00053     case NEODYS_CAT:         label="NEODyS asteroids database (CAT)";             break;
00054     case NEODYS_CTC:         label="NEODyS asteroids database (CTC)";             break;
00055     case OBSCODE:            label="Observatory codes";                           break;
00056       // TLE
00057     case TLE_NASA:    label="TLE (NASA)";    break;
00058     case TLE_GEO:     label="TLE (GEO)";     break;
00059     case TLE_GPS:     label="TLE (GPS)";     break;
00060     case TLE_ISS:     label="TLE (ISS)";     break;
00061     case TLE_KEPELE:  label="TLE (KEPELE)";  break;
00062     case TLE_VISUAL:  label="TLE (VISUAL)";  break;
00063     case TLE_WEATHER: label="TLE (WEATHER)"; break;   
00064       // textures
00065     case TEXTURE_SUN :    label="Sun's texture"; break;   
00066     case TEXTURE_MERCURY: label="Mercury's texture"; break;   
00067     case TEXTURE_VENUS:   label="Venus's texture"; break;   
00068     case TEXTURE_EARTH:   label="Earth's texture"; break;   
00069     case TEXTURE_MOON:    label="Moon's texture";  break;   
00070     case TEXTURE_MARS:    label="Mars's texture"; break;   
00071     case TEXTURE_JUPITER: label="Jupiter's texture"; break;   
00072     case TEXTURE_SATURN:  label="Saturn's texture"; break;   
00073     case TEXTURE_URANUS:  label="Uranus's texture"; break;   
00074     case TEXTURE_NEPTUNE: label="Neptune's texture"; break;   
00075     case TEXTURE_PLUTO:   label="Pluto's texture"; break;   
00076       //
00077     case NO_CONFIG_ENUM:  label="This shuld not be used!"; break;
00078     }
00079     return label;
00080   }
00081   
00082   Config::Config() {
00083     paths[JPL_EPHEM_FILE] =     new ConfigItem<string>("JPL_EPHEM_FILE");
00084     paths[JPL_DASTCOM_NUM] =    new ConfigItem<string>("JPL_DASTCOM_NUM");
00085     paths[JPL_DASTCOM_UNNUM] =  new ConfigItem<string>("JPL_DASTCOM_UNNUM");
00086     paths[JPL_DASTCOM_COMET] =  new ConfigItem<string>("JPL_DASTCOM_COMET");
00087     paths[LOWELL_ASTORB] =      new ConfigItem<string>("LOWELL_ASTORB");
00088     paths[MPC_MPCORB] =         new ConfigItem<string>("MPC_MPCORB");
00089     paths[MPC_COMET] =          new ConfigItem<string>("MPC_COMET");
00090     paths[MPC_NEA] =            new ConfigItem<string>("MPC_NEA");
00091     paths[MPC_DAILY] =          new ConfigItem<string>("MPC_DAILY");
00092     paths[MPC_DISTANT] =        new ConfigItem<string>("MPC_DISTANT");
00093     paths[MPC_PHA] =            new ConfigItem<string>("MPC_PHA");
00094     paths[MPC_UNUSUALS] =       new ConfigItem<string>("MPC_UNUSUALS");
00095     paths[ASTDYS_ALLNUM_CAT] =  new ConfigItem<string>("ASTDYS_ALLNUM_CAT");
00096     paths[ASTDYS_ALLNUM_CTC] =  new ConfigItem<string>("ASTDYS_ALLNUM_CTC");
00097     paths[ASTDYS_ALLNUM_CTM] =  new ConfigItem<string>("ASTDYS_ALLNUM_CTM");
00098     paths[ASTDYS_UFITOBS_CAT] = new ConfigItem<string>("ASTDYS_UFITOBS_CAT");
00099     paths[ASTDYS_UFITOBS_CTC] = new ConfigItem<string>("ASTDYS_UFITOBS_CTC");
00100     paths[ASTDYS_UFITOBS_CTM] = new ConfigItem<string>("ASTDYS_UFITOBS_CTM");
00101     paths[NEODYS_CAT] =         new ConfigItem<string>("NEODYS_CAT");
00102     paths[NEODYS_CTC] =         new ConfigItem<string>("NEODYS_CTC");
00103     paths[OBSCODE] =            new ConfigItem<string>("OBSCODE");
00104     // TLE
00105     paths[TLE_NASA] =    new ConfigItem<string>("TLE_NASA");
00106     paths[TLE_GEO] =     new ConfigItem<string>("TLE_GEO");
00107     paths[TLE_GPS] =     new ConfigItem<string>("TLE_GPS");
00108     paths[TLE_ISS] =     new ConfigItem<string>("TLE_ISS");
00109     paths[TLE_KEPELE] =  new ConfigItem<string>("TLE_KEPELE");
00110     paths[TLE_VISUAL] =  new ConfigItem<string>("TLE_VISUAL");
00111     paths[TLE_WEATHER] = new ConfigItem<string>("TLE_WEATHER");
00112     // textures
00113     paths[TEXTURE_SUN]     = new ConfigItem<string>("TEXTURE_SUN");
00114     paths[TEXTURE_MERCURY] = new ConfigItem<string>("TEXTURE_MERCURY");
00115     paths[TEXTURE_VENUS]   = new ConfigItem<string>("TEXTURE_VENUS");
00116     paths[TEXTURE_EARTH]   = new ConfigItem<string>("TEXTURE_EARTH");
00117     paths[TEXTURE_MOON]    = new ConfigItem<string>("TEXTURE_MOON");
00118     paths[TEXTURE_MARS]    = new ConfigItem<string>("TEXTURE_MARS");
00119     paths[TEXTURE_JUPITER] = new ConfigItem<string>("TEXTURE_JUPITER");
00120     paths[TEXTURE_SATURN]  = new ConfigItem<string>("TEXTURE_SATURN");
00121     paths[TEXTURE_URANUS]  = new ConfigItem<string>("TEXTURE_URANUS");
00122     paths[TEXTURE_NEPTUNE] = new ConfigItem<string>("TEXTURE_NEPTUNE");
00123     paths[TEXTURE_PLUTO]   = new ConfigItem<string>("TEXTURE_PLUTO");
00124     
00125     // DON'T READ HERE!!!
00126     // read_from_file();
00127   }
00128   
00129   void Config::read_from_file() {
00130     OrsaConfigFile ocf;
00131     ocf.Read();
00132     ocf.Close();
00133   }
00134   
00135   void Config::write_to_file() {
00136     OrsaConfigFile ocf;
00137     ocf.Write();
00138     ocf.Close();
00139   }
00140   
00141 } // namespace orsa

Generated on Fri Nov 3 20:37:41 2006 for liborsa by  doxygen 1.4.7