19 #ifndef OST_IO_ENTITY_IO_PLUGIN_MAE_H
20 #define OST_IO_ENTITY_IO_PLUGIN_MAE_H
27 #include <boost/iostreams/filtering_stream.hpp>
28 #include <boost/filesystem/fstream.hpp>
30 namespace ost {
namespace io {
34 MAEReader(
const boost::filesystem::path& loc);
36 void Import(mol::EntityHandle& ent);
40 void parse_and_add_atom(mol::EntityHandle ent,
41 mol::XCSEditor& editor,
52 mol::ChainHandle curr_chain_;
53 mol::ResidueHandle curr_residue_;
57 boost::filesystem::ifstream infile_;
58 boost::iostreams::filtering_stream<boost::iostreams::input> in_;
63 virtual void Import(mol::EntityHandle& ent,
const boost::filesystem::path& loc);
65 virtual void Export(
const mol::EntityView& ent,
66 const boost::filesystem::path& loc)
const;
68 virtual void Import(mol::EntityHandle& ent, std::istream& stream);
70 virtual void Export(
const mol::EntityView& ent, std::ostream& stream)
const;
72 static bool ProvidesImport(
const boost::filesystem::path& loc,
73 const String& format=
"auto");
74 static bool ProvidesExport(
const boost::filesystem::path& loc,
75 const String& format=
"auto");
76 virtual bool RequiresProcessor()
const;