XYZFile.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: XYZFile.h,v 1.17.18.1 2007/03/25 21:23:42 oliver Exp $
00005 //
00006 
00007 #ifndef BALL_FORMAT_XYZFILE_H
00008 #define BALL_FORMAT_XYZFILE_H
00009 
00010 #ifndef BALL_FORMAT_GENERICMOLFILE_H
00011 # include <BALL/FORMAT/genericMolFile.h>
00012 #endif
00013 
00014 namespace BALL 
00015 {
00016   class System;
00017   class Molecule;
00018   class AtomContainer;
00019 
00036   class BALL_EXPORT XYZFile
00037     : public GenericMolFile
00038   {
00039     public:
00040 
00044 
00047     XYZFile();
00048 
00054     XYZFile(const String& filename, File::OpenMode open_mode = std::ios::in)
00055       throw(Exception::FileNotFound);
00056 
00059     XYZFile(const XYZFile& file)
00060       throw(Exception::FileNotFound);
00061 
00063     virtual ~XYZFile()
00064       ;
00065     
00067 
00070     
00073     virtual bool write(const AtomContainer& ac)
00074       throw(File::CannotWrite);
00075 
00078     virtual bool write(const System& system)
00079       throw(File::CannotWrite);
00080     
00083     virtual bool write(const Molecule& mol)
00084       throw(File::CannotWrite);
00085 
00088     virtual bool read(System& system)
00089       throw(Exception::ParseError);
00090 
00093     virtual Molecule* read()
00094       throw(Exception::ParseError);
00095 
00096     const XYZFile& operator = (const XYZFile& file)
00097     {
00098       File::operator = (file);
00099 
00100       return *this;
00101     }
00102 
00104     BALL_DEPRECATED const String& getComent() const { return comment_; }
00105     
00107     const String& getComment() const { return comment_; }
00108 
00109     private:
00110 
00111     String comment_;
00112     
00114   };
00115 } // namespace BALL
00116 
00117 #endif // BALL_FORMAT_XYZFILE_H