19 #ifndef OST_IO_ENTITY_IO_PLUGIN_MAE_H
20 #define OST_IO_ENTITY_IO_PLUGIN_MAE_H
24 #include <boost/iostreams/filtering_stream.hpp>
25 #include <boost/filesystem/fstream.hpp>
27 namespace ost {
namespace io {
31 MAEReader(
const boost::filesystem::path& loc);
33 void Import(mol::EntityHandle& ent);
37 void add_atom(mol::EntityHandle ent,
38 mol::XCSEditor& editor,
const std::string& s_aname,
39 const std::string& s_axpos,
40 const std::string& s_aypos,
41 const std::string& s_azpos,
42 const std::string& s_rname,
43 const std::string& s_rnum,
44 const std::string& s_cname);
46 mol::ChainHandle curr_chain_;
47 mol::ResidueHandle curr_residue_;
51 boost::filesystem::ifstream infile_;
52 boost::iostreams::filtering_stream<boost::iostreams::input> in_;
57 virtual void Import(mol::EntityHandle& ent,
const boost::filesystem::path& loc);
59 virtual void Export(
const mol::EntityView& ent,
60 const boost::filesystem::path& loc)
const;
62 virtual void Import(mol::EntityHandle& ent, std::istream& stream);
64 virtual void Export(
const mol::EntityView& ent, std::ostream& stream)
const;
66 static bool ProvidesImport(
const boost::filesystem::path& loc,
67 const String& format=
"auto");
68 static bool ProvidesExport(
const boost::filesystem::path& loc,
69 const String& format=
"auto");
70 virtual bool RequiresBuilder()
const;
102 #ifndef OST_IO_ENTITY_IO_PLUGIN_MAE_H
103 #define OST_IO_ENTITY_IO_PLUGIN_MAE_H
107 #include <boost/iostreams/filtering_stream.hpp>
108 #include <boost/filesystem/fstream.hpp>
110 namespace ost {
namespace io {
114 MAEReader(
const boost::filesystem::path& loc);
116 void Import(mol::EntityHandle& ent);
120 void add_atom(mol::EntityHandle ent,
121 mol::XCSEditor& editor,
const std::string& s_aname,
122 const std::string& s_axpos,
123 const std::string& s_aypos,
124 const std::string& s_azpos,
125 const std::string& s_rname,
126 const std::string& s_rnum,
127 const std::string& s_cname);
129 mol::ChainHandle curr_chain_;
130 mol::ResidueHandle curr_residue_;
134 boost::filesystem::ifstream infile_;
135 boost::iostreams::filtering_stream<boost::iostreams::input> in_;
140 virtual void Import(mol::EntityHandle& ent,
const boost::filesystem::path& loc);
142 virtual void Export(
const mol::EntityView& ent,
143 const boost::filesystem::path& loc)
const;
145 virtual void Import(mol::EntityHandle& ent, std::istream& stream);
147 virtual void Export(
const mol::EntityView& ent, std::ostream& stream)
const;
149 static bool ProvidesImport(
const boost::filesystem::path& loc,
150 const String& format=
"auto");
151 static bool ProvidesExport(
const boost::filesystem::path& loc,
152 const String& format=
"auto");
153 virtual bool RequiresBuilder()
const;
156 static String GetFormatDescription() {
return String(
"MAEstro coordinate file format"); }