]> git.treefish.org Git - seamulator.git/blobdiff - src/seamulator.cpp
Fixed license text
[seamulator.git] / src / seamulator.cpp
index 98e92df2b793be60836328152be73591ce6f9e62..42111091113a0a384c7427a540f83d923d0c3417 100644 (file)
@@ -1,3 +1,22 @@
+/**
+ * Copyright (C) 2016  Alexander Schmidt
+ *
+ * This file is part of Seamulator.
+ *
+ * Seamulator is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Seamulator is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Seamulator.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #include <ctime>
 #include <cmath>
 #include <iostream>
@@ -29,28 +48,17 @@ struct Settings {
   double amplitudeFactor;
 };
 
-namespace po = boost::program_options;
-
 void glDisplayFunc();
 void glReshapeFunc(int width, int height);
 void glMouseFunc(int button, int state, int x, int y);
 void glMotionFunc(int x, int y);
-Settings parseArguments(int argc, char** argv, po::options_description desc);
+Settings parseArguments(int argc, char** argv);
+
+namespace po = boost::program_options;
 
 int main(int argc, char** argv)
 {
-  po::options_description desc("Available options");
-  desc.add_options()
-    ("help,h", "produce help message")
-    ("windspeed,w", po::value<double>()->default_value(10),
-     "wind speed given in m/s")
-    ("size,s", po::value<std::string>()->default_value("small"),
-     "lattice size (small/large)")
-    ("amplitude,a", po::value<double>()->default_value(1),
-     "amplitude multiplicator")
-    ;
-
-  Settings settings = parseArguments(argc, argv, desc);
+  Settings settings = parseArguments(argc, argv);
 
   std::srand(std::time(0));
   surface = std::make_shared<WaterSurface>(settings.latticeSize,
@@ -79,8 +87,19 @@ int main(int argc, char** argv)
   return 0;
 }
 
-Settings parseArguments(int argc, char** argv, po::options_description desc)
+Settings parseArguments(int argc, char** argv)
 {
+  po::options_description desc("Available options");
+  desc.add_options()
+    ("help,h", "show this help")
+    ("windspeed,w", po::value<double>()->default_value(10),
+     "wind speed (m/s)")
+    ("size,s", po::value<char>()->default_value('s'),
+     "lattice size (s|l)")
+    ("amplitude,a", po::value<double>()->default_value(1),
+     "amplitude multiplicator")
+    ;
+
   po::variables_map vm;
   po::store(po::parse_command_line(argc, argv, desc), vm);
   po::notify(vm);
@@ -94,7 +113,7 @@ Settings parseArguments(int argc, char** argv, po::options_description desc)
 
   settings.windSpeed = vm["windspeed"].as<double>();
 
-  if (vm["size"].as<std::string>() == "large") {
+  if (vm["size"].as<char>() == 'l') {
     settings.latticeSize = 256;
     settings.latticeExtend = 20;
     settings.amplitudeFactor = vm["amplitude"].as<double>() * 0.00000004;