Converted gmxpreprocess to compile as C++
[alexxy/gromacs.git] / src / gromacs / gmxpreprocess / read-conformation.h
index 95e5badd21d892ef029ddb773fe3c80cfe2bc081..7c9f6a27fd1d6045deb8ec8a2c4f175ba1473d55 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2014, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_GMXPREPROCESS_READ_CONFORMATION_H
 #define GMX_GMXPREPROCESS_READ_CONFORMATION_H
 
-#include "types/simple.h"
-#include "types/atoms.h"
-#include "atomprop.h"
+#include "gromacs/legacyheaders/types/simple.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif
+struct gmx_atomprop;
+struct t_atoms;
 
-/*! Helper function reading VDW radii
- *
- * Used directly and indirectly by generate-velocities and
- * insert-molecules. */
-void mk_vdw(t_atoms *a, real rvdw[], gmx_atomprop_t aps,
-            real r_distance, real r_scale);
+/*! \brief Allocate and fill an array of inter-atomic half distances
+ *
+ * These are either scaled VDW radii taken from vdwradii.dat, or the
+ * default value. Used directly and indirectly by solvate and
+ * insert-molecules for deciding whether molecules clash. The return
+ * pointer should be freed by the caller. */
+real *makeExclusionDistances(const struct t_atoms *a, struct gmx_atomprop *aps,
+                             real defaultDistance, real scaleFactor);
 
-/*! Helper function to read a conformation from a file.
+/*! \brief Read a conformation from a file, allocate and fill data structures.
  *
- * Used by generate-velocities and insert-molecules. */
-char *read_conformation(const char *confin, t_atoms *atoms, rvec **x, rvec **v,
-                        real **r, int *ePBC, matrix box, gmx_atomprop_t aps,
-                        real r_distance, real r_scale);
-
-#ifdef __cplusplus
-}
-#endif
+ * Used by solvate and insert-molecules. The returned pointers *x and
+ * *v should be freed by the caller. atoms should have its destructor
+ * called. */
+char *readConformation(const char *confin, struct t_atoms *atoms, rvec **x, rvec **v,
+                       int *ePBC, matrix box, const char *statusTitle);
 
 #endif