GAMGI 0.14
23rd September 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 screenshot.
What is new:
- Enough testing... this is it, GAMGI 0.14!
- Fixed a few error handling issues in Group->Modify and Group->Create.
- Moved parent initialization from gamgi_engine_copy_out.c to
gamgi_engine_copy.c, so copy_out functions can be used elsewhere
without erasing parent information.
- Group->Modify is working fine in Autonomy mode: All -> None.
- Fixed a bug in Plane->Modify and Direction->Modify: origin
and euler were not initialized, before entering the new values.
- Group->Modify is working fine in these Autonomy transitions:
None -> None, None -> All and All -> All. All -> None is not working yet.
Partial Autonomy is not going to be supported soon.
- Position and orientation is working for Group->Create
for all cases, and for Group->Modify when Autonomy is NONE.
- Further improvements in Group->Modify: GUI, behaviour.
- Group->Modify is working, except position and orientation.
- Improved the Group->Modify interface and behaviour.
- Found and temporarily fixed a bug (disabled autonomy option for
planes, directions coming from polytope code): currently atomic planes
and directions created from Group->Create cannot support all the functionality
available from Plane->Create or Direction->Create (due to single inheritance,
exactly as Group->Create). These planes, directions can then be easily
modified, including Autonomy, with Plane->Modify or Direction->Modify.
- Modified the way gamgi_chem_polytope and gamgi_gtk_group_create
transfer data, so it works also for gamgi_gtk_group_modify.
- Fixed two bugs in polytope code: Scale was not updated and
color was wrong in one case when creating planes or directions.
- Created a YBa2Cu3O7 screenshot showing 2D and 3D polytopes.
- Group->Create Polytope is now reporting 9 geometry properties:
polyhedron volumes, areas, lengths and aberrations, face areas,
lengths and aberrations, edge lengths and angles.
and edge lengths.
- Added Help->Current and Help->Topic support for Group->Create->Polytope
and Group->Modify->Polytope. Previously this was available only for
Group->Create and Group->Modify.
- Found and removed a Group->Create bug: the current action
was GROUP_CREATE but it should be GROUP_CREATE_POLYTOPE.
- Group->Create Polytope is now reporting 9 topology properties:
number of polyhedrons, faces, edges and vertices, number of faces,
edges and vertices per polyhedron, number of edges|vertices per edge,
number of faces|edges per vertex.
- The Web, Help->Current and Help->Topic are now reading the new
documentation for Atom->Modify, Atom->Config, Group->Create,
Group->Modify.
- Updated documentation for dialog Atom->Config.
- Increased CSS notebook ul width to 60em to avoid tag wrapping
in Atom->Modify.
- Updated documentation for the new dialog Group->Modify.
- Updated documentation for the new dialog Atom->Modify.
- Fixed a bug in polytope code: the central atom color
should be used, not the color for the central atom element.
- Wrote documentation for the new dialog Group->Create.
What is next:
- Replace GtkFileSelection by GtkFileChooserWidget.
- 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.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.15
10th August 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.
What is new:
- Tolerance for visible and coplanar faces is now defined
directly by users (including disabling face merging).
- Fixed for Groups the bug previously found for Clusters related
with different scaling for Container and Polytope types.
- The new algorithm to merge coplanar faces is working fine,
even with rather complex examples, with 50,000 atoms!
- Implemented a new algorithm to merge coplanar faces in 3D polytopes.
- Found and removed a bug: Cluster objects of Container and Polytope
types must be scaled in different ways. This problem applies also to
Group, Molecule and Association objects.
-
- Removed the polytope code to merge coplanar faces, as this is plagued
to raise lots of problems due to finite floating point numerical precision.
Merging faces will be done only in the end, after the polytope calculation,
a much more solid solution.
- Profiled the polytope code with 50,000 atoms in a cube and on a sphere:
we got exactly the same results (3.000000 and 79.000000 sec, respectively)
with or without speedups. Therefore removed speedups, to simplify the code
and make it less error prone.
- Improved the View page layout, in Atom->Create and Atom->Modify dialogs.
- The rendering thickness for Cell and Group wired objects is different: fixed.
- Found a bug related with half-bonds in Atom->Modify.
- Removed first and second GTK_OBJECT casts in g_signal_connect_swaped
calls.
- Removed GTK_OBJECT cast in g_signal_connect_after calls.
- Clarified a problem and filled a bug report for Gnome MetaCity related
with gtk_window_set_transient and fullscreen mode that afects Gamgi.
- Replaced deprecated GTK function: gtk_menu_append. Except in old
files gamgi_gtk_file_export.c and gamgi_gtk_file_import.c, that will be
replaced soon, no GTK deprecated functions are now used in Gamgi.
- Removed option_menu widgets and fixed g_object_get_data labels
in static_rotation_ok in gamgi_gtk_cell_align.c. When converting to GTK 2
combo boxes, this was left unfinished, so Gamgi would crash immediately
when attempting to align a Cell with the Layer or another Cell.
- Replaced deprecated GTK function: gtk_window_set_policy.
- Replaced GTK 1 progress by GTK 2 progress bar widget.
- Replaced deprecated GTK functions: gtk_notebook_set_homogeneous_tabs,
gtk_notebook_set_page, gtk_signal_handler_block_by_func and
gtk_signal_handler_unblock_by_func.
- Improved make_rules, following the suggestions of Daniel Leidert,
from the Debichem group, packaging Gamgi for the Debian distribution.
- Prepared
screenshots showing the new polytope code.
What is next:
- Replace GtkFileSelection by GtkFileChooserWidget.
- 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.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.14
15th July 2009
Fixed a couple of bugs in chem and gtk code, including a nasty
brown paper bag that crashed the new polytope code 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.
What is new:
- Added bond cleaning when creating Polytopes and improved this
cleaning for Planes and Directions.
- Improved layout for View page in Atom->Create and Atom->Modify.
Variancy is now a combo box entry, with 0.0 and 1.0 sugestions.
- Improved layout for View page in Bond->Modify and Atom->Modify.
- Fixed position for Autonomy combo box in Plane->Modify and
Direction->Modify dialogs.
- Completed interface behaviour in Group->Modify dialog.
- Improved Scale behaviour in Group->Modify,
Plane->Modify, Direction->Modify dialogs.
- Replaced Property by Quantity in Plane->Measure and
Direction->Measure dialogs.
- Designed and implemented the new Group->Modify dialog.
- Modifying atom-2atom distances is now working fine.
All the quantities that can be measured with Atom->Measure
can now be modified with the new dialog Atom->Modify.
- Modifying atom-direction distances is now working fine.
- Modifying atom-3atom distances is now working fine.
- Modifying atom-plane distances is now working fine for all cases.
- Fixed a old bug when modifying a torsion angle: the terminal
branches of the second atom should change as well, not just the
first atom and its terminal branches.
- The only task dialog in GAMGI still from the first generation,
Group->Modify, has been removed. It will be replaced soon
by a dialog handling Polytopes, among other things.
- All the functionality previously available in Group->Modify
is now available in Atom->Modify, in the mode Geometry.
- Completed all the GTK code for the new Atom->Modify dialog.
- The new Atom->Modify dialog will be used to set all the quantities
that are measured in Atom->Measure, replacing the old Group->Modify dialog
that will be used to modify Group objects such as polytopes.
- The new Atom->Modify dialog is almost finished:
removed a sync bug resulting in a GTK warning.
- Found and removed a bug in gamgi_chem_geometry.c:
sequence array off limits by 1, for bond angles.
- Removed all warnings at -O3 compilation level, on Fedora 9.
- Found and removed a crashing bug in gamgi_chem_polytope.c:
in static_vertex_create, first total should not be there.
- Found and removed a bug in gamgi_gtk_atom_modify.c:
when style changes, update draw, not atom->draw.
- Designed the new Group->Modify dialog: based on Atom->Measure
and Group->Create, the first page has radio buttons to jump
between the two sets of pages (Atoms and Polytope). Opens initially
in one of the two sets (Atoms), in the second page, to preserve
a rule always followed in GAMGI GUIs: users are required to fill
only the starting visible notebook page, all the others are optional
or have suitable defaults.
What is next:
- Complete the 3D polytope code, including documentation.
- Replace GtkFileSelection by GtkFileChooserWidget.
- 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.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.13
13th May 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 for all g_signal_connect calls.
What is new:
- Removed the GTK_OBJECT () cast (from GTK 1) in g_signal_connect
calls, in all src/*/*c and src/*/*/*c files (but not in
g_signal_connect_after and g_signal_connect_swapped calls).
- Removed Polytope code from Cell->Link (this is now in Group->Create).
- In the polytope code, added error checks to see if: 1) the selected
atom is outside the current object selection; 2) Global mode is wrongly
used with unrestricted neighbour distance.
- Added parameter autonomy to Group objects, as in Planes
and Directions. Autonomy All and None are now working fine
for Groups created by the Polytope code.
- When building polytopes, use central atom default color,
when neighbour element is undefined and default neighbour
color cannot be used.
- The central atom is now added, in first place, to new 1d-,
2d- and 3d- polytopes, just before the neighbour atoms.
- Found and removed a bug in the polytope code: each new Group object
should belong to the first parent above the corresponding central Atom
that is at least a Group object, not to the current selection.
- Redesigned the interface for Group->Create: it looks clean and
functional now.
- The polytope code is now available from Group->Create.
- The polytope code is now working fine for a cube with 50,000 atoms!
(screenshot soon...). It looks fast also (about 2-3 seconds on my
2 year old system).
- Found and removed a bug in the speedup code.
- Added speedup code to accelerate search for conflicts and edges
in arrays.
- Debugged polytope code with new data structures.
- Changed policy for types and macros: from now on, these will be local
when usage is local, instead of being defined in global headers, as before.
- Redesigned data structures for faces, edges and vertices in polytope code.
The new structures are much easier to maintain and understand.
What is next:
- Rewrite Group->Modify, to include Polytopes and upgraded
Atoms mode.
- Complete the 3D polytope code, including documentation.
- Replace GtkFileSelection by GtkFileChooserWidget.
- 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.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.12
28th April 2009
The polytope code seems to be working fine now, in 1D (automatically producing
a range of atomic directions), 2D ((automatically producing a range of atomic
planes) and 3D conditions (automatically producing a range of polyhedra atomic
groups). In the last case, the array-based (for speed) 3D convex hull incremental
algorithm, with conflict lists, is still operating with restrictions (the code to
handle and merge coplanar faces is still switched off). Moreover, no documentation
is currently avalable. The code is temporarily available from Cell->Link and
then Link Polytope (though we plan to move it to Group->Create instead). This
functionality is very important to describe crystallographic structures such
as minerals, superconductors, etc. but also to analyse glasses, liquids, etc.
We are now getting close to GAMGI 0.14.
What is new:
- 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.
What is next:
- Complete the 3D polytope code, including documentation.
- Replace GtkFileSelection by GtkFileChooserWidget.
- 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.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.11
29th March 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.
What is new:
- Improved static_group and static_cluster in gamgi_io_x3d.c
- Updated gamgi_mesa_scan and gamgi_io_x3d for group objects.
- The polytope code is now building the initial tetrahedron for
all central atoms. All users options are working fine, including lights.
- Centering polytope groups is now working fine (rotations, scaling).
- The code building the initial tetrahedron, for the polytope incremental
algorithm, is working fine. The final exporting code is also working fine.
- The default color for Planes and Directions (in XML, GTK interfaces),
can now be configured from GAMGI XML files.
- Found and removed a bug in the gamgi_expat_import_object.c: o4 node
coordinates were not properly imported for Directions, resulting in a error.
- Inverted the distance-ordered neihbours, so farthest atoms are added
first in the polytope incremental algorithm, thus potentially removing
closer atoms and decreasing the number of expensive polyhedra recalculations.
- Simplified the polytope code: removed array xyz (using array neighbours
instead), removed routines static_visible, static_coplanar, static_mix,
static_valid_tetrahedron (using new routine static_mix instead),
removed variable t_neighbours (using n_vertices instead).
- Wrote the polytope code to build the initial tetrahedron,
orientated counter-clockwise.
- Fixed a name conflict between Random and Polytope Link methods.
- Fixed a bug when measuring notebook size: in some cases, this size
is given by tag size. Solution: hide tags when measuring size.
- Added View (Style, Color) parameters to Polytope Cell->Link interface.
- The routines to create,reset,free topology arrays in the polytope code
are running fine.
- The routines to scan neighbours in the polytope code are now working fine.
- Wrote all the (cell based) scanning code needed to find the closest
neighbours for each central atom in the polytope building code.
- Implemented a dialog to build arbitrary polytopes from Cell->Link dialogs.
- Converted the last GTK 1 Option Menus (Cell Type) in Cell Create
and Cell Modify to GTK 2 Combo Boxes.
- Converted Borders GTK 1 option_menu to GTK 2 combo box,
in gamgi_gtk_cell_create.c and gamgi_gtk_cell_modify.c.
- Converted Faces, Nodes GTK 1 option_menus to GTK 2 combo boxes,
in gamgi_gtk_cell_modify.c.
- Fixed the X3D bond child scaling code (Tiago Farto).
What is next:
- Replace GtkFileSelection by GtkFileChooserWidget.
- 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.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.10
7th January 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.
What is new:
- Wrote, cleaned, redesigned segments of the 3D convex hull code.
- Finnished most of the (3D convex hull) code to build arbitrary
polytopes.
- Updated the Group object, to receive the new polytope
functionality.
- Redesigned the new chemical polytope code.
- Morten Kjeldgaard (Ubuntu) pointed my attention to GL2PS:
an OpenGL to PostScript printing library. This looks very,
very interesting for the future.
- Improved the Postscript header. GAMGI now understands
and accepts both .ps and .eps name extensions.
- Fixed the legal issues regarding Mark Kilgard's
green book code. Many thanks to Mark Kilgard, for
clarifying the issues raised by Michael Banck.
- Anonymous ftp.gamgi.org is working fine again.
- Fixed the legal copyrights and notices in gamgi_io_file
and gamgi_mesa_area covering Mark Kilgard's code explained
in the book: OpenGL programming for the X Window System.
- Fixed the legal copyrights and notices in gamgi_mesa_text
and gamgi_io_x3d_render files covering OGLFT and GLE libraries.
Thanks to Morten Kjeldgaard (Ubuntu) and Michael Banck (Debian)
for raising these issues.
- Moved www.gamgi.org to a new computer. Everything is working
fine except anonymous ftp. Hopefully this will be back soon.
- The hard core of the array-based 3D convex hull algorithm, with
conflict lists and coplanar handling, is now in place, but has not
been tested yet.
- Started implementing a fast (NlogN) 3D convex hull algorithm, (using
arrays to be faster, as in the Voronoi code). This will allow users to
generate arbitrary polytopes with GAMGI. This is particularly useful in
Crystallography (silicates, superconductors, etc.) to represent tetrahedrons,
octahedrons, etc. A 2D convex hull algorithm has been already implemented
in order to describe polygonal planes.
What is next:
- Replace GtkFileSelection by GtkFileChooserWidget.
- 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.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.9
30th October 2008
This release merges all the X3D (the new XML version of VRML) code developed by
Tiago Farto, after extensive cleaning. 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.
What is new:
- Cleaned and tested cylinder bonds code in static_bond in gamgi_io_x3d.c.
- Cleaned and tested line bonds code in static_bond in gamgi_io_x3d.c.
- Cleaned gamgi_io_x3d.c: static_scale, static_unscale, static_text,
static_orbital, static_atom, static_direction, static_plane, static_group,
static_molecule, static_cluster, static_cell, static_assembly, static_layer.
- Merged all the X3D (the new XML version of VRML) code developed by Tiago Farto,
after cleaning (files gamgi_io_x3d.c and gamgi_io_x3d_render.c.). This includes code
to describe all the objects currently supported by GAMGI, as layers, cells, clusters,
molecules, groups, planes, directions, atoms, bonds and texts. Thanks Tiago, for this
very nice work!.
- Replaced h_addr by h_addr_list[0] in gamgi_io_socket.c, as suggested by
Morten Kjeldgaard (Ubuntu), as h_addr has been deprecated in version 2.8 of
libc6, that will be used in Ubuntu 8.10. Thanks Morten!.
- Removed file dat/cell/polymers/polyethylene_sulfide.cif, that
is not used at all by GAMGI and cannot be distributed, from both my
latest distribution and GAMGI 0.13.8, released a few weeks ago.
Thanks to Morten Kjeldgaard (Ubuntu), for noticing this.
What is next:
- Replace GtkFileSelection by GtkFileChooserWidget.
- 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.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.8
3rd August 2008
This is a bug fix release. Several new and old bugs, simple but puzzling
and affecting productivity, were clarified and removed. Converted Cell
Align option menus (Gtk 1) to combo boxes (Gtk 2).
What is new:
- Fixed a simple but old and relevant bug in the Expat code:
conventional axes were exported when they should be primitive.
- Fixed a bug with Gtk 2.0 code: the window bottom bar
must be hidden after showing the window, otherwise this does
not work properly when coming from XML files.
- Replaced all the GTK 1 option menus in gamgi_gtk_cell_align
by GTK 2 combo boxes and cleaned the code.
- Fixed a Gtk warning in Atom->Config: Charge entry is not there.
- Changed sligthly the mass, radius, charge defaults policy: all atoms
must now have valid mass, radius, charge. For Dummy atoms the default
mass and radius is 1.0. Elements without a known radius get radius from
the lower element that has one. For all elements default charge is 0.0
- Reorganized all the atomic mass, radius, color data in Gamgi:
all this data is now stored in arrays in gamgi_chem_property.c.
- Synced mass, radius atomic defaults with the new mass, radius data.
- Fixed a bug in Gtk code: when pressing with the mouse on the ruler
and move,rotate,scale mode was off, garbage messages would show up.
- Fixed the mathematical algorithm to solve systems of two linear
Diophantine equations: we were missing some solutions because we were
not taking into account all the infinite intermediate solutions.
What is next:
- Replace GtkFileSelection by GtkFileChooserWidget.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.7
8th July 2008
Added mass data for most important isotopes, including isotope abundance and
half-life (source: wikipedia). Added radius data including natural half-distances,
effective and calculated atomic radius, effective and calculated (2008) covalent
radius, Van der Waals radius (webelements). Added the widely used Shannon ionic
radius, depending of valence and coordination (Acta Cryst. paper). Cleaned and
replaced option menus by combo boxes in Cell->Link, Cell->Create and Cell->Modify.
Added new screenshots. Improved Help information for exported type formats,
Atom->Create and Atom->Modify. Many thanks to Pedro Isidoro and Luis Veiros,
who contributed to this release (providing the Shannon original papers and
collecting atomic data).
What is new:
- Fixed warnings in gamgi_phys_cell_link due to discarded attributes.
- From now on, for ALL atoms, including Dummy (Du), atomic mass and
radius must always be positive and charge can take any real value.
- Updated Cell->Link, Atom->Create, Atom->Modify Help documentation.
- Added mass, radius information to documentation covering Atom->Create
and Atom->Modify.
- Cleaned the interface and behaviour of Cell->Link.
- Replaced all option menus (GTK 1) in Cell->Link by combo boxes (GTK 2).
- Changed Atom->Create and Atom->Modify Help documentation for
notebook style. Updated Help->Current and Help->Topic accordingly.
- Added 5 new screenshots, to represent the 0.13 series.
- Simplified notation for mass and radius data, available from
Atom->Create and Atom->Modify.
- The 2008 covalent radius are now fully working on Gamgi.
- Grabed from WebElements
the new (2008) calculated covalent radius, available for Z <= 96.
- Updated effective and calculated atomic radius data, from
WebElements.
- The complete ionic Shannon (1976) radius are now fully working on Gamgi.
- The atomic radius information for all elements, including half-distance in
natural state, atomic effective, atomic calculated, covalent and Van der Waals
radius, is now working.
- The isotopic information for all elements, including isotope abundance,
half-life and excited states, is now working.
- Replaced the option menu (GTK 1) Scope, in Cell->Remove, by
a combo box (GTK 2).
- Added a new size, GAMGI_ENGINE_STRING, currently 50, for pair values.
- Replaced option menu (GTK 1) Borders, in Object->Measure dialogs by
combo box (GTK 2).
- Added main introduction file main.html to Help->Current.
- Added JPEG, PNG, TIFF, PPM, PS, XYZ files to Help->Topic->Introduction.
- Added Interfaces, Formats files to Help->Topic. Cleaned headers.
- The XML Cell parameter "o_vectors" is now "origin_vectors".
- In Cell->Create and Cell->Modify, improved the Origin page interface
and behaviour.
- Replaced option menus (GTK 1) origin vectors, axes, axes vectors,
in Cell->Create and Cell->Modify by combo boxes (GTK 2).
- In Gtk Combo Boxes, the renderer should be added AFTER the
tree store. In Gtk Tree Views the renderer should be added BEFORE
the tree store. All Combo Boxes and Tree Views now follow this rule.
- Replaced o4 option menus (GTK 1) by combo boxes (GTK 2) in
Cell->Create, Cell->Modify.
- Replaced o4 option menus (GTK 1) by combo boxes (GTK 2) in
Plane->Create, Plane->Modify, Direction->Create, Direction->Modify.
- Fixed a little offset bug when handling the reference combo box in
Direction->Modify, in static_autonomy (introduced in GAMGI 0.13.5).
- Updated the make_local file: the default configuration should work fine
for Fedora 8.0, Ubunty 7.10, Suse 10.3, Mandriva 2008 on xf86 machines. The
commented configuration for the same distributions on amd64 is exactly the
same, except lib is replaced everywhere by lib64.
- Updated the users mailling list address in Help->Start.
- Added second level dialogs to show atomic mass, radius and charge,
from Atom->Create, Atom->Config and Atom->Config.
- We have now clear ideias on how to implement general, powerful polytopes
in GAMGI to describe atomic structures. Each polytope will be created as an
independent Group object, from Group->Link, Molecule->Link, Cluster->Link
or Cell->Link, entering the number of neighbours or the desired neighbour
shell thickness. Each procedure will create just one or all the equivalent
polytopes. From the math point of view, an incremental algorithm, with
conflicting information, a O(n) algorithm, will be used to calculate the
arbitrarily complex 3D convex hulls we need to build.
What is next:
- Replace everywhere GtkCombo and GtkOptionMenu by GtkComboBox.
- Replace GtkFileSelection by GtkFileChooserWidget.
- Redesign Atom->Create and Atom->Modify, according with the new
notebook style, with more properties, including a wide range of atomic
radius.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.6
4th June 2008
Redesigned entirely Atom->Create, Atom->Modify and Atom->Config, as notebook dialogs,
including new parameters: element number, atom temperature and occupancy (to handle
diffraction data). This is also ready to merge detailed mass, radius and charge information.
Replaced most dynamic Option Menus (GTK 1) by ComboBoxes (GTK 2). Removed a simple bug
in Light->Modify (added in the previous release), that turned this dialog almost unnusable.
Used the icons made by Jakub to show a favicon at www.gamgi.org. The code by Tiago Farto
to export to X3D format is almost finished.
What is new:
- Updated gamgi_expat_import_help.c, to support the CSS attributes
image/png and icon, introduced to indicate the favicon image.
- Updated the Authors page.
- Atom new config attribute, temperature, can now be imported,exported
to XML files.
- Atom new attributes, temperature and occupancy, can now be imported,exported
to XML files.
- Redesigned Atom->Config according to the notebook style and
added new functionality: atom temperature, element number.
- Fixed a bug in Light->Modify: essentially a typo, resulting
in Error messages when trying to modify even simple lights.
- Redesigned Atom->Modify according to the notebook style and added
new functionality: atom temperature, occupancy, element number.
- Added a favicon (actually gamgi16.png) to www.gamgi.org (and doc/ documentation).
- Synced doc/ and www.gamgi.org/ documentation.
- Redesigned Atom->Create according to the notebook style and added
new functionality: atom temperature, occupancy, element number.
- Replaced Option Menus by Combo Boxes in Group->Remove, Molecule->Remove,
Cluster->Link.
- Played with favicons for www.gamgi.org.
- Replaced Option Menus by Combo Boxes in Group->Link, Molecule->Link,
Cluster->Link.
- Replaced Option Menus by Combo Boxes in Assembly->Link, Assembly->Remove.
- Replaced Option Menus by Combo Boxes in Plane->Link, Direction->Link.
- Replaced Option Menus by Combo Boxes in Plane->Remove, Direction->Remove.
- Replaced dynamic Option Menus in Text->Create,
Text->Modify, Text->Config by dynamic Option Boxes.
- Replaced Option Menus by Combo Boxes in Text->Remove, Bond->Remove,
Atom->Remove, Light->Remove, Layer->Remove, Window->Remove.
- Replaced Option Menus by Combo Boxes in Text->Link, Bond->Link,
Atom->Link, Light->Link, Layer->Link, Window->Link.
What is next:
- Replace everywhere GtkCombo and GtkOptionMenu by GtkComboBox.
- Replace GtkFileSelection by GtkFileChooserWidget.
- Redesign Atom->Create and Atom->Modify, according with the new
notebook style, with more properties, including a wide range of atomic
radius.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.5
12th May 2008
Replaced Combos (GTK 1) by ComboBoxEntries (GTK 2). Replaced
most static Option Menus (GTK 1) by ComboBoxes (GTK 2). Fullscreen
mode is working again, in Enlightenment, Gnome, KDE, XFCE,
BlackBox, IceWM, etc. Topics in Help->Topic and Help->Tutorial
can now be selected with double click. Fixed the window size in
Select and File dialogs. GAMGI comes now with its own Tango!
icons, beatifully created by
Jakub Szypulka!. Renewed gamgi.org until September 2015.
What is new:
- Replaced the two Property option menus in Atom->Measure,
by Combo Boxes.
- Replaced all eight gtk_combo_box_entry_new_text constructions
by gtk_combo_box_entry_new, which is lower-level, more flexible.
- Replaced the four Method option menus in Group->Measure,
Molecule->Measure, Cluster->Measure, Cell->Measure by Combo Boxes.
- Replaced the Light Type option Menu in Light->Modify by a Combo Box.
- Replaced the seven Projection, Type, Reference and Instance
Option Menus in Plane->Modify and Direction->Modify by Combo Boxes.
- Replaced the four Vector Option Menus in Plane->Create,
Plane->Modify, Direction->Create, Direction->Modify, by Combo Boxes.
- Replaced the four Autonomy Option Menus in Plane->Create,
Plane->Modify, Direction->Create, Direction->Modify, by Combo Boxes.
- Replaced all gtk_combo_box_new_text by gtk_combo_box_new,
which is the same, but with much more control.
- We have a working model to replace dynamic option menus,
with variable options and sensitivities.
- Cleaned mesa_gamgi_text: simplified static_extrusion and removed
extruded->extra (these vertices are now saved in extruded->vertices).
- Updated fullscreen mode, including Page_Up and Page_Down. This
works now on all Linux tested environments: Enlightenment, Gnome, KDE,
BlackBox, IceWm, XFCE.
- Double-click now works in both Help->Topic and Help->Tutorial.
- Increased the size for File->Import and File->Export dialogs.
- Changed x,y,x and r,g,b labels to X,Y,Z and R,G,B, to be consistent
with the general rule that the first letter in labels is uppercase.
- Replaced OptionMenu by ComboBox for Projection, Visibility_in,
Visibility_out and Axes menus in Layer->Modify.
- Replaced OptionMenu by ComboBox for Style and Color menus
in Bond->Create, Bond->Modify, Bond->Config and Text->Config.
- Fullscreen mode is working again, with GTK-2.0. Tested
on Enlightenment, IceWM, BlackBox, KDE, Gnome, XFCE.
- GAMGI has now its own Tango! icons
icons, beatifully desined by Jakub Szypulka!
- Replaced deprecated gdk functions, so GAMGI now compiles
fine with -DGDK_DISABLE_DEPRECATED flag.
- Increased size for Object->Select dialogs.
- Fixed a visual bug in Plane->Measure: the dialog changed
size when the selected option changed.
- Fixed size in Cell->Link and Help->Config and clarified
the entry sizes globally.
- Fixed a few calls to set button state: toogle buttons should
use gtk_toggle_button_set_active, radio buttons should use
gtk_button_clicked.
- Replaced OptionMenu by ComboBox for Style menus in Text->Create
and Text->Modify.
- We have a working model to replace static GTK 1 OptionMenus by GTK 2 ComboBoxes.
- Replaced GtkCombo by GtkComboBox in Atom->Config, Atom->Create and Atom->Modify.
- Replaced GtkCombo by GtkComboBox in Bond->Config, Bond->Create and Bond->Modify.
- Renewed gamgi.org for another 5 years, so it is available until September 2015.
- Replaced everywhere direct checks on GTK_TOGGLE_BUTTON (button)->active by
calls to function gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)).
- We have a simple working model for Gtk 2.0 ComboBox, to replace Gtk 1.0
Combo widgets.
- Replaced gtk_radio_button_group() by gtk_radio_button_get_group()
everywhere.
What is next:
- Replace everywhere GtkCombo and GtkOptionMenu by GtkComboBox.
- Replace GtkFileSelection by GtkFileChooserWidget.
- Redesign Atom->Create and Atom->Modify, according with the new
notebook style, with more properties, including a wide range of atomic
radius.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.4
1st April 2008
Replaced GtkClists in Cell dialogs Systems, Lattices, Groups, plus Help->Tutorial,
for GtkTreeview with GtkListstores. Replaced GtkCTrees in Help->Topic plus
all GtkCTrees in Object->Select dialogs by GtkTreeview with GtkTreestores.
Simplified recursive object selection code that crashed GAMGI, at the -O3 level
of optimization. Replaced more Gtk-1.0 by Gtk-2.0 functions. We are much closer
to have a completely Gtk-2.0 based GAMGI now.
What is new:
- Replaced everywhere gtk_timeout_remove by g_source_remove.
- Replaced everywhere gtk_timeout_add by g_timeout_add.
- Replaced everywhere gtk_container_border_width
by gtk_container_set_border_width.
- Found and removed a crashing bug in gamgi_mesa_select.c, when
compiling with -O3. Simplifying the code eliminates the problem.
- Replaced GtkCTree by GtkTreeview in all Object->Select dialogs.
This means that all Gtk 1.0 GtkCTrees and GtkClists have now been
replaced by Gtk 2.0 GtkTreeviews.
- >Replaced GtkCTree by GtkTreeview in Help->Topic and improved Help->Tutorial:
the model is now almost the same for these List and Tree Help dialogs.
- Aligned pages in Help Tutorial.
- The model for building Trees with GtkTreeView seems clear now.
- Replaced GtkClist by GtkTreeview in Cell Symmetry second level dialogs:
Systems, Lattices and Groups. So all deprecated GtkClists in GAMGI have now
been replaced by GtkTreeview widgets.
- Replaced GtkClist by GtkTreeview in Help->Tutorial.
- We have now working models to replace all GtkClists by GtkTreeviews.
What is next:
- Replace everywhere GtkCombo and GtkOptionMenu by GtkComboBox.
- Replace GtkFileSelection by GtkFileChooserWidget.
- Redesign Atom->Create and Atom->Modify, according with the new
notebook style, with more properties, including a wide range of atomic
radius.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.3
23th March 2008
Replaced GtkText by GtkTextview everywhere in GAMGI, so GTK_ENABLE_BROKEN is
no longer needed to compile with Gtk-2.0. Fixed bugs in locale, Ctr-C, atomic
radius, dialogs size and widget focus. Updated documentation to reflect the
change to Gtk-2.0/GtkGLext-1.0 libraries. Improved man page and icons.
What is new:
- Replaced gtk_style_unref() by g_object_unref() everywhere.
- Problems with gtk_widget_modify_fg|bg|base.c: moved back to style calls.
- Updated documentation: all the Installation files.
- Updated documentation: Requirements (front page, installation, project
technical) and Formats Attributes (manuals introduction).
- Updated cell/create_symmetry.html and cell/modify_symmetry documentation.
- All Help documentation is now shown with Gtk 2.0 GtkTextView instead
of Gtk 1.2 GtkText. #define GTK_ENABLE_BROKEN is no longer needed.
- Help->Start and all sorts of Group/Molecule/Cluster/Cell reports are
now working fine with Gtk 2.0 GtkTextView instead of Gtk 1.2 GtkText.
- Replaced Gtk 1.2 style code in gamgi_gtk_dialog.c by Gtk 2.0
gtk_widget_modify_[base|fg|bg].c calls.
- Replaced everywhere gtk_widget_grab_default by gtk_widget_grab_focus .
- Replaced GtkText by GtkTextView in Text->Create and Text->Modify.
- Fixed a bug in decimal number separator: when LC_ALL=french
or other comma-based country, everything worked with commas, but
data files (dot-based) could not be imported. For the time being
everything will work in dots. We will come to this again when GAMGI
interfaces get translated to other non-english languages. This is
explained in the man page.
- Fixed a bug in gamgi_expat_export_object: when atomic
radius is -1 (not defined), it should not be exported.
- Fixed the sizes for dialog Help->Tutorial,
and Cell second level dialogs System, Lattice, Group.
- Solved the accelerator group bug (Ctr-C not working):
"key_realease_event" was handled before the accelerator.
Solution: use g_signal_connect_after for keys.
- GAMGI has now its own icon.
Still needs some expert work. Tiago Farto, thanks for the transparency!
- Made clear in the documentation that monoclinic base-centered
cells in GAMGI always use cell choice 1 (with unique axis b).
What is next:
- Replace GtkTrees and GtkClists by GtkTreeviews.
- Replace GtkFileSelection by GtkFileChooserWidget.
- Redesign Atom->Create and Atom->Modify, according with the new
notebook style, with more properties, including a wide range of atomic
radius.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.2
5th March 2008
Ported GAMGI to GTK 2.0/GTKGLext 1.0. Apart from very minor details everything seems to be working fine. This was essential to guarantee the GAMGI future. Some widgets still need to be replaced but the main issues are solved. Added a man page, images for icons, instructions for distributions. Fixed light, plane, direction bugs.
What is new:
- Remove a warning and fixed a bug in both gamgi_gtk_plane_modify
and gamgi_gtk_direction_modify.
- Added a DISTROS file with instructions for distributions.
- Fixed a simple, just introduced, crashing bug in gamgi_gtk_light_create:
a g_object_set_data function was removed by mistake when porting to GTK 2.0.
- Replaced Gtkglarea by Gtkglext library and modified the code in
gamgi_mesa_area, gamgi_mesa_select and gamgi_global_main accordingly.
GAMGI is now running apparently fine with Gtkglext, with multiple drawing
areas, shared pre-compiled lists and window-independent OpenGL resources.
- We have only one show stopper bug now, in gtkglarea code,
crashing GAMGI with GTK 2.0 on exit.
- Removed an resulting in lots of warnings when starting a top window
(GTK complaining about NULL pointers to functions in callbacks).
- Reduced the number of const char * issues to only two.
- Fixed combo boxes entry size in gamgi_gtk_bond_create and gamgi_gtk_bond_modify.
- replaced gtk_signal_connect_while_alive by g_signal_connect calls.
- Fixed problemas in window statusbar, with
gtk_statusbar_set_has_resize_grip (statusbar, FALSE).
- First and second level dialogs seem to be working fine.
- Top menus are now working fine, but position, width should be improved.
- Replaced gtk_object_set_data, gtk_object_get_data, by
g_object_set_data, g_object_get_data. Replaced GTK_OBJECT by G_OBJECT.
- Gamgi is linking and running, sort of, on GTK 2.0, with #define GTK_ENABLE_BROKEN.
- Replaced gtk_entry_new_with_max_length and gtk_widget_set_usize by gtk_entry_new,
gtk_entry_set_width_chars, gtk_entry_set_max_length.
- Created a man page for Gamgi, with all the basic surviving skills.
- Started the process to create an icon for Gamgi:
http://www.gamgi.org/icon/.
- Changed gtk_widget_set_usize to gtk_widget_set_size_request functions.
- Commented gtk_accel_group_new Ctr-C acceleration.
- Commented gtk_signal_connect_while_alive functions.
- Changed gtk_signal_connect_object to g_signal_connect_swapped functions.
- Changed all GTK_SIGNAL_FUNC to G_CALLBACK macros.
- Changed all gtk_signal_connect to g_signal_connect functions.
- Added DISABLE_DEPRECATED cflags to make_rules.
- Added library GtkGLArea 2.0. GAMGI is now compiling
(but not linking yet) with GTK 2.0 and GtkGLArea 2.0.
- Replaced all char *name by const char *name, in
gtk_entry_get_text commands, to avoid warnings.
- Commented all gtk_widget_set_usize commands, to compile.
- Started a new development branch, to move GAMGI to
GTK 2. Updated the make_rules file accordingly.
- Found and removed a light bug: exporting shininess with 2 decimal
figures resulted in parameter loss. Increased to 4 decimal figures.
What is next:
- Redesign Atom->Create and Atom->Modify, according with the new
notebook style, with more properties, including a wide range of atomic
radius.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Replace set/get_data functions by structures
defined in gtk/gamgi_object.h headers.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.13.1
14th February 2008
Analysed, cleaned, removed all issues generating warnings when compiling
with -O3 added to default gcc -g -Wall -ansi, in both xf86 and xf86_64
architectures, with gcc 3.3.4 (Suse 10.0) and gcc 4.1.2 (Fedora 8),
plus pointer_to_int and int_to_pointer conversions in non-32 bit
machines. Found and removed 4 actual bugs in the process.
What is new:
- Cleaned array addressing in gamgi_phys_wigner (static_orthorhombic_c,
static_orthorhombic_f, static_orthorhombic_i_high, static_orthorhombic_i_low,
static_rhombohedral_high and static_rhombohedral_low).
- gcc 4.1.2 on xf86_64: cleaned all issues generating warnings
when compiling with -O3 added to default gcc -g -Wall -ansi.
- gcc 4.1.2 on xf86_64: cleaned all int-to-pointer and pointer-to-int
conversions generating warnings in chem/ and expat/ code when compiling
with default gcc -g -Wall -ansi.
- gcc 4.1.2 on xf86_64: cleaned all int-to-pointer and pointer-to-int
conversions generating warnings in mesa/ code when compiling with default
gcc -g -Wall -ansi.
- gcc 4.1.2 on xf86_64: cleaned all int-to-pointer and pointer-to-int
conversions generating warnings in gtk/ code when compiling with default
gcc -g -Wall -ansi.
- gcc 4.1.2 on xf86_64: cleaned all int-to-pointer and pointer-to-int
conversions generating warnings in engine/ code when compiling with default
gcc -g -Wall -ansi. These conversions are now handled by properly designed
macros, which are also easily found with grep.
- gcc 3.3.4 on xf86: cleaned all issues in phys/ code generating warnings
when compiling with -O3 added to default gcc -g -Wall -ansi.
- gcc 3.3.4 on xf86: cleaned all issues in gtk/ code generating warnings when
compiling (gcc 3.3.4 on xf86) with -O3 added to default gcc -g -Wall -ansi (one
real bug found in gamgi_gtk_cell_modify.c: one truely missing initialization).
- gcc 3.3.4 on xf86: cleaned all issues in chem/ code generating warnings when
compiling with -O3 added to default gcc -g -Wall -ansi (two real bugs found in
gamgi_chem_symmetry.c: one truely missing initialization and two code lines
wrongly exchanged).
- gcc 3.3.4 on xf86: cleaned all issues in math/ and mesa/ code generating
warnings when compiling with -O3 added to default gcc -g -Wall -ansi.
- gcc 3.3.4 on xf86: cleaned all issues in engine/ and expat/ code generating
warnings when compiling with -O3 added to default gcc -g -Wall -ansi (one real
bug found in gamgi_expat_import_object.c: a variable depending on the order of
function argument handling, which is implementation dependent).
What is next:
- Redesign Atom->Create and Atom->Modify, according with the new
notebook style, with more properties, including a wide range of atomic
radius.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Port GAMGI to GTK 2.* or (3.*).
- Replace set/get_data functions by structures
defined in gtk/gamgi_object.h headers.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
Changelogs for older releases can be found here.