00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkXYZMolReader_h
00029 #define __vtkXYZMolReader_h
00030
00031 #include "vtkMoleculeReaderBase.h"
00032
00033
00034 class VTK_IO_EXPORT vtkXYZMolReader : public vtkMoleculeReaderBase
00035 {
00036 public:
00037 vtkTypeRevisionMacro(vtkXYZMolReader,vtkMoleculeReaderBase);
00038 void PrintSelf(ostream& os, vtkIndent indent);
00039
00040 static vtkXYZMolReader *New();
00041
00043 virtual int CanReadFile(const char* name);
00044
00046
00048 vtkSetMacro(TimeStep, int);
00049 vtkGetMacro(TimeStep, int);
00051
00053
00054 vtkGetMacro(MaxTimeStep, int);
00056
00057 protected:
00058 vtkXYZMolReader();
00059 ~vtkXYZMolReader();
00060
00061 void ReadSpecificMolecule(FILE* fp);
00062
00065 char* GetNextLine(FILE* fp, char* line, int maxlen);
00066
00067 int GetLine1(const char* line, int *cnt);
00068 int GetLine2(const char* line, char *name);
00069 int GetAtom(const char* line, char* atom, float *x);
00070
00071 void InsertAtom(const char* atom, float *pos);
00072
00073 vtkSetMacro(MaxTimeStep, int);
00074
00075 int TimeStep;
00076 int MaxTimeStep;
00077
00078 private:
00079 vtkXYZMolReader(const vtkXYZMolReader&);
00080 void operator=(const vtkXYZMolReader&);
00081 };
00082
00083 #endif