File: select.h

package info (click to toggle)
gdis 0.90-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 10,392 kB
  • sloc: ansic: 71,117; perl: 298; sh: 115; python: 115; makefile: 33; xml: 26
file content (101 lines) | stat: -rw-r--r-- 2,688 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

void set_selection_mode(GtkWidget *, gpointer *);

void select_clear(struct model_pak *);
void select_copy(void);
void select_paste(void);

void select_colour(void);
void select_delete(void);
void select_hide(void);
void select_invert(void);
void select_all(void);

void select_flag_ghost(void);
void select_flag_normal(void);

void select_core(struct core_pak *, gint, struct model_pak *);

gint select_add_core(struct core_pak *, struct model_pak *);
void select_add_mol(struct mol_pak *, struct model_pak *);
void select_add_fragment(struct core_pak *, struct model_pak *);
void select_add_region(struct core_pak *, struct model_pak *);
void select_del_core(struct core_pak *, struct model_pak *);
void select_all_labels(struct core_pak *, struct model_pak *);
void select_all_types(struct core_pak *, struct model_pak *);
void select_all_elem(gint, struct model_pak *);
void select_all_elem_in_mol(struct core_pak *, struct model_pak *);
void select_model_labels(void);

void core_render_mode_set(gint, GSList *);
void core_render_wire_set(gint, GSList *);

void rotate_select(struct model_pak *, gdouble *);
void select_translate(gint, gint, struct model_pak *);

void construct_backbone(struct core_pak *, struct model_pak *);
void construct_ribbon(GList *, struct model_pak *);

GSList *exit_branches(struct core_pak *, struct core_pak *);

/* NEW - structures for exploring the connectivity/ribbon */
struct link_pak
{
gint id;
gint type;
gint size;

/* NB: first & last atoms of the link are nodes */
struct core_pak *first;
struct core_pak *last;
GList *chain;
};

struct node_pak
{
struct core_pak *core;
gdouble x[3];

/* FIXME - need better way of indicating explored branches */
gint num_branches;
gint num_explored;

/* TODO - a list dedicated to the 1st atom in the explored pathways */
/* ie makes it easier to check for unexplored exit pathways */
GSList *exit_list;

/* atom chains (and status) */
/* each element in list is a pointer to a link_pak */
GList *link_list;
};


/****************************/
/* ribbon segment structure */
/****************************/
struct ribbon_pak
{
gdouble colour[4];
/* cyclic group id's */
gint id1;
gint id2;
/* two connected cyclic groups (orig position) */
gdouble x1[3];
gdouble x2[3];
/* two connected cyclic groups (transformed position) */
gdouble r1[3];
gdouble r2[3];
/* normal at each group (orig position) */
gdouble u1[3];
gdouble u2[3];
/* normal at each group (transformed position) */
gdouble n1[3];
gdouble n2[3];
/* ribbon orientation vectors at each group (orig position) */
gdouble v1[3];
gdouble v2[3];
/* ribbon orientation vectors at each group (transformed position) */
gdouble o1[3];
gdouble o2[3];
};