ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/mmeineke/mdtools/headers/BASS_interface.h
Revision: 10
Committed: Tue Jul 9 18:40:59 2002 UTC (22 years ago) by mmeineke
Content type: text/plain
File size: 1175 byte(s)
Log Message:
everything you need to make libmdtools

File Contents

# Content
1 #ifndef __MCL_INTERFACE_H__
2 #define __MCL_INTERFACE_H__
3
4
5 typedef enum { MOLECULE, ATOM, BOND, BEND, TORSION, COMPONENT,
6 POSITION, ASSIGNMENT, MEMBER, CONSTRAINT, ORIENTATION,
7 START_INDEX, BLOCK_END } event_enum;
8
9 typedef struct{
10 double x;
11 double y;
12 double z;
13 } position_event;
14
15 typedef enum { STRING, INT, DOUBLE } interface_assign_type;
16
17 typedef struct{
18 interface_assign_type asmt_type;
19 char lhs[80];
20 union{
21 int ival;
22 double dval;
23 char sval[120];
24 }rhs;
25 } assignment_event;
26
27 typedef struct{
28 int a;
29 int b;
30 int c;
31 int d;
32 } member_event;
33
34 typedef struct{
35 int* array;
36 int n_elements;
37 } start_index_event;
38
39 typedef struct{
40 event_enum event_type;
41 char* err_msg;
42
43 union{
44 int blk_index; // block index
45 position_event pos;
46 position_event ornt; // use the same structure for orientation
47 assignment_event asmt;
48 member_event mbr;
49 double cnstr; // the constraint value
50 start_index_event si;
51 } evt;
52 } event;
53
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57
58 int event_handler( event* the_event );
59
60 #ifdef __cplusplus
61 }
62 #endif
63
64
65 #endif // ifndef __MCL_INTERFACE_H__