GRALESHELL
|
00001 /* 00002 00003 This file is a part of GRALESHELL, a program to facilitate the simulation 00004 and inversion of gravitational lenses, based on the GRALE library. 00005 00006 Copyright (C) 2008-2012 Jori Liesenborgs 00007 00008 Contact: jori.liesenborgs@gmail.com 00009 00010 This program is free software; you can redistribute it and/or modify 00011 it under the terms of the GNU General Public License as published by 00012 the Free Software Foundation; either version 2 of the License, or 00013 (at your option) any later version. 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00023 00024 */ 00025 00026 #ifndef CMDGRID_H 00027 00028 #define CMDGRID_H 00029 00030 #include <shellp/shellcommand.h> 00031 #include <shellp/shellcmdrealarg.h> 00032 #include <shellp/shellcmdintarg.h> 00033 #include <shellp/shellcmdboolarg.h> 00034 #include <shellp/shellcmdstringarg.h> 00035 00036 class CmdGridNewUniform : public shellp::ShellCommand 00037 { 00038 public: 00039 CmdGridNewUniform(const std::string &cmdname); 00040 ~CmdGridNewUniform(); 00041 bool execute(); 00042 private: 00043 shellp::ShellCmdRealArg *centerxarg, *centeryarg, *sizearg; 00044 shellp::ShellCmdIntArg *subdivarg; 00045 }; 00046 00047 class CmdGridNewLens : public shellp::ShellCommand 00048 { 00049 public: 00050 CmdGridNewLens(const std::string &cmdname); 00051 ~CmdGridNewLens(); 00052 bool execute(); 00053 private: 00054 shellp::ShellCmdRealArg *centerxarg, *centeryarg, *sizearg; 00055 shellp::ShellCmdIntArg *minsquaresarg, *maxsquaresarg; 00056 shellp::ShellCmdIntArg *xintarg, *yintarg; 00057 shellp::ShellCmdBoolArg *m_pIgnoreSheet, *m_pKeepLargerArg; 00058 }; 00059 00060 class CmdGridPlot : public shellp::ShellCommand 00061 { 00062 public: 00063 CmdGridPlot(const std::string &cmdName); 00064 ~CmdGridPlot(); 00065 bool execute(); 00066 private: 00067 shellp::ShellCmdStringArg *m_pFileNameArg; 00068 }; 00069 00070 #endif // CMDGRID_H 00071