incorporated visual functions to moldyn api
[physik/posic.git] / moldyn.h
index 36e701e..83414dd 100644 (file)
--- a/moldyn.h
+++ b/moldyn.h
@@ -64,8 +64,6 @@ typedef struct s_linkcell {
        int dnlc;               /* direct neighbour lists counter */
 } t_linkcell;
 
-#include "visual/visual.h"
-
 /* moldyn schedule structure */
 typedef struct s_moldyn_schedule {
        int count;
@@ -76,6 +74,13 @@ typedef struct s_moldyn_schedule {
        void *hook_params;
 } t_moldyn_schedule;
 
+/* visualization structure */
+typedef struct s_visual {
+       int fd;                 /* rasmol script file descriptor */
+       char fb[128];           /* basename of the save files */
+       t_3dvec dim;            /* dimensions of the simulation cell */
+} t_visual;
+
 /* moldyn main structure */
 typedef struct s_moldyn {
        int argc;               /* number of arguments */
@@ -375,7 +380,6 @@ typedef struct s_moldyn {
 #define FCC                    0x02
 #define DIAMOND                        0x04
 
-
 /*
  *
  * function prototypes
@@ -417,6 +421,7 @@ int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass,
                    u8 attr,u8 brand,int a,int b,int c,t_3dvec *origin);
 int add_atom(t_moldyn *moldyn,int element,double mass,u8 brand,u8 attr,
              t_3dvec *r,t_3dvec *v);
+int del_atom(t_moldyn *moldyn,int tag);
 int cubic_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin);
 int fcc_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin);
 int diamond_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin);
@@ -468,4 +473,8 @@ int moldyn_bc_check(t_moldyn *moldyn);
 
 int get_line(int fd,char *line,int max);
 
+int visual_init(t_visual *v,char *filebase);
+int visual_atoms(t_visual *v,double time,t_atom *atom,int n);
+
 #endif
+