IOSS 2.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
info_interface.h
Go to the documentation of this file.
1/*
2 * Copyright(C) 1999-2020, 2022, 2023, 2024, 2025 National Technology & Engineering Solutions
3 * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
4 * NTESS, the U.S. Government retains certain rights in this software.
5 *
6 * See packages/seacas/LICENSE for details
7 */
8#pragma once
9
10#include <iosfwd> // for ostream
11#include <string> // for string
12
13#include "Ioss_GetLongOpt.h" // for GetLongOption
14#include "io_info_lib_export.h"
15
16/** \brief A special namespace for the io_info demonstration program interFace.
17 */
18namespace Info {
19 class IO_INFO_LIB_EXPORT Interface
20 {
21 public:
22 explicit Interface(std::string app_version);
23
24 IOSS_NODISCARD bool parse_options(int argc, char **argv);
25
26 IOSS_NODISCARD bool summary() const { return summary_; }
29 IOSS_NODISCARD bool compute_bbox() const { return computeBBox_; }
30 IOSS_NODISCARD bool adjacencies() const { return adjacencies_; }
31 IOSS_NODISCARD bool ints_64_bit() const { return ints64Bit_; }
33 IOSS_NODISCARD bool show_config() const { return showConfig_; }
37
42 IOSS_NODISCARD std::string decomp_method() const { return decompMethod_; }
43 IOSS_NODISCARD std::string filename() const { return filename_; }
44 IOSS_NODISCARD std::string type() const { return filetype_; }
45 IOSS_NODISCARD std::string change_set_name() const { return changeSetName_; }
46 IOSS_NODISCARD std::string custom_field() const { return customField_; }
47
48 std::string version{};
49
50 private:
51 void enroll_options();
52
54 std::string filetype_{"exodus"};
55 std::string filename_{};
56 std::string changeSetName_{};
57 std::string decompMethod_{};
58 std::string customField_{};
59
60 bool checkNodeStatus_{false};
61 bool computeVolume_{false};
62 bool adjacencies_{false};
63 bool ints64Bit_{false};
64 bool computeBBox_{false};
65 bool listChangeSets_{false};
66 bool useGenericNames_{false};
68 bool showConfig_{false};
69 bool summary_{false};
70 bool queryTimeOnly_{false};
71 bool showTimes_{false};
72 bool fieldDetails_{false};
73
75
77 };
78} // namespace Info
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:56
Interface(std::string app_version)
Definition info_interface.C:19
IOSS_NODISCARD std::string filename() const
Definition info_interface.h:43
std::string version
Definition info_interface.h:48
IOSS_NODISCARD char field_suffix_separator() const
Definition info_interface.h:39
IOSS_NODISCARD bool use_generic_names() const
Definition info_interface.h:40
IOSS_NODISCARD bool compute_bbox() const
Definition info_interface.h:29
bool showConfig_
Definition info_interface.h:68
bool computeVolume_
Definition info_interface.h:61
IOSS_NODISCARD std::string change_set_name() const
Definition info_interface.h:45
IOSS_NODISCARD std::string custom_field() const
Definition info_interface.h:46
IOSS_NODISCARD bool adjacencies() const
Definition info_interface.h:30
bool queryTimeOnly_
Definition info_interface.h:70
char fieldSuffixSeparator_
Definition info_interface.h:74
std::string customField_
Definition info_interface.h:58
IOSS_NODISCARD bool ints_64_bit() const
Definition info_interface.h:31
IOSS_NODISCARD std::string decomp_method() const
Definition info_interface.h:42
std::string changeSetName_
Definition info_interface.h:56
IOSS_NODISCARD bool compute_volume() const
Definition info_interface.h:28
IOSS_NODISCARD bool summary() const
Definition info_interface.h:26
IOSS_NODISCARD bool list_change_sets() const
Definition info_interface.h:32
IOSS_NODISCARD int surface_split_scheme() const
Definition info_interface.h:38
bool fieldDetails_
Definition info_interface.h:72
IOSS_NODISCARD bool check_node_status() const
Definition info_interface.h:27
bool summary_
Definition info_interface.h:69
int surfaceSplitScheme_
Definition info_interface.h:76
std::string filename_
Definition info_interface.h:55
bool disableFieldRecognition_
Definition info_interface.h:67
bool ints64Bit_
Definition info_interface.h:63
Ioss::GetLongOption options_
Definition info_interface.h:53
bool checkNodeStatus_
Definition info_interface.h:60
IOSS_NODISCARD bool field_details() const
Definition info_interface.h:36
bool listChangeSets_
Definition info_interface.h:65
bool useGenericNames_
Definition info_interface.h:66
IOSS_NODISCARD std::string type() const
Definition info_interface.h:44
std::string decompMethod_
Definition info_interface.h:57
bool showTimes_
Definition info_interface.h:71
IOSS_NODISCARD bool show_timestep_times() const
Definition info_interface.h:35
bool computeBBox_
Definition info_interface.h:64
IOSS_NODISCARD bool disable_field_recognition() const
Definition info_interface.h:41
IOSS_NODISCARD bool query_timesteps_only() const
Definition info_interface.h:34
IOSS_NODISCARD bool show_config() const
Definition info_interface.h:33
std::string filetype_
Definition info_interface.h:54
IOSS_NODISCARD bool parse_options(int argc, char **argv)
Definition info_interface.C:178
bool adjacencies_
Definition info_interface.h:62
A database of program command line and environment variable options and methods for manipulating them...
Definition Ioss_GetLongOpt.h:25
A special namespace for the io_info demonstration program interFace.
Definition info_interface.h:18