New developments in code, documentation and website are reported here.
Merged the new graphene code to build nanotubes, nanocones, nanocages.
Removed a serious bug resulting in top windows being closed too son in
some window managers. Cleaned code to prevent compilation warnings about
non-initialized variables, added a new test to catch nans in GTK dialog
input data.
What is new:
- Cleaned code in gamgi_gtk_*link.c and a few other files, to avoid warnings,
mostly innocuous, about non-used and non-initialized variables.
- Updated make_local to compile out-of-the-box in Debian 8.7, the last stable
version.
- Changed the delete_event callback in gamgi_gtk_window_create.c to prevent
a bug resulting in top windows being closed too son in some window managers.
Changed all other delete_event callbacks to return FALSE, when windows should
be destroyed.
- Merged the new GTK code to build nanotubes, nanocones, nanocages,
from Molecule->Create.
- Merged the graphene code to build nanotubes, nanocones,
nanocages, created dor the Master thesis of Joao Coelho.
- Cleaned code in gamgi_io_x3d.c and gamgi_io_x3d_render.c.
- Added a new test case to gamgi_io_token_float_get_check and
gamgi_io_token_double_get_check to find NANs.
- Updated gamgi_math_quaternion_from_axis and
gamgi_math_quaternion_to_axis, to handle the special case
where the rotation angle is zero, to avoid a division by zero.
- Removed gamgi/dat/util/: old files, no longer needed.
- Synced documentation on http://gamgi.org and http://gamgi.ist.utl.pt
with local doc/.
- Synced data files on http://gamgi.org and http://gamgi.ist.utl.pt
with local dat/.
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Write documentation about lists of objects.
- Write documentation about Orbitals.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
Reviewed all Formats documentation, particularly for Cluster, Group,
Plane, Direction objects. Replaced attribute type by reference in XML
group elements. Reviewed the code bridging GTK and OpenGL. Changed
license for GAMGI source code and GAMGI documentation for GPL v3.
Renewed gamgi.org domain name until 2020 and GAMGI EU trademark until
2024. Started using sha256sum to checksum distribution tarball files.
What is new:
- 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.
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Write documentation about lists of objects.
- Write documentation about Orbitals.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.