118 if (g_strcmp0(this_proj ->
projfile,
"(null)") == 0) this_proj ->
projfile = NULL;
121 print_info (
"\n\tProject file: ",
"italic", buffer);
125 if (this_proj -> tfile > -1 && this_proj -> coordfile != NULL)
127 print_info (
"\n\tCoordinates file: ",
"italic", buffer);
128 print_info (this_proj -> coordfile, NULL, buffer);
129 print_info (
"\n\tFile type: ",
"italic", buffer);
131 this_proj -> tfile = 0;
133 print_info (
"\n\nModel properties\n\n\n",
"heading", buffer);
134 if (this_proj -> steps > 1)
136 print_info (
"\tNumber of MD steps = ",
"italic", buffer);
137 str = g_strdup_printf (
"%d\n", this_proj -> steps);
141 print_info (
"\tNumber of atoms = ",
"italic", buffer);
142 str = g_strdup_printf (
"%d\n", this_proj -> natomes);
145 print_info (
"\tNumber of species = ",
"italic", buffer);
146 str = g_strdup_printf (
"%d\n\n", this_proj -> nspec);
149 if (this_proj -> cell.volume > 0.0)
151 gchar * latv[2][3]={{
"a",
"b",
"c"},
153 if (this_proj -> cell.npt)
155 print_info (
"\tAv. lattice parameters:\n\n", NULL, buffer);
159 print_info (
"\tLattice parameters:\n\n", NULL, buffer);
166 str = g_strdup_printf (
"\t %s=", latv[i][j]);
169 if (this_proj -> cell.npt)
172 for (k=0; k<this_proj -> steps; k++) v += this_proj -> cell.box[k].param[i][j];
173 v /= this_proj -> steps;
177 v = this_proj -> cell.box[0].param[i][j];
179 str = g_strdup_printf (
"%10.5lf", v);
186 if (this_proj -> cell.npt)
188 print_info (
"\tAv. lattice vectors:\n\n\t\t", NULL, buffer);
192 print_info (
"\tLattice vectors:\n\n\t\t", NULL, buffer);
196 str = g_strdup_printf (
" %s ",
vect_comp[i]);
203 str = g_strdup_printf (
"\t\t%s", latv[0][i]);
208 if (this_proj -> cell.npt)
211 for (k=0; k<this_proj -> steps; k++) v += this_proj -> cell.box[k].vect[i][j];
212 v /= this_proj -> steps;
216 v = this_proj -> cell.box[0].vect[i][j];
218 str = g_strdup_printf (
"%10.5lf", v);
224 if (this_proj -> cell.sp_group)
227 print_info (
"\tCrystal information:\n\n",
"italic", buffer);
228 str = g_strdup_printf (
"%d", this_proj -> cell.sp_group ->
id);
229 print_info (
"\t\tSpace group N°: ",
"italic", buffer);
233 print_info (
"\t\tSpace group: ",
"italic", buffer);
236 print_info (
"\t\tSpace group setting: ",
"italic", buffer);
239 print_info (
"\t\tHermman-Mauguin: ",
"italic", buffer);
242 print_info (
"\t\tBravais lattice: ",
"italic", buffer);
243 print_info (this_proj -> cell.sp_group -> bravais,
"bold", buffer);
248 if (this_proj -> cell.npt)
250 print_info (
"\tAv. volume = ",
"italic", buffer);
256 str = g_strdup_printf (
"%14.6lf", this_proj -> cell.volume);
261 if (this_proj -> cell.npt)
263 print_info (
"\n\tAv. density = ",
"italic", buffer);
267 print_info (
"\n\tDensity = ",
"italic", buffer);
269 str = g_strdup_printf (
"%14.6lf", this_proj -> cell.density);
274 if (this_proj -> cell.npt)
276 print_info (
"\n\tAv. number density = ",
"italic", buffer);
280 print_info (
"\n\tNumber density = ",
"italic", buffer);
282 str = g_strdup_printf (
"%14.6lf", this_proj -> natomes / this_proj -> cell.volume);
288 print_info (
"\n\n\tEmpirical formula:\t",
"italic", buffer);
289 for (i=0; i<this_proj -> nspec; i++)
292 if (this_proj ->
chemistry -> formula[i] != 1)
294 str = g_strdup_printf (
"%d", this_proj ->
chemistry -> formula[i]);
300 if (this_proj -> cell.volume != 0.0)
302 print_info (
"\n\n\tAtom\t Number Fraction\tNumber density (atoms / Å",
"italic", buffer);
308 print_info (
"\n\n\tAtom\t Number Fraction",
"italic", buffer);
311 for (i=0; i<this_proj -> nspec; i++)
313 str = g_strdup_printf (
"\n\t%s\t%7d\t%11.6lf",
315 (
double)this_proj ->
chemistry -> nsps[i]/this_proj -> natomes);
318 if (this_proj -> cell.volume != 0.0)
320 str = g_strdup_printf (
"\t%11.6lf", this_proj ->
chemistry -> nsps[i]/this_proj -> cell.volume);
360 gtk_gl_area_make_current ((GtkGLArea *)this_proj -> modelgl ->
plot);
362 print_info (
"\n\nOpenGL driver information\n\n",
"heading", buf);
363 print_info (
"\tOpenGL Version \t\t\t: ", NULL, buf);
364 str = g_strdup_printf (
"%s\n", (
const char*)glGetString(GL_VERSION));
367 print_info (
"\tOpenGL Driver\t\t\t\t: ", NULL, buf);
368 str = g_strdup_printf (
"%s\n", (
const char*)glGetString(GL_VENDOR));
371 print_info (
"\tOpenGL Hardware \t\t\t: ", NULL, buf);
372 str = g_strdup_printf (
"%s\n", (
const char*)glGetString(GL_RENDERER));
376 print_info (
"\tOpenGL Shading Version \t\t\t: ", NULL, buf);
377 str = g_strdup_printf (
"%s\n\n", (
const char*)glGetString (GL_SHADING_LANGUAGE_VERSION));
381 print_info (
"\tOpenGL Window information:\n\n", NULL, buf);
382 print_info (
"\t\tColor Bits (R,G,B,A)\t\t: ", NULL, buf);
383 glGetIntegerv (GL_RED_BITS, & i);
384 glGetIntegerv (GL_GREEN_BITS, & j);
385 glGetIntegerv (GL_BLUE_BITS, & k);
386 glGetIntegerv (GL_ALPHA_BITS, & l);
387 str = g_strdup_printf (
"%d, %d, %d, %d\n", i, j, k, l);
395 print_this_ogl_stuff (
"\t\tMax. Modelview Matrix Stacks \t: ", GL_MAX_MODELVIEW_STACK_DEPTH, buf);
396 print_this_ogl_stuff (
"\t\tMax. Projection Matrix Stacks \t: ", GL_MAX_PROJECTION_STACK_DEPTH, buf);
400 print_info (
"\n\tGeometry Shader information:\n\n", NULL, buf);
402 print_this_ogl_stuff (
"\t\tMax. output components \t\t: ", GL_MAX_GEOMETRY_OUTPUT_COMPONENTS, buf);
403 print_this_ogl_stuff (
"\t\tMax. total output components \t: ", GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS, buf);
405 print_info (
"\n\tTotal number of OpenGL Extensions\t: ", NULL, buf);
406 glGetIntegerv (GL_NUM_EXTENSIONS, & i);
407 str = g_strdup_printf (
"%d\n", i);
410 print_info (
"\tExtensions list:\n", NULL, buf);
413 str = g_strdup_printf (
"\t\t N°%d\t:\t%s\n", j+1, (
const char*)glGetStringi(GL_EXTENSIONS,j));
void label(cairo_t *cr, double val, int axe, int p, project *this_proj)
draw axis label