New developments in code, documentation and website are reported here.
GAMGI code is now compiling fine with SINGLE_INCLUDES and SEAL_ENABLE
enabled, so miggrating to GTK-3.0 should be relatively easy. Fixed minor
GUI bugs in all Object->Copy and Object->Link dialogs. Polygon data
imported from XML files is now properly checked. Updated Help files
for Object->Copy, Object->Select, Object->Link dialogs, and updated
Help->Current and Help->Topic accordingly. Changed XML formats for
polygon Planes and line Directions and updated dat/ files accordingly.
Objects can now be rotated,moved, scaled in all open windows simultaneously.
What is new:
- Addded -I/usr/include/gdk-pixbuf-2.0/ to PATH_GTK_H in make_local,
as this is required at least by Ubuntu 10.10.
- Synced gamgi/src/ and gamgi_exp/src/.
- Synced gamgi/doc/interfaces/, gamgi_exp/doc/interfaces/,
www.gamgi.org/interfaces/ and ftp.gamgi.org/interfaces/.
- Updated Help->Topic, to support the files documenting the
new Object->Copy, Object->Select and Object->Link dialogs.
- Updated Help->Current, to support the files documenting the
new Object->Copy, Object->Select and Object->Link dialogs.
- Updated the Help file infrastructure, to document all the
new Object->Copy, Object->Select and Object->Link dialogs.
- Interactive rotation, translation, scaling now works fine for
all windows simultaneously (after selecting Gamgi as current object).
- Updated planes,directions in XML files in dat/plane and dat/cell,
to conform with the new format for polygons and lines.
- Fixed group->type and added cluster->type, so both types of Group and
Cluster objects can now be correctly exported/imported to XML files.
- Added x,y,z, center_x,center_y,center_z, e1,e2,e3 to Cluster objects.
- Changed cx,cy,z by center_x, center_y, center_z parameters
in XML files, for Plane, Group and Cluster objects.
- Changed the way geometry is described in Line Directions in XML files.
- Fixed a GUI bug in all Copy and Link dialogs: the first object must
be local, which means in the current layer (before, objects in different
layers could be selected, as long as the window was the same).
- Reviewed and tested further all the code to import planes and directions
from XML files. This is now robust and simpler than before.
- Cdata arrays for Cluster, Group, Plane, Direction polygons
and lines are now properly tested when importing XML files.
- GAMGI is now compiling and running fine with -DG_DISABLE_SINGLE_INCLUDES,
-DATK_DISABLE_SINGLE_INCLUDES, -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES,
-DGTK_DISABLE_SINGLE_INCLUDES. As GTKGLExt does not support yet these directives,
only the GAMGI version marked gamgi_exp (without GTKGLExt) can be currently
built with *_SINGLE_INCLUDES enabled.
- GAMGI is now compiling and running fine with -DGSEAL_ENABLE enabled.
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.
- 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.
Coordination polyhedra groups and Voronoi polyhedra clusters can now
be exported/imported from GAMGI XML files. Polygon planes and Line
directions can also be exported/imported from GAMGI XML files, as
totally independent objects, so they don't depend anymore from Cell
or Atom objects. Planes and Directions represented in stereographic
projections can now be scaled as any other object. Improved the
functionality offered in Plane->Create, Direction->Create and
Group->Create (Structure and Filter menus). Removed all the code
involving the ugly concept of dependency, envolving Plane, Direction
and Group objects. Direction->Measure and Plane->Measure now
can calculate also the geometrical area and length, respectively.
Fixed bugs in Bond->Create and Direction->Measure and cleaned code.
What is new:
- For the first time, polytope Groups can now be
imported,exported to XML files, with the new data model.
- Directions can be imported/exported again to XML files, with
the new data model. All types of directions seem to be working fine.
- Planes can be imported/exported again to XML files, with the new data
model. All types of planes seem to be working fine, except planes on the
reciprocal lattice.
- Cracked down the way to properly position Planes, Directions
and Groups imported from polygonal data in XML files.
- Fixed a new bug in Reciprocal lattice: when selecting a plane,
it would wrongly move, rotate the cross.
- Planes, Directions cannot be linked to another object when they
are not polygons, lines (Stereographic projection, reciprocal lattice.
- Measuring area, length, with Plane->Measure, Direction->Measure just
produces an error when Plane, Direction is not a polygon, line.
- Plane->Measure, Direction->Measure for crystalographic Planes, Directions
works fine when parent is no longer a Cell, producing just an error.
- Crystalographic Planes, Directions now can still exist when parent
is no longer a Cell, when they are polygons or lines.
- Voronoi clusters and Coordination groups can now be exported,
imported, still with limitations: position and orientation data
is still missing.
- All polygon data can now be exported and imported from GAMGI XML files.
- Most of the code to import polygon data, to describe Clusters,
Groups, Planes, Directions, in a easy and solid way, is now in place.
- Plane->Measure and Direction->Measure now support plane
geometrical area and direction geometric length.
- Added functions to calculate Plane geometrical area
and Direction geometrical length.
- Fixed a bug in Direction->Measure: the distance between nodes in some
cases was a multiple of the correct value, for centered lattices.
- Wrote code to build polygon arrays from XML files.
- glPolygonOffset is now (1,1) for Planes and (2,2)
for Cells, so Planes have visual priority over Cells.
- Planes rendered as polygons now have a border, with
the background color, which is good to distinguish them.
- Completed a full review of the functionality for Plane->Create,
Direction->Create and Group->Create.
- The Structure options are now fully working on Plane->Create
and Direction->Create (similar to Autonomy options before).
- Improved Plane->Create, Direction->Create: now there are
4 different policies to filter atoms in Planes, Directions.
- Improved Group->Create: now there are 4 different policies
to filter atoms around central atom.
- Improved gamgi_chem_polytope code: the number of Planes, Directions
created, and ignored Groups, due to improper atom coordinates are now
fully reported.
- Fixed a new bug in Bond->Remove: graphic area not immediately
refreshed, in Local mode.
- Introduced a new parameter Structure, meaning how
atoms are transported to new object: Copy, Link or None.
- Got rid of gamgi_phys_plane_compatible, gamgi_phys_direction_compatible:
another ugly concept that does not solve the issue: atom superposition.
- Planes and Directions in stereographic projections and reciprocal lattice
now can be scaled as any other object (increasing/decreasing the width).
- Planes and Directions in Trace mode (in Projection Cells) can
now be scaled (changing line width) exactly as any other object.
- GAMGI can now export array data everytime that is necessary,
for example in Clusters, Groups, Planes and Directions.
- Removed gamgi_chem_atom_unlink: removing atoms should
never remove automatically container objects. If it makes
sense or not that is a user prorrogative. This represents
a change in policy, in how to handle planes, directions and
groups. These objects can be handled, exported, imported even
if they cannot be fully reconstructed. gamgi_chem_atom_unlink,
gamgi_gtk_object_independence and autonomy code were among the
ugliest code in GAMGI.
- Removed test function gamgi_gtk_object_independence:
all objects must be fully independent and can be save to
files. If it makes sense or not that is a user prorrogative.
- Removed parameter Autonomy from Plane, Direction and Group
objects. Futurely these objects will always have Autonomy All.
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.
- 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.