1 /*
2 A* -------------------------------------------------------------------
3 B* This file contains source code for the PyMOL computer program
4 C* copyright Schrodinger, LLC.
5 D* -------------------------------------------------------------------
6 E* It is unlawful to modify or remove this copyright notice.
7 F* -------------------------------------------------------------------
8 G* Please see the accompanying LICENSE file for further information.
9 H* -------------------------------------------------------------------
10 I* Additional authors of this source file include:
11 -*
12 -*
13 -*
14 Z* -------------------------------------------------------------------
15 */
16 
17 #ifndef _H_BondTypeHistory
18 #define _H_BondTypeHistory
19 
20 #include"AtomInfo.h"
21 
22 typedef struct BondType_1_7_6 {
23   int index[2];
24   int order;
25   int id;
26   int unique_id;
27   int temp1;
28   short int stereo;             /* to preserve 2D rep */
29   short int has_setting;        /* setting based on unique_id */
30   int oldid;
31 } BondType_1_7_6;
32 
33 typedef struct BondType_1_7_7 {
34   int index[2];
35   int id;
36   int unique_id;
37   int oldid;
38   signed char order;    // 0-4
39   signed char temp1;    // bool? where used?
40   signed char stereo;   // 0-6 Only for SDF (MOL) format in/out
41   bool has_setting;     /* setting based on unique_id */
42 } BondType_1_7_7;
43 
44 /*
45  * This is not identical to the 1.8.2 BondType, it's missing all members
46  * which are not relevant or unsupported with pse_binary_dump (oldid, temp1)
47  */
48 struct BondType_1_8_1 {
49   int index[2];
50   int id;
51   int unique_id;
52   signed char order;    // 0-4
53   signed char stereo;   // 0-6 Only for SDF (MOL) format in/out
54   bool has_setting;     /* setting based on unique_id */
55 };
56 
57 void Copy_Into_BondType_From_Version(const void *binstr, int bondInfo_version, BondType *Bond, int NBond);
58 void *Copy_To_BondType_Version(int bondInfo_version, BondType *Bond, int NBond);
59 #endif
60