File: bonds.h

package info (click to toggle)
easychem 0.6-5
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 936 kB
  • ctags: 518
  • sloc: ansic: 8,993; sh: 2,348; xml: 83; makefile: 68
file content (104 lines) | stat: -rw-r--r-- 5,222 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/* Memory management */
extern void free_bond (struct Bond *bond);
extern void free_bond_list (struct Bond *list);


extern struct Bond *copy_bond (struct Bond *bond);
extern void concat_bond_lists (struct Bond *list1, struct Bond *list2,
                                       int *num_sel);
extern int num_sel_recompute (struct Bond *list);
extern void duplicate_selected_in_list (struct Bond *list);
extern void update_sel_close (struct Bond *list);
extern void remove_duplicate_in_list (struct Bond **list, int *nul_sel);
extern void remove_empty_groups (struct Bond **list, int *nul_sel);
extern struct Bond *copy_bond_list (struct Bond *list);
extern struct Bond *add_bond (const LLINT x1, const LLINT y1,
			      const LLINT x2, const LLINT y2, const int type,
			      struct Bond **list, const int options);
extern struct Bond *add_atom (const LLINT x, const LLINT y,
			      struct Bond **list, const int type);
extern struct Bond * closest_end_of_bond (const LLINT x, const LLINT y,
	                                  unsigned int *end, struct Bond *list,
					  double * dist,
					  const double sensibility);
extern struct Bond *closest_bond (const LLINT x, const LLINT y,
				  struct Bond *list, const LLINT sensibility);
extern double distance_to_bond (const LLINT x, const LLINT y,
				struct Bond *bond);
extern void clear_selection (struct Bond *list, int *num_sel);
extern void clear_selection_attribute (struct Bond *list,
				       const int attribute);
extern void select_in_rectangle (LLINT x1, LLINT y1,
				 LLINT x2, LLINT y2, struct Bond *list,
				 int *num_sel);
extern void change_in_rectangle (LLINT x1, LLINT y1,
				 LLINT x2, LLINT y2, struct Bond *list,
				 int *num_sel);
extern void select_molecule (struct Bond *list, struct Bond *ref,
			     int *num_sel);
extern void select_add_molecule (struct Bond *list, struct Bond *ref,
				 int *num_sel);
extern void delete_bond (struct Bond **list, struct Bond *ref, int *num_sel);
extern void delete_molecule (struct Bond **list, struct Bond *ref,
			     int *num_sel);
extern int update_num_sel (struct Bond *list);
extern int closest_point (struct Bond *list, LLINT * x, LLINT * y,
			  LLINT sensibility);
extern void center_of_selection (struct Bond *list, LLINT * x, LLINT * y);
extern void delete_selection (struct Bond **list, int *num_sel);
extern struct Bond * copy_selection (struct Bond *list, LLINT xshift,
                                     LLINT yshift);
extern void save_list_bonds (struct Bond *list, FILE * file, const int debug,
			     const int no_title);
extern struct Bond *load_list_bonds (FILE * file, const int recursive,
                                     const int shift);
extern void move_bond_from_pos (struct Bond *new, struct Bond *old,
				const LLINT x, const LLINT y);
extern void move_point_from_pos (struct Bond *new, struct Bond *old,
				 const LLINT x_point, const LLINT y_point,
				 const LLINT x, const LLINT y);
extern void move_point_close (struct Bond *new, struct Bond *old,
			      const LLINT x, const LLINT y);
extern int generate_points (struct Bond *list, LLINT ** x, LLINT ** y,
			    short int **sel);
extern void rotate_angle (struct Bond *list_new, struct Bond *list_old,
			  const LLINT x_orig, const LLINT y_orig,
			  const double st, const double ct,
			  const int recursive);
extern int unmodified (struct Bond *list, const char filename[]);
extern void select_all (struct Bond *list, int *num_sel);

/* Grouping and ungrouping */
extern void group_selection (struct Bond **list, int *num_sel);
extern void ungroup_selection (struct Bond **list, int *num_sel);

extern void bounds_of_list (struct Bond *list, LLINT * xmin,
			    LLINT * xmax, LLINT * ymin, LLINT * ymax);
extern void bounds_of_selection (struct Bond *list, LLINT * xmin,
				 LLINT * xmax, LLINT * ymin, LLINT * ymax);
extern void bounds_of_bond (struct Bond *bond, LLINT * xmin, LLINT * xmax,
			    LLINT * ymin, LLINT * ymax, const int groups);
extern int is_similar (struct Bond *bond1, struct Bond *bond2);
extern double distance_to_bond_list (const LLINT x, const LLINT y,
				     struct Bond *list);
extern int bonds_are_close (struct Bond *bond1, struct Bond *bond2);
extern void update_bounds_of_group (struct Bond *group);
extern int bond_list_are_similar (struct Bond *list1, struct Bond *list2);
extern void align_selection (struct Bond *list, const int horizontal,
			     const int vertical);
extern int text_to_pango (struct Bond *bond);
extern unsigned int corresponding_bracket (const gchar * text,
                                           const unsigned p);
extern gchar *richtext_to_pango (const gchar * text, const unsigned int p1i,
                                 const unsigned int p2i);
extern int parts_of_group_text (struct Bond *bond, gchar ** left,
                                gchar ** right);
extern gchar * centered_part_of_group (struct Bond *bond);

/* Ornaments */
extern struct Bond * delete_ornaments_on_point (struct Bond *list,
	                                        const LLINT x, const LLINT y);
extern unsigned int gather_ornaments_on_point
  (struct Bond *list, struct Ornament orns[], const unsigned int max,
   const LLINT x, const LLINT y);