GAMGI Changelog

What's new in GAMGI 0.17.3

May 15, 2018
  • Updated Help->Config files for Light and Atom objects.
  • Synced gamgi-g and gamgi-x trees.
  • Updated gamgi_expat_import_object: importing Cell object data to XML files with the new config rules should be working fine.
  • Updated gamgi_expat_export_object: exporting Cell object data to XML files with the new config rules is now working fine.
  • In Cell->Create and Cell->Modify, Origin vectors and Axes vectors are now updated automatically for default (Conventional or Primitive) options when Model changes.
  • Replaced cell->borders = FALSE by cell->borders = GAMGI_PHYS_NONE, in engine, gtk, expat and mesa code.
  • Updated gamgi_expat_export_config: exporting Cell config data to XML files is now working fine
  • Updated gamgi_expat_import_config: importing Cell config data from XML files is now working fine
  • Improved the Cell->Config dialog, to handle also default values for Model, Borders, Faces and Nodes.
  • Redesigned Object->Config dialogs: Config data is now separated in default data (in the pages with the same names as in Object->Create dialogs) and global data (applying to all objects, old and new), in the Global (last) notebook page. Dialogs affected: Atom->Config, Cell->Config, Light->Config.
  • Implemented Cell->Config dialog and infra-structure. The size of Cell border lines, node points, and vector axes can now be set globally for all cells in GAMGI, a feature badly needed. Default values for cell color and axes usage have been set also.
  • Fixed a issue in gamgi_gtk_bond_create: the color set in static_init ignored previous config data.
  • Fixed an issue in gamgi_mesa_draw_pick and gamgi_mesa_draw_grab: Cell rendering point width was set to line width instead of point width.

New in GAMGI 0.17.1 (Aug 27, 2014)

  • Fixed a bug just introduced: we cannot unref the GDK visual after removing a GL context. Just removed this code. Apparently GTK does this when the widget is destroyed.
  • Improved gamgi_gtk_area.c, used in the X version of GAMGI, that replaces the GTKGLExt library by our own GLX-based code. Javier Cabezas ported this code to GTK 3 and is working fine! Back ported changes so the differences between the code for GTK 2 and GTK 3 are absolutely minimal.
  • We cannot use r,g,b colors because of a,b,c cell axes.
  • Improved Axes layout in Orbital->Create and Orbital->Modify dialogs.
  • Changed label Model to Scope in Orbital->Create and Orbital->Modify and changed Help interface accordingly.
  • Checked all Help Formats documentation pages.
  • Updated Help documentation for Cluster Formats.
  • cluster->paints arrays are no longer zero-terminated.
  • Synced gamgi and gamgi_exp branches.
  • In XML files, in group elements, replaced attribute type by reference.
  • Updated Help documentation for Plane and Direction Formats.
  • Updated Help documentation for Group Interfaces and Formats.
  • Renewed the EU trademark GAMGI until 2024.
  • Updated the source code and documentation license to GPL v3.
  • Started using sha256sum to checksum all distribution files.
  • Renewed the gamgi.org domain name registration until 2020.

New in GAMGI 0.17 (Dec 23, 2013)

  • Fixed a makefile bug (introduced in gamgi0.15.6) in the GAMGI branch that does not require the GtkGlExt library: the make_rules contained gtkglext dependencies that should not be there.
  • Planes, Directions can now be seleted by projection net: Wulff or Schmidt.
  • Synced code, documentation and data files between gamgi and gamgi_exp distribution trees.
  • Checked dat/orbital XML files to update orbital axes attributes.
  • Checked all dat/ XML files to replace attribute type by label, in atom elements.
  • Checked all dat/ XML files to replace attribute type by model, in plane, direction, cell elements.
  • For the sake of consistency, replaced globally the name projection by net in direction and plane code and XML elements.
  • For the sake of consistency, replaced globally the name type by model in cell, plane, direction code and XML elements.
  • Changed label Type to Model in Cell->Create and Cell->Modify.
  • Changed label Method to Type in Bond->Create.
  • Updated Help->Formats documentation for XML Plane and Direction objects.
  • Updated Help->Interfaces documentation for Type and Projection in Plane->Create, Plane->Modify, Direction->Create, Direction->Modify.
  • The Debye-Waller atomic temperature can now take values only between 0.0 (blue) and 100.0 (red) as is usual in this analysis.
  • Updated Interfaces and Formats documentation for Bond objects.
  • Fixed the default Debye-Waller atomic temperature: the new value is 0.0, corresponding to an atom with a well known position.
  • Updated Formats documentation for Atom and Cell objects.
  • Help->Current and Help->Topic can now read the documentation for Orbital->Modify.
  • Wrote documentation for Orbital->Modify.
  • Updated documentation for Orbital->Create.
  • Orbital axes are now handled in a much simpler way, in Orbital->Create, Orbital->Modify and XML native files.
  • Orbital->Select is now working fine for all options, including the many properties that can be used to select orbitals.
  • Simplified slightly the functions gamgi_gtk_select_*.c.
  • Fixed two bugs in the H orbitals code, introduced in GAMGI 0.16.6: 1) the terms rho**L (from Laguerre polynomials) and 1/r**L (from Legendre functions) cancel each other, apart from a constant that was missing. 2) the default radius calculation was missing the rho**L term.
  • Lists of Planes can now be selected by model: Polygon, Pole, Trace, Vector.
  • Lists of Directions can now be selected by model: Line, Pole, Trace.

New in GAMGI 0.16.8 (Nov 1, 2013)

  • In Stereographic Projections, raised slightly the z-height in pole bitmaps (GAMGI_MESA_OFFSET_BITMAP), so these always appear above traces. This fixes a visual glitch but also makes it much easier to select poles with traces around, as colors are now clearly separated.
  • Synced gamgi and gamgi_exp code branchs.
  • Updated static_press in Plane->Modify and Direcyion->Modify, so the object name is not overwritten by automatic name setting.
  • Automatic name changing in Plane->Modify and Direction->Modify is working fine now, for crystallographic planes,diretcions.
  • Found and removed a bug in Plane->Create and Direction->Create: in some cases, the object name indicated by the user was ignored.
  • Found and removed a serious bug in Plane->Create and Direction->Create: after creating planes/directions using lists previously created with the List second level dialog, these were not properly reset. In some circunstances this could crash GAMGI.
  • Found and removed a bug in Plane->Create and Direction->Create: Pole and Trace were not created simultaneosuly, when required, only one each time.
  • Orbital->Select is now working. Lists of Orbitals can be copied, linked, selected, modified, removed, as for other objects.
  • Synced gamgi and gamgi_exp code branchs.
  • Fixed Cell->Link: it is working (again) fine for lists of Cells, in Object (above and below), Crystal and Random modes.
  • Found and removed a simple but serious bug: when multiple windows were open and a list of objects was active and selected as the current object, Reset (but not Exit) would crash Gamgi.
  • Cell->Link Random (RCP) was not working: replaced by older code. Cell->Link needs more work.
  • Compiling again with -O3 flag.
  • Fixed a serious bug in all Object->Select dialogs, in the method Region: when the sampling rectangle was not fully inside the graphic area, some of the sampled colors would be undefined and GAMGI would crash when pressing Ok. The crashes were detected a long time ago, but the cause was unclear until now.

New in GAMGI 0.16.7 (Sep 4, 2013)

  • Synced gamgi/dat and gamgi_exp/dat data trees.
  • Synced gamgi/doc and gamgi_exp/doc documentation trees.
  • Synced gamgi/src and gamgi_exp/src code trees.
  • Fixed more GUI glitches in Orbital->Modify.
  • Fixed Orbital->Modify crashes: orbital->dots must be reset to 0.
  • www.gamgi.org and ftp.gamgi.org are now served from a VM hosted at the IT center at the Lisboa University. Hopefully this means more reliable connections and less time down.
  • Automatic name changing in Orbital->Modify is working fine now.
  • Automatic name changing in Atom->Modify is working fine now.
  • Implemented automatic name changing in Atom->Modify.
  • Implemented automatic name changing in Orbital->Modify.
  • Orbital->Modify is now working for single orbitals. Lists of orbitals should be working in the next release.
  • Translation, Rotation, are now working fine for Orbital->Modify.
  • static_apply for Orbital->Modify is mostly done.
  • Completed static_grab for Orbital->Modify.
  • Added static_ok_global and static_ok_local for Orbital->Modify.
  • Completed static_press for Orbital->Modify.
  • The GUI behaviour for Orbital->Modify is almost completed.
  • Started working on Orbital->Modify and Orbital->Select.
  • Updated gamgi_mesa_pick.c and gamgi_mesa_grab.c to take into account solid representations of orbitals.
  • Fixed a little bug in the orbital axes mesa drawing code.
  • Laguerre polynomials have a factor r**L (L = angular quantum number) that cancels exactly with the factor 1/r**L of the Legendre functions, so the mathematical descriptions of the H orbitals become much simpler! Thanks to Jose Luis Martins for pointing me to this! For such low probability densities (1E-6), the numerical issues are so sensitive that the orbital visual representations come a bit different, even for L=1, after this simplification.

New in GAMGI 0.16.6 (Jun 22, 2013)

  • Synced gamgi/dat and gamgi_exp/dat source code trees.
  • Synced gamgi/src and gamgi_exp/src source code trees.
  • Added screenshots showing the new representations for orbitals.
  • Slightly increased theta, phi accuracy when determining the orbital default sampling radius: tested against (6,5,-5) orbital (6hy5).
  • Debugged code to perform signal interpolation in solid orbitals. Is working fine now! This was really the last obstacle to have a world class orbital representation in GAMGI! Time for screenshots! Futurely we will try to reduce the number of vertices, normals and triangles, and we might implement Gorauld shading, but none of this will change the scientific and visual capabilities of our current model. A glass of Port to celebrate!
  • Implemented a method to perform signal interpolation in solid orbitals, to solve the signal change innaccuracy problem found earlier.
  • Cleaned code in gamgi_chem_orbital.c and gamgi_chem_orbital.h.
  • Fixed a bug: the orbital probability density was not properly exported to XML files.
  • Orbital axes are now simpler to use and have more options.
  • The signal code is working now: 3D orbitals look really fantastic, but the signal code must refined, as the lack of interpolation results in too much visual noise when the signal changes.
  • Fixed the code to swap positive and negartive triangles.
  • Fixed the signal interpolation code in static_edge.
  • Solved an interpolation issue related with the orbital isosurface onion effect: force fraction to the [0,1] range.
  • Fixed orbital solid code edge orientation: this is needed for exact interpolation.
  • Fixed numerical inaccuries: just a bug splitting the cubes (as in a 3D chess board). Is looking great now!
  • Debugged the solid orbital 3D code, apparently is working fine, still with some numerical inaccuries in the surface.

New in GAMGI 0.16.5 (May 27, 2013)

  • Orbital objects can now be exported, imported to GAMGI native XML files. Replaced the recursive static_outside routine by a loop and stack version, thus removing a critical bottleneck in the solid orbital code. Fixed mem leaks in GTK code, sintax bugs in object selection by color, warnings due to unnused variables, etc.

New in GAMGI 0.16.4 (Apr 29, 2013)

  • Synced gamgi and gamgi_exp source branches.
  • Updated make_local, to include the paths: -I/usr/lib/i386-linux-gnu/glib-2.0/include, -I/usr/lib/i386-linux-gnu/gtk-2.0/include, used by Ubuntu.
  • Fixed a bug in the new solid orbital code: the r length test makes sense in the wired representation but not in the solid one!
  • The new recursive code works for bit arrays as large as 160x160x160, in the worst case.
  • The recursive code to find outer surfaces is crashing for bit arrays larger than 50x50x50. Looking for a loop alternative.
  • Orbital code: wavefunction interpolation to produce the triangle-based representation is working really well.
  • The triangle-based 2D solid rendering of planar surfaces in H-based orbitals is now well tested and working fine! This is crucial to build a octant-based representation of these orbitals, where users can choose which octants to show.
  • Added new mirrors, http://atom.ist.utl.pt and ftp://atom.ist.utl.pt, to futurely host gamgi.org.
  • Added nice structure and info files for high-temperature beta-quartz, beta-cristobalite and beta-trydimite.
  • Implemented a new mirror: http://gamgi.ist.utl.pt/ or http://www.gamgi.ist.utl.pt/.
  • Simplified the way H-Orbital octants are selected in Wired mode.
  • For each H orbital octant, wrote the topological code to build all the triangles needed to describe the outer 3D isosurface (tetra-cubes algorithm), plus the internal 2D octant boundaries.
  • For each H orbital octant, wrote and tested the bit array code needed to eliminate the inner isofurfaces and show only the outer one.
  • Simplified the octant binary code in gamgi_chem_orbital.c.

New in GAMGI 0.16.3 (Jan 15, 2013)

  • Improved readability in all Object->Copy dialogs.
  • Added documentation for Orbital->Create, Orbital->Copy, Orbital->Link and Orbital->Remove.
  • Upgraded Help->Current and Help->Topic to allocate Orbital->Create, Orbital->Copy, Orbital->Link, Orbital->Remove.
  • Synced gamgi and gamgi_exp trees.
  • Orbital->Link is now working fine (lists of orbitals not implemented yet).
  • Fixed a glitch in all link_object.html files, resulting in a GAMGI error message when the Help sub-system tried to open one of these files.
  • Orbital->Copy is now working fine (lists of orbitals not implemented yet).
  • Orbital->Remove is now working fine (lists of orbitals not implemented yet).
  • Started building the dialogs Orbital->Copy, Orbital->Link, and Orbital->Remove.
  • The Octants layout, in the Orbital->Create dialog, is much more intuitive now.

New in GAMGI 0.16.2 (Nov 3, 2012)

  • Synced gamgi/ (with GtkGLExt) and gamgi_exp/ (with GLX) versions.
  • Filtering volume octants are now working fine for H orbitals.
  • Completed search for best default values for H based orbitals. Default density is 1E-6, which is needed to show all regions in 6s orbitals. Points is 50000 x n, which is a reasonable compromise. Default radius is calculated scanning from the last maximum in f2r2 radial density, plus a 2.0 minimum length, until the maximum density (searching on theta, phi) becomes lower than the default density.
  • Improved, redesigned the Orbital->Create dialog.
  • H orbitals are now working fine in Gamgi. Looking now for the best default values.
  • Added all the code needed to build and render H orbitals.
  • Optimized H orbital code for speed.
  • For all Hydrogen based orbitals from n = 1 to 6, calculated the distances for radial polinomia maxima.
  • For all Hydrogen based orbitals from n = 1 to 6, calculated the distances for radial polinomia zeros.
  • Orbital objects can now be created, scaled (around the current center), moved, rotated, as any other Gamgi object.
  • Completed the dialog Orbital->Create to build Hydrogen based orbitals.
  • Wrote the graphic engine code to render Hydrogen based orbitals in dotted mode.
  • Added and tested the s, p, d, f, g, h Hydrogen based orbitals for n = 6, in cartesian x,y,z coordinates.

New in GAMGI 0.16.1 (Sep 5, 2012)

  • This version adds all the Laguerre and Legendre functions needed to build Hidrogen-based atomic orbitals up to 5g, in xyz coordinates.
  • It has been successfully tested with dotted models of s,p,d,f,g Hydrogen based orbitals up to 5g.
  • It has good algorithms to build surface models of orbitals.
  • There is an initial version of the dialog Orbital->Create.
  • This release fixes two bugs on importing/exporting clusters and groups to XML files.

New in GAMGI 0.15.7 (Apr 17, 2012)

  • This version adds structure (xml) and data (txt) files for the following model structures: alpha-Mn, beta-Mn, alpha-U, Al3Ti, Cr3Si, Al3Zr4, Fe3C (cementite), Al2O3 (corundum), CatiO3 (perovskite), MgAl2O4 (spinel), Fe2B, CdI2, beta-quartz, AuBe5, CaCu5, TiO2 (rutile), ZnWO4, plus Laves phases Cu2Mg, MgZn2, and MgNi2.
  • It adds models for martensitic transformation: Bain, Nishiyama-Wassermann and Kurdjumov-Sachs.
  • It adds a graphene structure to illustrate carbon nanotube (p,q) classification, fixes a bug in Plane->Modify and Direction->Modify, and adds screenshots about object lists to www.gamgi.org.

New in GAMGI 0.15.6 (Feb 13, 2012)

  • Arbitrary lists of crystallographic families of (hkl) planes and [uvw] directions can now be easily created, for all models supported, with Plane->Create and Direction->Create.
  • Arbitrary lists of Planes and Directions (previously selected with Plane->Select and Direction->Select) can now be handled exactly as a single object, with Plane->Modify and Direction->Modify.
  • It fixes a few bugs.

New in GAMGI 0.15.4 (Jun 20, 2011)

  • Added the most important cristalline structures derived from cfc, bcc, hcp to dat/cell/structures.
  • Synced gamgi/ and gamgi_exp/ code trees.
  • Found and removed a recent bug in scale code: individual lights were not scaling with the mouse.
  • Fixed dat/cell/interstices/ files that still used type instead of label to designate atom types.
  • Built Chalcopyrite with space group 122: the structure is correct.
  • Space groups 119, 120, 121, 122 were given as P groups, should be I. Fixed. Group 119 had positions a,b,c,d with symmetry -42m, should be -4m2. Fixed. Checked lattice and symmetry labels for all other tetragonal groups: they are correct. Checked Wyckoff positions for groups 119, 120, 121, 122: they are correct.
  • Found and removed a bug in Plane->Create: area tolerance to dismiss plane creation in a range is too small.
  • Found and removed a bug in Layer->Modify: layer names were not copied.
  • Started buiding a comprehensive data base of representative crystallographic structures, based on the book "Structure of Materials, by M. de Graef and M. E. McHenry".
  • Designed a GTK dialog to handle lists of crystallographic planes in Plane->Create.
  • Fixed a HTML glitch in the CsCl tutorial.
  • Started building a dialog to create ranges of crystallographic planes.
  • Replaced the id mechanism to handle translation, rotation of lists of recursive objects, by the much simpler, slightly faster, marking algorithm that also works for scaling. Rotation, translation, scaling of lists of recursive objects works fine now, and the new algorithm does not interfere with all the other translation, rotation mechanisms devised earlier. This essentially completes the conceptual work, planned 10 years ago, but only initiated in October 2009, to handle lists of objects exactly as a single object.
  • Designed, implemented a simple, fast algorithm to scale lists of recursive objects. It works also for rotations, translations.
  • Started working on gamgi_gtk_plane_set.c and gamgi_gtk_direction_set.c, to create flexible sets of crystallographic planes and directions.
  • A unique id number is now generated for all rotation tasks, for example to avoid repetitions when rotating lists of recursive objects.
  • A unique id number is now generated for all translation tasks, for example to avoid repetitions when translating lists of recursive objects, such as texts, groups, clusters or assemblies.

New in GAMGI 0.15.3 (May 23, 2011)

  • Synced gamgi/src and gamgi_exp/src code branches.
  • Synced all the interfaces documentation: www.gamgi.org, ftp.gamgi.org, gamgi_doc and gamgi-exp_doc. Fixed a tag position inconsistency in CSS notebook code.
  • Updated the documentation for all the Object->Link dialogs.
  • When giving focus to a list of objects, now checks first if the list is empty.
  • Updated the documentation for all the Object->Copy dialogs.
  • Fixed a little GUI bug in Layer->Copy: (disable Local in object mode).
  • Developed a flexible, simple, fast, mechanism to identify each instance of tasks such as rotating and drawing with a unique id, to properly handle multi reentrance in the same object.
  • Removed gamgi_global_selection_draw, replaced by equal function gamgi_mesa_draw_gamgi.
  • Added code to implement task ids: tasks such as drawing, scaling, rotating, translating will have a unique id attached, to prevent bugs in objects with multiple parents, such as bonds, and lists of recursive objects, such as texts, groups, clusters and assemblies.
  • Lists of pre-selected objects can now be interactively scaled (dragging the mouse or clicking the ruler), exactly as before for a single object.
  • Lists of pre-selected objects can now be interactively translated (dragging the mouse or clicking the ruler), exactly as before for a single object. It works quite fast for 1500 atoms, on two different windows!
  • Lists of pre-selected objects can now be interactively rotated (dragging the mouse or clicking the ruler), exactly as before for a single object (needs more testing).
  • Code disabling selection lists when listed objects are removed is now also disabling global focus for those lists.
  • We are a step closer to rotate,move,scale lists of previously selected objects: code to select objects or lists of objects, including statusbar info and all the required internal data (just gamgi->focus), are now working fine.

New in GAMGI 0.15.1 (Feb 17, 2011)

  • Coordination and Voronoi polyhedra can now be exported/imported from XML files.
  • Polygon planes and Line directions can now be exported/imported from XML files, as totally independent objects.
  • Planes and Directions in stereographic projections can now be scaled as with any other object.
  • New functionality was added for Plane->Create, Direction->Create, Group->Create, Plane->Measure, and Direction->Measure.
  • Code involving the ugly concept of dependency was removed for Planes, Directions, and Groups.
  • Bugs were fixed and the code was cleaned up.

New in GAMGI 0.15 (Dec 17, 2010)

  • Wrote Plane->Select, Direction->Select, Plane->Copy and Direction->Copy. Fixed bugs in Group->Modify, Group->Copy and elsewhere. All dialogs now support lists of objects except the Modify dialogs for Group, Plane, Direction, as these objects must be rethinked anyway.

New in GAMGI 0.14.11 (Oct 27, 2010)

  • Implemented Object->Link for lists of objects, for all classes of objects supported by GAMGI, except Plane and Direction. All GAMGI objects seem to be working fine now, with lists of objects, for all suitable tasks (Object->Copy, Object->Link, Object->Modify, Object->remove) except Planes and Directions (next release!). In general, code to handle lists of objects is now simpler and more robust.

New in GAMGI 0.14.10 (Sep 21, 2010)

  • New criteria were added for creating lists of objects in Object->Select dialogs.
  • Functionality was added to Object->Copy dialogs for objects and lists of objects.
  • Functionality was also added to Object->Link dialogs.
  • Atom->Link is now working for lists of objects.
  • The Cell->Link interface was improved to support important new functionality.
  • Several bugs were fixed.

New in GAMGI 0.14.9 (Aug 25, 2010)

  • Copy->Cluster is now working with clusters and lists of clusters.
  • Copy->Molecule is now working with molecules and lists of molecules.
  • Copy->Cell is now working with cells and lists of cells.
  • Copy->Window is now working with windows and lists of windows.
  • Copy->Layer is now working with layers and lists of layers.
  • Copy->Light is now working with lights and lists of lights.
  • Found and removed a crashing bug in the lists code, with more than one window: the gtk window is removed before the window child objects, so when removing these, the gtk window is not there anymore.
  • Copy->Text is now working with texts and lists of texts.
  • Copy->Atom is now working with atoms and lists of atoms.
  • Improved the way current object and layer are handled, for objects and lists of objects, in dialogs Atom->Modify, Bond->Modify, Text->Modify, Cell->Modify, Light->Modify and Layer->Modify. Deprecated gamgi_gtk_statusbar_modify and gamgi_gtk_statusbar_layer, added gamgi_global_selection_layer.
  • Lists of layers (previously created with Layer->Select) can now be easily modified with Layer->Modify.
  • Found and removed a crashing bug introduced last release in Text->Modify: when handling lists with more than one text, with undefined style but defined font, the new font became corrupted.
  • More improvements in the lists code, in Atom->Modify, Bond->Modify, Text->Modify, Cell->Modify, Light->Modify, Layer->Modify: common error handling, focus change in the end, etc.
  • Added local enumerations to the lists code in Light->Modify, Text->Modify, Atom->Modify, Bond->Modify, Cell->Modify, Layer->Modify.c, making the code much easier to read and maintain.
  • Light colors can now be modified in Absolute or Relative modes.
  • Lists of lights (previously created with Light->Select) can now be easily modified with Light->Modify.
  • Cleaned the lists code in Atom->Modify, Bond->Modify, Text->Modify, Cell->Modify and Light->Modify.
  • Lists of cells (previously created with Cell->Select) can now be easily modified with Cell->Modify.

New in GAMGI 0.14.8 (Jul 19, 2010)

  • Lists of texts (previously created with Text->Select) can now be easily modified (for any property recognized by Gamgi) with Text->Modify.
  • Lists of bonds (previously created with Bond->Select) can now be easily modified with Bond->Modify.
  • Lists of atoms can now be easily modified with Atom->Modify! For efficiency reasons, dialog data is first imported to a cache, from where atoms or lists of atoms are modified.
  • GTK 3.0: replaced widget->window direct addressing by gtk_widget_get_window calls (since GTK 2.14).
  • GTK 3.0: replaced deprecated macros GTK_WIDGET_VISIBLE by gtk_widget_get_visible calls (since GTK 2.18).
  • GTK 3.0: Replaced deprecated macros GTK_WIDGET_SENSITIVE by gtk_widget_is_sensitive calls (since GTK 2.18).
  • GTK 3.0: replaced widget->allocation direct addressing by gtk_widget_get_allocation calls (since GTK 2.18).
  • Removed a buffer overflow, found when building crystals with group 230: some wyckoff strings do not fit in a 20 char array.
  • www. gamgi.org and ftp.gamgi.org hardware failure: replaced, reinstalled system disk, copied previous data.

New in GAMGI 0.14.7 (Apr 5, 2010)

  • This is a bug-fix release. Fixed a GL context bug when multiple windows were open, that could produce no rendering. Fixed memory leaks in handling Freetype fonts. Fixed how the message was produced when some DejaVu fonts were not found, that could crash GAMGI. Updated old documentation, and the Help system, that could crash GAMGI. Fixed the way mouse dragging is handled that could stop mouse dragging. Corrected ionic radius for S and Sb. Prepared a new, experimental, release that does not require the GTKGLExt library (for X Window System only).

New in GAMGI 0.14.6 (Feb 10, 2010)

  • Improved Object->Select dialogs. All Object->Remove dialogs can now handle lists of objects with the same functionality as for single objects (this is the first application of the selection lists that we have been implementing since Gamgi 0.14). Cell->Link now supports shifts in translations and rotations for each node, in Crystal mode (this is very useful, to change the lattice origin and for people doing research on Defects in Crystals). Adapted the ruler code for Gtk 3.0. Fixed a few bugs in Cell->Modify, Cell->Link and in the Tools section.

New in GAMGI 0.14.5 (Jan 21, 2010)

  • Implemented a simple but powerful method to select any class of visual objects inside an arbitrary rectangle on any window. Improved the behaviour of Object->Select dialogs. Implemented the new dialogs Window->Select and Assembly->Select.

New in GAMGI 0.14.4 (Dec 30, 2009)

  • Implemented new dialogs: Text->Select, Bond->Select, Cell->Select, Light->Select, Layer->Select. Improved Atom->Select.
  • Updated some GTK code to work with GTK 3.0. Updated documentation, fixed bugs.

New in GAMGI 0.14.3 (Dec 1, 2009)

  • The new Atom->Select dialog is now fully working for all methods, except selecting objects by region. The infrastructure to handle global lists of objects is in place. Replaced Vera by DeJaVu Truetype fonts. Updated documentation, fixed bugs.

New in GAMGI 0.14.1 (Oct 23, 2009)

  • This release has implemented and tested (on Linux/Mac OS X) new GtkFileChooser dialogs, using only GTK 2.* low-level widgets, so it has the new technology without the constraints imposed by the official GTK 2.* GtkFileChooser dialog.
  • It compiles properly with the flags -DG*_DISABLE_DEPRECATED, and should be ready for GTK 3.0.
  • Most of the low-level engine code to handle multiple object selection has been added.

New in GAMGI 0.14 (Sep 24, 2009)

  • Added 9 geometry and 9 topology properties to the report produced by Group->Create in Polytope mode. Implemented and tested Group->Modify for Polytopes, including transitions in Autonomy and type of polytope: polyhedron, plane, direction. Added Help documentation for Group->Create, Group->Modify, Atom->Create, Atom->Modify. Fixed bugs. New screenshots showing the Polytope code.

New in GAMGI 0.13.15 (Aug 10, 2009)

  • Designed, implemented and tested a new algorithm to merge coplanar faces in 3D polytopes. Tolerance for visible and coplanar polytope faces in now controled by users in Group->Create. Improved layout for Atom->Create and Atom->Modify interfaces. Replaced a wide range of GTK 1 deprecated functions by new GTK 2 routines. Fixed a few drawing bugs.

New in GAMGI 0.13.14 (Jul 15, 2009)

  • Fixed a couple of bugs in chem and gtk code, including a nasty brown paper bag that crashed the new polytope creating in many systems. Everything that can be measured with Atom->Measure can now be modified with the new Atom->Modify dialog. The oldest dialog in Gamgi, Group->Modify, has been replaced by an entirely different dialog, to modify Groups, including polytopes.

New in GAMGI 0.13.13 (May 13, 2009)

  • Improved, tested, cleaned the polytope code and redesigned the way data is stored to increase maintenance and readibility.
  • Added speedups to make the code more efficient. This code builds a 3D convex hull for 50,000 atoms under 3 seconds on my desktop system.
  • Moved the corresponding graphic interface from Cell->Link to Group->Create.
  • Added new options (Autonomy) and defaults (color, neighbour elements, number of neighbours).
  • Removed (GTK 1) GTK_OBJECT casts in all g_signal_connect calls.

New in GAMGI 0.13.12 (Apr 28, 2009)

  • The planar polytope code, building atomic planes, is working.
  • The linear polytope code, building atomic directions, is working.
  • The topology arrays (faces, edges, vertices) should be replaced by structures containing arrays, to improve maintenance.
  • Testing the polytope code: seems to be working fine!
  • Decreasing tolerance to 1.0E-10 fixed numerical problems with the incremental algorithm in the polytope code (coplanar code switched off).
  • the same conflict might be retrieved from both faces around the visible edge: we have now a simple solution to this bug: use a unique identifier everytime we get conflicts for a new face.
  • Solved the realloc bugs due to outdated array memory addresses.
  • Debugging the core polytope code (currently without coplanar faces) is doing good progress.
  • Simplified the code handling the initial polytope.
  • Simplified,reviewed the polytope code handling faces,vertices arrays.
  • Completed and tested the polytope code related with conflict lists.

New in GAMGI 0.13.11 (Mar 30, 2009)

  • All the GTK 1 menus have now been replaced by GTK 2 Combo boxes. Wrote the GTK interface (currently only in Cell->Link) to build 3D and 2D polytopes around central atoms. Improved polytope code and wrote the remaining sampling code needed to get polytope neighbours. Debugged and tested all the polytope sampling, starting, exporting code, except the core incremental algorithm code. Fixed a bug in the XML code importing crystallographic directions with centered nodes.

New in GAMGI 0.13.10 (Jan 8, 2009)

  • Fixed a few copyright issues raised by the Debian legal team.
  • This release includes most of the code needed to implement a fast, sophisticated 3D convex hull incremental algorithm.
  • This is array-based (to be faster), with arrays of cell lists (to speed up sampling), conflict lists (to be NlogN), can handle coplanar issues, arbitrarily large faces, periodic boundary conditions, etc.
  • It will be useful to describe arbitrary sets of arbitrary polyhedra defined by atoms, such as in superconductors, silicates, glasses, etc.

New in GAMGI 0.13.9 (Oct 31, 2008)

  • This release merges all the X3D (the new XML version of VRML) code developed by Tiago Farto, after extensive cleanup.
  • This includes code to describe all the objects currently supported by GAMGI as layers, cells, clusters, molecules, groups, planes, directions, atoms, bonds, and texts. As X3D handles a single 3D space (while GAMGI handles multiple 3D spaces through layers), only objects in the current layer are exported; the other layers are ignored.