Skip to content

Commit

Permalink
Refactor main.cpp: remove unused functions and improve command line a…
Browse files Browse the repository at this point in the history
…rgument handling
  • Loading branch information
fire committed Sep 28, 2023
1 parent 65782b9 commit de5a154
Showing 1 changed file with 16 additions and 34 deletions.
50 changes: 16 additions & 34 deletions src/code/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,6 @@
#include <queue>
using namespace glm;

void runBackwardTask(int demoIdx, bool isRandom, int srandSeed) {
Simulation::SceneConfiguration initSceneProfile =
OptimizationTaskConfigurations::hatScene;
Simulation *clothSystem =
Simulation::createSystem(initSceneProfile, Vec3d(0, 0, 0), true);

BackwardTaskSolver::solveDemo(
clothSystem, [&](const std::string &v) {}, demoIdx, isRandom, srandSeed);

delete clothSystem;
}

char *getCmdOption(char **begin, char **end, const std::string &option) {
char **itr = std::find(begin, end, option);
if (itr != end && ++itr != end) {
Expand All @@ -28,24 +16,6 @@ char *getCmdOption(char **begin, char **end, const std::string &option) {
return 0;
}

void checkCmdOptionExistsAndValid(std::string option, char *input,
std::vector<std::string> options) {
if (!input) {
Logging::logFatal("Please specify " + std::string(option) + "\n");
exit(0);
}

if (options.empty())
return;
for (std::string candidate : options) {
if (candidate == std::string(input))
return;
}

Logging::logFatal("Invalid option for " + std::string(option) + "\n");
exit(0);
}

static std::string getEnvVar(const std::string &name) {
if (const char *value = std::getenv(name.c_str())) {
return std::string(value);
Expand Down Expand Up @@ -92,8 +62,10 @@ int main(int argc, char *argv[]) {
char *demoNameStr = getCmdOption(argv, argv + argc, "-demo");
char *randSeedStr = getCmdOption(argv, argv + argc, "-seed");
char *expStr = getCmdOption(argv, argv + argc, "-exp");
checkCmdOptionExistsAndValid("-demo", demoNameStr, validDemos);

if (!demoNameStr) {
Logging::logFatal("Please specify " + std::string("-demo") + "\n");
exit(0);
}
if (argc == 1) {
Logging::logFatal(
"WARNING: No command line argument.\n Please specify "
Expand All @@ -113,8 +85,18 @@ int main(int argc, char *argv[]) {
} else if (demoName == "dress") {
demo = Demos::DEMO_DRESS_TWIRL;
}
checkCmdOptionExistsAndValid("-seed", randSeedStr, {});
runBackwardTask(demo, true, std::atoi(randSeedStr));
if (!randSeedStr) {
Logging::logFatal("Please specify " + std::string("-seed") + "\n");
exit(0);
}

Simulation::SceneConfiguration initSceneProfile =
OptimizationTaskConfigurations::hatScene;
Simulation *clothSystem =
Simulation::createSystem(initSceneProfile, Vec3d(0, 0, 0), true);
BackwardTaskSolver::solveDemo(
clothSystem, [&](const std::string &v) {}, demo, true, std::atoi(randSeedStr));
delete clothSystem;
std::printf("Exiting program...\n");
}

Expand Down

0 comments on commit de5a154

Please sign in to comment.