Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

56 lines
1.5 KiB

// Copyright(C) 1999-2022 National Technology & Engineering Solutions
// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
// NTESS, the U.S. Government retains certain rights in this software.
//
// See packages/seacas/LICENSE for details
#pragma once
#include <EML_CodeTypes.h> // for StringIdVector
#include <GetLongOpt.h> // for GetLongOption
#include <string> // for string
class SystemInterface
{
public:
SystemInterface();
~SystemInterface() = default;
bool parse_options(int argc, char **argv);
char field_suffix() const { return fieldSuffix_; }
StringIdVector global_var_names() const { return globalVarNames_; }
StringIdVector vars_to_list() const { return varsToList_; }
bool list_vars() const { return listVars_; }
std::string input_file() const { return inputFile_; }
std::string output_file() const { return outputFile_; }
double minimum_time() const { return minimumTime_; }
double maximum_time() const { return maximumTime_; }
//! Dumps representation of data in this class to cerr
static void show_version();
private:
void enroll_options();
double minimumTime_{0.0};
double maximumTime_{-1.0};
GetLongOption options_; //!< Options parsing
std::string inputFile_{};
std::string outputFile_{};
StringIdVector globalVarNames_;
StringIdVector nodeVarNames_;
StringIdVector elemVarNames_;
StringIdVector nsetVarNames_;
StringIdVector ssetVarNames_;
StringIdVector varsToList_;
bool listVars_{false};
char fieldSuffix_{0};
};