moab
ReaderIface.hpp
Go to the documentation of this file.
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     
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines