61extern gboolean
test_vol (
double box[2][3],
double vect[3][3]);
65extern G_MODULE_EXPORT
void set_mode (GtkWidget * widg, gpointer data);
71extern G_MODULE_EXPORT
void window_spinner (GtkWidget * widg, gpointer data);
72extern gchar *
mot[2][2];
74extern gboolean
in_bond (
int at,
int bd[2]);
93extern G_MODULE_EXPORT
void set_search_mode (GtkComboBox * box, gpointer data);
96extern G_MODULE_EXPORT
void set_spec_changed (GtkComboBox * box, gpointer data);
138extern G_MODULE_EXPORT
void repeat_move (GtkSpinButton *
res, gpointer data);
141extern G_MODULE_EXPORT
void to_set_move (GtkEditable * widg, gpointer data);
143extern G_MODULE_EXPORT gboolean
to_set_move (GtkWidget * widg, GdkEventFocus * event, gpointer data);
145extern G_MODULE_EXPORT
void set_move (GtkEntry *
res, gpointer data);
148extern G_MODULE_EXPORT gboolean
scroll_range_move (GtkRange * range, GtkScrollType scroll, gdouble value, gpointer data);
149extern G_MODULE_EXPORT
void range_move (GtkRange * range, gpointer data);
156extern G_MODULE_EXPORT
void take_action (GtkButton * but, gpointer data);
161 atomic_object * this_object, gboolean movtion, gboolean passivating);
164extern void recover_opengl_data (
project * this_proj,
int nmols,
int add,
int rem,
int * num,
int * rec,
int *** tmpgeo, gboolean * showfrag);
173G_MODULE_EXPORT
void action_window (GSimpleAction *
action, GVariant * parameter, gpointer data);
175G_MODULE_EXPORT
void action_window (GtkWidget * widg, gpointer data);
177G_MODULE_EXPORT
void close_build (GtkWidget * widg, gpointer data);
atomic_object * create_object_from_selection(project *this_proj)
create object from atom selection
GtkTreeModel * replace_combo_tree(gboolean insert, int proj)
replace combo box in the tree view
vec3_t get_arc_ball_vector(glwin *view, int x, int y)
void rotate(project *this_proj, int i, int j, int k, float param)
rotate
atomic_object * lib_object
chemical_data * duplicate_chemical_data(int spec, chemical_data *chem)
duplicate chemical data information
atomic_object * create_object_from_frag_mol(project *this_proj, int coord, int geo, atom_search *remove)
create object from a fragment or a molecule
G_MODULE_EXPORT gboolean scroll_range_move(GtkRange *range, GtkScrollType scroll, gdouble value, gpointer data)
motion callback - scroll
void print_coord_info(project *this_proj, coord_info *coord)
print coordination info
GtkWidget * coord_menu(glwin *view)
double ** save_coordinates(project *this_proj, int status)
save atomic coordinates
void motion_to_zero(atom_search *asearch)
reset motion to 0.0
int get_asearch_object(atom_search *asearch)
get the number of object(s) in this atom search
void clean_coord_window(project *this_proj)
update the environment configuration window after edtion
atom_search * remove_search
void adjust_object_to_move(project *this_proj, atom_search *asearch, int mv, int id)
adjust atom search parameters for motion cases
atomic_object * create_object_from_species(project *this_proj, int sid, atom_search *remove)
create object from all atom(s) of the same chemical species
void save_rotation_quaternion(glwin *view)
save the rotation quaternion of the last image
gboolean test_vol(double box[2][3], double vect[3][3])
is the cell properly described to use PBC ?
G_MODULE_EXPORT void set_move(GtkEntry *res, gpointer data)
motion callback - entry
void add_bonds_to_list(int **new_bond_list, int nat, int nbd, atomic_object *object)
add object bond(s) list to overall bond(s) list
GtkWidget * selection_tab(atom_search *asearch, int nats)
create the search widget
void correct_pos_and_get_dim(atomic_object *object, gboolean adjust)
get the barycenter of the atomic coordinates of an object
int find_this_geo_id(int id, coord_info *obj, int *old_z, int old_geo, int old_sp, int new_sp, coord_info *coord, double *new_z)
if required create a new geometry, stored in coord, for coordination type 'gid' and chemical species ...
void prepare_atom_edition(gpointer data, gboolean visible)
prepare atom edition
G_MODULE_EXPORT void set_reset_transformation(GtkToggleButton *but, gpointer data)
reset model transformation toggle callback GTK3
int find_spec_id(int s, int z, double *list_z)
find species id based on Z
void apply_action(project *this_proj, atom_search *asearch)
apply edition action
G_MODULE_EXPORT void repeat_move(GtkSpinButton *res, gpointer data)
repeat motion callback
int get_todo_size(atom_search *asearch)
get the size of the atom search selection list
GtkWidget * action_tab(int aid, project *this_proj)
create model edtion action tab
int search_for_new_spec(atom_edition *edit, atomic_object *object)
search for new chemical species
void add_bonds_to_project(project *this_proj, int removed, int nbd, int **new_bond_list)
add bond list to project bond list
void clean_other_window_after_edit(project *this_proj)
update other windows after model edition if required
void init_coordinates(project *this_proj, int status, gboolean win, gboolean init)
preserve atomic coordinates
gboolean do_we_have_objects_in_selection(project *this_proj, atom_search *asearch, gboolean editing)
check for object(s) in selection to apply action
int create_object_from_open_project(project *this_proj, int p)
create object from atom(s) of a project opened in the workspace
G_MODULE_EXPORT void window_spinner(GtkWidget *widg, gpointer data)
create the spin window callback
void random_move(project *this_proj, atom_search *asearch)
random move
GtkWidget * create_cell_edition_window(project *this_proj, gpointer data)
create the cell editon window
chemical_data * alloc_chem_data(int spec)
allocate chemistry data
void reset_coordinates(project *this_proj, int status)
reset transformation and restore saved atomic coordinates
void update_search_tree(atom_search *asearch)
update search tree
G_MODULE_EXPORT void close_build(GtkWidget *widg, gpointer data)
int get_asearch_num_objects(atom_search *asearch)
the number of type of object(s) in this atom search
void free_glwin_spec_data(project *this_proj, int spec)
free the memory used by the chemical species related data in a glwin data structure
G_MODULE_EXPORT void set_show_axis_toggle(GtkToggleButton *but, gpointer data)
show / hide axis callback GTK3
G_MODULE_EXPORT void set_filter_changed(GtkComboBox *box, gpointer data)
change the search filter
int get_selected_object_id(gboolean visible, int p, gchar *str, atom_search *asearch)
get the id of the object selected (in contextual menu, or in combo box)
atomic_object * create_object_from_overall_coordination(project *this_proj, int coord, int aid, atom_search *remove)
create object from all the atom(s) that have the same exact coordination than the target atom
void glwin_init_spec_data(project *this_proj, int nspec)
initialize the glwin chemical species related pointers
void re_populate_tree_search(atom_search *asearch)
re populate search tree after atom action if >= 10 000 atoms
GtkWidget * add_motion_interaction(atom_search *asearch, int axd, project *this_proj)
add motion interaction widgets
void reconstruct_coordinates_for_object(project *this_proj, atomic_object *this_object, gboolean upcoord)
reconstruct object atomic coordinates using PBC
tint ulam_coord(glwin *view)
shift insertion position for object not to have overlapping objects for multiple/repeated insertions
G_MODULE_EXPORT gboolean to_set_move(GtkWidget *widg, GdkEventFocus *event, gpointer data)
coord_info * duplicate_coord_info(coord_info *old_coord)
duplicate coordination information data structure
int get_asearch_filter(atom_search *asearch)
get asearch filter
void prepare_opengl_menu_bar(glwin *view)
update the OpenGL window menu bar
void to_remove_this_list_of_objects(project *this_proj, atom_search *asearch)
prepaer to remove a list of object(s) from a project, one object after another.
void translate(project *this_proj, int status, int axis, vec3_t trans)
translate
atomic_object * create_object_from_atom_coordination(project *this_proj, int coord, int aid, atom_search *remove)
create object from an atom and its nearest neighbors
void range_has_changed(gpointer data, double v)
motion
G_MODULE_EXPORT void set_atoms_to_insert(GtkComboBox *box, gpointer data)
change the object to insert
void recover_opengl_data(project *this_proj, int nmols, int add, int rem, int *num, int *rec, int ***tmpgeo, gboolean *showfrag)
recover image pointer data and OpenGL window menu structure
gboolean * remove_bonds_from_project(project *this_proj, atomic_object *this_object, int *old_id, atom *new_list, gboolean remove, gboolean passivate)
remove bond(s) from project
G_MODULE_EXPORT void range_move(GtkRange *range, gpointer data)
motion callback - range
void clean_all_trees(atom_search *asearch, project *this_proj)
clean all tree models in the 'model edition' window
void create_object_from_library(int p)
create object using the molecular library
G_MODULE_EXPORT void action_window(GtkWidget *widg, gpointer data)
open model edition window callback GTK3
void rotate_quat(project *this_proj, vec4_t q, int status, int axis)
rotate using quaternion
void clean_this_object(int orig, int act, project *this_proj, atom_search *asearch)
clean object data
GtkWidget * advanced_coord_properties(glwin *view, int page)
create the environments configuration window
void adjust_search_param(atom_search *asearch, project *this_proj, int a, int s, int c, gboolean status)
adjust parameters for this atom search
void update_coordinates(project *this_proj, int status, int axis, int action)
update atomic coordinates on motion
void clean_picked_and_labelled(atom_search *asearch, gboolean clean_msd)
initialize atom search data buffers
atomic_object * duplicate_atomic_object(atomic_object *old_obj)
duplicate an insert object
void check_all_trees(project *this_proj)
check all search trees
vec3_t get_bary(project *this_proj, int status)
get barycenter of atomic coordinates
int get_atom_id_from_periodic_table(atom_search *asearch)
get atom Z from selection in the periodic table
void update_range_and_entry(project *this_proj, int i, int j, int k)
update motion range
int insert_this_project_from_lib(int id, gboolean visible, project *this_proj, atom_search *asearch)
insert object from the library
void to_insert_in_project(int stat, int orig, project *this_proj, atom_search *asearch, gboolean visible)
to insert object in project
gboolean in_bond(int at, int bd[2])
is atom at in bond bd
G_MODULE_EXPORT void set_mode(GtkWidget *widg, gpointer data)
set mouse mode callback
void check_coord_modification(project *this_proj, int old_id[], atom *new_list, atomic_object *this_object, gboolean movtion, gboolean passivating)
void allocate_todo(atom_search *asearch, int tsize)
allocate the selection list data buffer
G_MODULE_EXPORT void take_action(GtkButton *but, gpointer data)
take edition action
G_MODULE_EXPORT void set_object_changed(GtkComboBox *box, gpointer data)
change the search object
void clean_todo(atom_search *asearch)
clean atom search selection list
void center_molecule(project *this_proj)
center atomic coordinates around (0,0,0)
G_MODULE_EXPORT void set_search_mode(GtkComboBox *box, gpointer data)
change search mode
atomic_object * get_atomic_object_by_origin(atomic_object *first, int oid, int aid)
get insert object from a list by id
void to_passivate_using_the_objects(project *this_proj, atom_search *asearch)
prepare passivation (delete of an object, then insert of another one at the same location)
void check_motion_interactors(project *this_proj, atom_search *asearch)
add motion check button
void image_init_spec_data(image *img, project *this_proj, int nsp)
initialize the chemical species related pointers in an image data structure
void reconstruct_bonds(project *this_proj, int ifcl, int *bcid)
reconstruct the project bond(s)/clone(s) lists after reconstruction using PBC
G_MODULE_EXPORT void set_spec_changed(GtkComboBox *box, gpointer data)
change the search chemical species
GtkWidget * create_atom_notebook(project *this_proj, GtkWidget *vbox)
create the model edition notebook
Binding to the Fortran90 subroutines.
Callback declarations for main window.
Global variable declarations Global convenience function declarations Global data structure defin...
Variable declarations related to the OpenGL window Function declarations related to the OpenGL wind...
Function declarations for the creation of the OpenGL window.
Function declarations to handle the atomic coordination data.
Messaging function declarations.
Function declarations for reading atomes project file Function declarations for saving atomes proje...
Function declarations for workspace managment.