1 /* select.h
2 
3    MolScript v2.1.2
4 
5    Atom and residue selection definitions.
6 
7    Copyright (C) 1997-1998 Per Kraulis
8      7-Dec-1996  first attempts
9      2-Jan-1997  largely finished
10 */
11 
12 #include "coord.h"
13 
14 typedef struct selection selection;
15 
16 struct selection {
17   int *flags;
18   selection *next, *prev;
19 };
20 
21 void push_atom_selection (void);
22 void push_residue_selection (void);
23 void pop_atom_selection (void);
24 void pop_residue_selection (void);
25 
26 int count_atom_selections (void);
27 int count_residue_selections (void);
28 
29 int select_atom_count (void);
30 int select_residue_count (void);
31 
32 at3d **select_atom_list (int *atom_count);
33 
34 void select_atom_not (void);
35 void select_atom_and (void);
36 void select_atom_or (void);
37 
38 void select_residue_not (void);
39 void select_residue_and (void);
40 void select_residue_or (void);
41 
42 void select_atom_id (const char *item);
43 void select_atom_res_id (const char *item);
44 void select_atom_occupancy (void);
45 void select_atom_b_factor (void);
46 void select_atom_in (void);
47 void select_atom_sphere (void);
48 void select_atom_close (void);
49 void select_atom_backbone (void);
50 void select_atom_peptide (void);
51 void select_atom_hydrogens (void);
52 void select_atom_element (const char *item);
53 
54 void select_residue_molecule (const char *item);
55 void select_residue_model (void);
56 void select_residue_from_to (const char *item1, const char *item2);
57 void select_residue_id (const char *item);
58 void select_residue_type (const char *item);
59 void select_residue_chain (const char *item);
60 void select_residue_contains (void);
61 void select_residue_amino_acids (void);
62 void select_residue_waters (void);
63 void select_residue_nucleotides (void);
64 void select_residue_ligands (void);
65 void select_residue_segid (const char *item);
66 
67 extern selection *current_atom_sel;
68 extern selection *current_residue_sel;
69