atomes 1.1.14
atomes: an atomic scale modeling tool box
Loading...
Searching...
No Matches
cell_edit.h
Go to the documentation of this file.
1/* This file is part of the 'atomes' software
2
3'atomes' is free software: you can redistribute it and/or modify it under the terms
4of the GNU Affero General Public License as published by the Free Software Foundation,
5either version 3 of the License, or (at your option) any later version.
6
7'atomes' is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
8without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9See the GNU General Public License for more details.
10
11You should have received a copy of the GNU Affero General Public License along with 'atomes'.
12If not, see <https://www.gnu.org/licenses/>
13
14Copyright (C) 2022-2024 by CNRS and University of Strasbourg */
15
22/*
23* This header file: 'cell_edit.h'
24*
25* Contains:
26
27 - Function declarations for the cell edition window
28
29*/
30
31#include "global.h"
32#include "bind.h"
33#include "callbacks.h"
34#include "interface.h"
35#include "project.h"
36#include "workspace.h"
37#include "glview.h"
38#include "glwindow.h"
39
40#ifndef CELL_EDIT_H_
41#define CELL_EDIT_H_
42
43extern gchar * axis[3];
44extern char * box_prop[2][3];
45extern void allocatoms (project * this_proj);
46extern void center_molecule (project * this_proj);
47extern gchar * edit_names[7];
48extern gchar * mot[2][2];
49extern GtkWidget * advanced_coord_properties (glwin * view, int page);
50extern gboolean run_distance_matrix (GtkWidget * widg, int calc, int up_ngb);
51extern void translate (project * this_proj, int status, int axis, vec3_t trans);
52extern void process_selected_atom (project * this_proj, glwin * view, int id, int ac, int se, int pi);
53extern void preserve_ogl_selection (glwin * view);
54extern void restore_ogl_selection (glwin * view);
55extern void create_slab_lists (project * this_proj);
56extern int is_selected;
57extern int selected_aspec;
58
59GtkWidget * create_cell_entries (project * this_proj, int i);
60GtkWidget * create_shift_box (project * this_proj);
61void display_density (cell_edition * cell, double vol, double dens, double adens);
62void shift_it (vec3_t shift, int refresh, int proj);
63void sens_superbut (project * this_proj);
64void invert_selection (project * this_proj);
65
66GtkWidget * shift_center_tab (project * this_proj);
67GtkWidget * add_extra_cell_tab (glwin * view);
68GtkWidget * supercell_tab (glwin * view);
69GtkWidget * adjust_density_tab (project * this_proj);
70GtkWidget * cut_in_model (project * this_proj);
71GtkWidget * pixels_tab (project * this_proj);
72extern void wrapping (glwin * view);
73extern G_MODULE_EXPORT void super_cell_but (GtkButton * but, gpointer data);
74#ifdef GTK4
75extern G_MODULE_EXPORT void super_cell (GSimpleAction * action, GVariant * parameter, gpointer data);
76extern G_MODULE_EXPORT void edition_win (GSimpleAction * action, GVariant * parameter, gpointer data);
77#else
78extern G_MODULE_EXPORT void super_cell (GtkWidget * widg, gpointer data);
79extern G_MODULE_EXPORT void edition_win (GtkWidget * widg, gpointer data);
80#endif
81extern atom_search * allocate_atom_search (int proj, int action, int searchid, int tsize);
82#endif
Binding to the Fortran90 subroutines.
Callback declarations for main window.
void wrapping(glwin *view)
wrapping atomic coordinates
Definition cell_shift.c:498
char * box_prop[2][3]
Definition edit_menu.c:73
GtkWidget * add_extra_cell_tab(glwin *view)
create the add cell(s) tab
Definition cell_extra.c:81
G_MODULE_EXPORT void edition_win(GtkWidget *widg, gpointer data)
create the cell edition window callback GTK3
Definition cell_edit.c:224
G_MODULE_EXPORT void super_cell(GtkWidget *widg, gpointer data)
create super cell menu callback GTK3
Definition cell_super.c:322
void invert_selection(project *this_proj)
invert atom(s) selection
Definition cell_cut.c:404
void display_density(cell_edition *cell, double vol, double dens, double adens)
create density information widgets
GtkWidget * create_shift_box(project *this_proj)
create shift box widgets
Definition cell_shift.c:479
int is_selected
Definition popup.c:181
void create_slab_lists(project *this_proj)
prepare slab(s) OpenGL rendering
Definition d_box.c:898
GtkWidget * cut_in_model(project *this_proj)
create the cut slab tab
Definition cell_cut.c:659
atom_search * allocate_atom_search(int proj, int action, int searchid, int tsize)
allocate atom search data structure
Definition atom_edit.c:392
GtkWidget * supercell_tab(glwin *view)
void allocatoms(project *this_proj)
allocate project data
Definition open_p.c:160
void translate(project *this_proj, int status, int axis, vec3_t trans)
translate
Definition atom_move.c:230
gchar * axis[3]
Definition w_axis.c:65
void restore_ogl_selection(glwin *view)
restore a saved atom selection
Definition calc.c:218
gchar * edit_names[7]
Definition cell_edit.c:48
GtkWidget * advanced_coord_properties(glwin *view, int page)
create the environments configuration window
Definition w_coord.c:1311
void process_selected_atom(project *this_proj, glwin *view, int id, int ac, int se, int pi)
process selected atom
Definition selection.c:514
GtkWidget * shift_center_tab(project *this_proj)
create the shift cell center tab
Definition cell_shift.c:560
gchar * mot[2][2]
Definition popup.c:3294
gboolean run_distance_matrix(GtkWidget *widg, int calc, int up_ngb)
compute distance matrix
Definition bdcall.c:310
void sens_superbut(project *this_proj)
adjust 'Create super-cell' button sensitivity
Definition cell_super.c:141
int selected_aspec
Definition popup.c:179
GtkWidget * pixels_tab(project *this_proj)
void shift_it(vec3_t shift, int refresh, int proj)
shift atomic coordinates
Definition cell_shift.c:206
void preserve_ogl_selection(glwin *view)
copy the atom selection, so that it can be re-used once the input assistant is closed.
Definition calc.c:264
void center_molecule(project *this_proj)
center atomic coordinates around (0,0,0)
Definition glview.c:1437
GtkWidget * adjust_density_tab(project *this_proj)
create the density tab
GtkWidget * create_cell_entries(project *this_proj, int i)
create the cell entry widgets
Definition cell_shift.c:402
G_MODULE_EXPORT void super_cell_but(GtkButton *but, gpointer data)
create super cell callback
Definition cell_super.c:338
int * shift
Definition d_measures.c:72
double pi
Definition global.c:195
Global variable declarations Global convenience function declarations Global data structure defin...
project * proj
Variable declarations related to the OpenGL window Function declarations related to the OpenGL wind...
action
Definition glview.h:189
Function declarations for the creation of the OpenGL window.
Messaging function declarations.
Function declarations for reading atomes project file Function declarations for saving atomes proje...
Definition glwin.h:875
int status
Definition w_advance.c:160
Function declarations for workspace managment.