#include #include #include #include #include #include "DLASystem.h" using std::cout; using std::endl; // this is a global pointer, which is how we access the system itself DLASystem *sys; Config::Config(int argc, char **argv) { if (argc != 4) { exit(1); } else { this->seed = std::stoi(argv[1]); this->stickProbability = std::stod(argv[2]); this->maxParticles = std::stoi(argv[3]); if (stickProbability <= 0 || stickProbability > 1) { exit(1); } std::stringstream str; // Ensure the output file name contains all information required to replicate data str << "./out-" << seed << '-' << stickProbability << "-" << maxParticles << ".csv"; std::ofstream csv_out(str.str()); this->csv = std::move(csv_out); this->csv << "frame" << "," << "x" << "," << "y" << std::endl; } } int main(int argc, char **argv) { Config config(argc, argv); cout << "Seed: " << config.seed << ", Stick P: " << config.stickProbability << endl; // create the system sys = new DLASystem(std::move(config)); sys->setRunning(); /* * NOTE: We run at max speed as rendering is handled by a different engine so we simply want to hjand * */ while (sys->running) { sys->Update(); } cout << "hey" << endl; return 0; }