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.
 
 
 
 
 
 

89 lines
3.0 KiB

// Copyright(C) 1999-2020, 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 "CJ_CodeTypes.h"
#include "GetLongOpt.h" // for GetLongOption
#include <iosfwd> // for ostream
#include <string> // for string
namespace Excn {
class SystemInterface
{
public:
SystemInterface();
~SystemInterface();
bool parse_options(int argc, char **argv);
int debug() const { return debugLevel_; }
int screen_width() const { return screenWidth_; }
int compress_data() const { return compressionLevel_; }
bool zlib() const { return zlib_; }
bool szip() const { return szip_; }
bool omit_nodesets() const { return omitNodesets_; }
bool omit_sidesets() const { return omitSidesets_; }
bool ints_64_bit() const { return ints64Bit_; }
bool ignore_coordinates() const { return ignoreCoordinates_; }
bool use_netcdf4() const { return useNetcdf4_; }
bool sort_times() const { return sortTimes_; }
double alive_value() const { return aliveValue_; }
double interpart_minimum_time_delta() const { return interpartMinimumTimeDelta_; }
StringIdVector global_var_names() const { return globalVarNames_; }
StringIdVector node_var_names() const { return nodeVarNames_; }
StringIdVector elem_var_names() const { return elemVarNames_; }
StringIdVector nset_var_names() const { return nsetVarNames_; }
StringIdVector sset_var_names() const { return ssetVarNames_; }
const std::string &element_status_variable() const { return elementStatusVariable_; }
const std::string &nodal_status_variable() const { return nodalStatusVariable_; }
const std::string &combined_mesh_status_variable() const { return meshCombineStatusVariable_; }
//! Dumps representation of data in this class to cerr
void dump(std::ostream &str) const;
static void show_version();
// Make this private eventually...
StringVector inputFiles_{};
std::string outputName_{};
private:
void enroll_options();
GetLongOption options_{}; //!< Options parsing
int debugLevel_{0};
int screenWidth_{0};
int compressionLevel_{0};
bool zlib_{true};
bool szip_{false};
bool omitNodesets_{false};
bool omitSidesets_{false};
bool ints64Bit_{false};
bool ignoreCoordinates_{false};
bool useNetcdf4_{false};
bool sortTimes_{false};
double aliveValue_{-1.0};
double interpartMinimumTimeDelta_{0.0};
std::string elementStatusVariable_{};
std::string nodalStatusVariable_{};
// Mesh status variable to combine with elementStatusVariable_
std::string meshCombineStatusVariable_{};
StringIdVector globalVarNames_{};
StringIdVector nodeVarNames_{};
StringIdVector elemVarNames_{};
StringIdVector nsetVarNames_{};
StringIdVector ssetVarNames_{};
};
} // namespace Excn