00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef OST_IO_ENTITY_IO_PLUGIN_PDB_H
00020 #define OST_IO_ENTITY_IO_PLUGIN_PDB_H
00021
00022
00023
00024
00025 #include <vector>
00026
00027 #include <ost/io/mol/entity_io_handler.hh>
00028
00029 namespace ost { namespace io {
00030
00031
00032 class DLLEXPORT_OST_IO EntityIOPDBHandler: public EntityIOHandler {
00033 public:
00034 virtual void Import(mol::EntityHandle& ent,
00035 const boost::filesystem::path& loc);
00036
00037 virtual void Export(const mol::EntityView& ent,
00038 const boost::filesystem::path& loc) const;
00039
00040 virtual void Import(mol::EntityHandle& ent, std::istream& stream);
00041
00042 virtual void Export(const mol::EntityView& ent, std::ostream& stream) const;
00043
00044 static bool ProvidesImport(const boost::filesystem::path& loc,
00045 const String& format="auto");
00046 static bool ProvidesExport(const boost::filesystem::path& loc,
00047 const String& format="auto");
00048 virtual bool RequiresProcessor() const;
00049
00050 static String GetFormatName() { return String("Pdb"); }
00051 static String GetFormatDescription() { return String("Protein Data Bank file format"); }
00052 };
00053
00054
00055 typedef EntityIOHandlerFactory<EntityIOPDBHandler> EntityIOPDBHandlerFactory;
00056
00057
00058 }}
00059
00060 #endif