Files
lammps/src/reader.h

51 lines
1.6 KiB
C++

/* -*- c++ -*- ----------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
https://www.lammps.org/, Sandia National Laboratories
LAMMPS development team: developers@lammps.org
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
Contributed by Timothy Sirk
------------------------------------------------------------------------- */
#ifndef LMP_READER_H
#define LMP_READER_H
#include "pointers.h"
namespace LAMMPS_NS {
class Reader : protected Pointers {
public:
enum { ID, TYPE, X, Y, Z, VX, VY, VZ, Q, IX, IY, IZ, FX, FY, FZ };
enum { UNSET, NOSCALE_NOWRAP, NOSCALE_WRAP, SCALE_NOWRAP, SCALE_WRAP };
Reader(class LAMMPS *);
~Reader() override;
virtual void settings(int, char **);
virtual int read_time(bigint &) = 0;
virtual void skip() = 0;
virtual bigint read_header(double[3][3], int &, int &, int, int, int *, char **, int, int, int &,
int &, int &, int &) = 0;
virtual void read_atoms(int, int, double **) = 0;
virtual void open_file(const std::string &);
virtual void close_file();
protected:
FILE *fp; // pointer to opened file or pipe
bool compressed; // flag for dump file compression
bool binary; // flag for (native) binary files
};
} // namespace LAMMPS_NS
#endif