moab
|
00001 00017 #ifndef MOAB_READER_IFACE_HPP 00018 #define MOAB_READER_IFACE_HPP 00019 00020 #include "moab/Types.hpp" 00021 00022 #include <vector> 00023 00024 namespace moab { 00025 00026 class FileOptions; 00027 00034 class ReaderIface 00035 { 00036 public: 00037 00038 virtual ~ReaderIface() {} 00039 00041 struct IDTag { 00042 const char* tag_name; 00043 const int* tag_values; 00044 int num_tag_values; 00045 }; 00046 00047 struct SubsetList { 00053 IDTag* tag_list; 00054 int tag_list_length; 00055 int num_parts; 00056 int part_number; 00057 }; 00058 00059 00076 virtual ErrorCode load_file( const char* file_name, 00077 const EntityHandle* file_set, 00078 const FileOptions& opts, 00079 const SubsetList* subset_list = 0, 00080 const Tag* file_id_tag = 0 ) = 0; 00081 00082 00098 virtual ErrorCode read_tag_values( const char* file_name, 00099 const char* tag_name, 00100 const FileOptions& opts, 00101 std::vector<int>& tag_values_out, 00102 const SubsetList* subset_list = 0 ) = 0; 00103 }; 00104 00105 } // namespace moab 00106 00107 #endif 00108 00109