GAMGI 0.08
Finished and tested gtk_light_modify. This completes the create, modify and remove mechanisms for atoms, bonds, cells, lights, and layers, plus create, remove mechanims for windows and remove mechanims for molecules. gtk_select mechanisms are partly implemented for all GAMGI objects but need to be rewritten and extended after GTK2.0 comes out.

### What is new:

- gtk_light_modify fully implemented.
- gtk_cell_modify improved.

### What is next:

- Add documentation.
- Clean bugs.
- Clean data.
- Write gtk_cell_link.
- Add XML support.

GAMGI 0.07.31
Lots of gtk changes. Next version should be GAMGI 0.08

### What is new:

- gtk_layer_modify fully implemented.
- gtk_layer_create improved.
- gtk_light_create rewritten.
- Working on gtk_light_modify.

### What is next:

- Finish gtk_light_modify.c.
- Add documentation.
- Clean bugs.

GAMGI 0.07.30
Cleaning and documentation.

### What is new:

- Makefiles cleaned: files are not included in subsets anymore and are just listed in alphabetic order instead. Files on each directory are thus compiled in the same order as they appear when listed with the ls command.
- Added documentation to phys_cell.c.
- gtk_layer_remove updated, so layers can be selected and removed with a pop up menu, just like lights.
- Cleaned and renamed gtk_layer_create, gtk_gamgi_reset, gtk_gamgi_exit, gtk_window_create and main_convert files.
- Corrected a mistake on atom_modify.c
- Removed a memory leak: GtkStyles were copied but not removed, gtk_style_unref (style) to the rescue.
- Just started gtk_layer_modify.

### What is next:

- Finish light_modify.c.
- Implement layer_modify.c.
- Clean cell_modify.c a bit more.
- Improve comments and other documentation in phys_cell*.c files.

GAMGI 0.07.29
changed gtk_remove_* functions to new style. cleaned and improved gtk_modify_* functions.

### What is new:

- gtk_atom_remove, gtk_bond_remove, gtk_molecule_remove, gtk_cell_remove, gtk_light_remove and gtk_layer_remove changed to new (global) style.
- gtk_atom_modify and gtk_atom_create changed to conform to new (global) style.
- gtk_atom_modify_press and gtk_bond_modify_press slightly improved.
- Removed Nodes and Faces imcompatibility in WS mode, in both gtk_cell_create.c and gtk_cell_modify.c files.
- gtk_cell_modify.c substantially improved, everything seems fine except gtk_atom_modify_ok, which needs more error test checking.
- a critical bug concerning rhombus cells was removed from phys_cell.c
- More work on gtk_light_modify.c, it is not finished though.
- gtk_light_remove.c completed.

### What is next:

- Finish light_modify.c.
- Clean cell_modify.c.
- Improve comments and other documentation in gamgi_phys_cell* and gamgi_gtk_cell* files.

GAMGI 0.07.28
Euler angles and Hexagonal Conventional cells are done. Documentation and GTK stuff is all that is left to achieve version 0.08.

### What is new:

- reading and applying Euler angles is done. This was done for cells but applies for any other GAMGI object.
- Hexagonal Conventional cells are done. This is a special case that must be handled differently.

### What is next:

- Remove Nodes and Faces imcompatibility in WS mode.
- Finish cell_modify.c.
- Finish light_modify.c.
- Improve light_remove, molecule_remove, atom_remove, bond_remove, cell_remove.
- Improve atom_modify.
- Improve comments and other documentation in gamgi_phys_cell* files.

GAMGI 0.07.27
Important improvements in WS and other cells. GAMGI 0.08 is getting closer.

### What is new:

- Handling WS cells is completed, for all systems but Romboedric P, Monoclinic and Triclinic. This includes all the possible parameter permutations.
- Handling cell orientation, using Euler angles, is completed, in what regards cell_create.c. Measuring Euler angles, in what regards cell_modify.c, is not done yet.
- In FACES mode, the cell inside is now visible, after entering in.

### What is next:

- Measure Euler angles in cells.
- Remove Nodes and Faces imcompatibility in WS mode.
- Start Hexagonal conventional cell.
- Finish cell_modify.c.
- Finish light_modify.c.
- Improve light_remove, molecule_remove, atom_remove, bond_remove, cell_remove.
- Improve atom_modify.

GAMGI 0.07.26
Lots of improvments on WS cells.

### What is new:

- Hexagonal P WS cells is included in Orthorhombic C WS cells, so there are only Orthorhombic WS cells now: Hexagonal, Cubic and Tetragonal are particular cases. WS cells for Romboedric, Monoclinic and Triclinic systems are not handled currently.
- The general architecture to handle faces and lines in WS cells was considerably improved, so now all cases are handled by a single function: loops_8, loops_12, loops_14 and lines_18.
- Filtering faces and lines for Faces and Edges modes in Orthorhombic I and Orthorhombic F WS cells is completed, for all possible orientations (permutations).
- Filtering faces and lines for Faces and Edges modes in Orthorhombic C (including Hexagonal P) is partially done.

### What is next:

- Complete filtering faces and lines for Faces and Edges modes in Orthorhombic C (including Hexagonal P).
- Improve cell_modify, which still has problems.
- Complete work on gamgi_gtk_light_modify.
- Change global mode interface on atom_modify. Change data interface on atom_create and atom_modify.
- Change global mode interface on atom_remove, bond_remove, molecule_remove, light_remove and layer_remove.

GAMGI 0.07.25
Essentially work on filtering faces and lines in WS cells.

### What is new:

- Filtering faces and lines for Faces and Edges modes in Orthrhombic I and Orthrhombic C is mostly done.
- All Cubic and Tetragonal WS cells were removed and included as particular cases of Orthrhombic cells.
- More cleaning on cell_create and cell_modify.
- A good solution for storing data to rotate cells is set but not implemented.

### What is next:

- put final touches on cell_modify.
- Complete work on gamgi_gtk_light_modify.
- Handle Faces and Edges modes in Orthrhombic F cell, by filtering faces and lines.
- The faces description in WS cells with the same faces topology should be handled by a single, common, function.
- Change global mode interface on atom_modify. Change data interface on atom_create and atom_modify.
- Change global mode interface on atom_remove, bond_remove, molecule_remove, light_remove and layer_remove.

GAMGI 0.07.24
Cell_modify is implemented. Orthorhombic I WS cells are implemented.

### What is new:

- cell_modify is essentially done, needs only some finishing touches.
- The three Orthorhombic I WS cells are implemented and tested.
- Global mode interface has been changed in light_modify and bond_modify.

### What is next:

- put final touches on cell_modify.
- Complete work on gamgi_gtk_light_modify.
- Handle Faces and Vertices modes in most WS cells, by filtering faces, loops and lines.
- The faces description in WS cells with the same faces topology should be handled by a single, common, function.
- Change global mode interface on atom_modify. Change data interface on atom_create and atom_modify.
- Change global mode interface on atom_remove, bond_remove, molecule_remove, light_remove and layer_remove.

GAMGI 0.07.23
Implementation of cell_modify, light_modify, plus improvements on cell_create, atom_modify, bond_modify.

### What is new:

- Significant improvements have been made to cell_create and cell_modify dialogs.
- Data transport from cell to cell_modify dialog is done. Most signals and callbacks are in place.
- Data transport from cell to cell_modify dialog is done, including the selection popup menu. Most signals and callbacks are in place.
- Improvements have been added to atom_modify and bond_modify dialogs.
- Calculations for the three Orthorhombic I WS cells are done.

### What is next:

- Complete work on gamgi_gtk_cell_modify.
- Complete work on gamgi_gtk_light_modify.
- Handle Faces and Vertices modes in most WS cells, by filtering faces, loops and lines.
- Add code to handle the three Orthorhombic I WS cells.
- The faces description in WS cells with the same faces topology should be handled by a single, common, function.

GAMGI 0.07.22
General cleaning on group operations; Start adding code for light modify.

### What is new:

- work on gamgi_gtk_light_modify just started, the dialog is already in place but most of the callbacks are not.
- GAMGI_VERTICES enumeration and static_vertices routines changed to GAMGI_EDGES and static_edges, respectively. The name is better and shorter, solving a GUI little problem with lack of space in gamgi_gtk_cell_modify.
- gamgi_gtk_group_measure and gamgi_gtk_group_modify were totally cleaned. In particular, undo works with gamgi_gtk_group_modify.
- handling translation when creating cells is done. The equivalent for rotation needs to be analysed more carefully.

### What is next:

- Complete work on gamgi_gtk_light_modify.
- Handle Faces and Vertices modes in most WS cells, by filtering faces, loops and lines.
- Add code to handle the three Orthorhombic I WS cells.
- The faces description in WS cells with the same faces topology should be handled by a single, common, function.
- start doing gamgi_gtk_cell_modify.

GAMGI 0.07.21
More work on WS cells.

### What is new:

- The problem of ordering the lattice parameters is definitely solved. Basically the length parameters are sorted (and the angle parameters are swaped) and a matrix keeps record of the whole transformation. Global sorting is decomposed in pair sortings, that can be described by rotations. The final resulting matrix is inverted so the vertices can be allocated in the standard orientation and then transformed back multiplying by that inverse matrix. This works with all lattices, including trigonal, monoclinic, and triclinic, where angles are not necessarily 90 degrees.
- Code was added to determine the determinant, adjunct, transpose and inverse of 3x3 matrices.
- matrix_absolute, matrix_relative, vector_absolute, vector_relative, replace and expand matrix_set, vector_set.
- Code was added to reduce number of points in Vertices mode in Hexagonal_P and Orthorhombic_C WS cells.
- A math file containing sort routines, including sort2 and sort3 for doubles and longs, was added and used in chem_bond.c and phys_cell.c.
- Code was added to handle the case where the user requested a WS cell not done yet: Rhomboedric_P, Monoclinic_P, Monoclinic_B, Orthorhombic_I, Triclinic_P.

### What is next:

- Handle Faces and Vertices modes in most WS cells, by filtering faces, loops and lines.
- Add code to handle the three Orthorhombic I WS cells.
- The faces description in WS cells with the same faces topology should be handled by a single, common, function.
- Handle translation and rotation operations ordered by the user in the dialog box.

GAMGI 0.07.20
Code to handle WS cell objects was improved.

### What is new:

- A function was added to remove unused points, loops and lines in WS cells. This function is required to clean the arrays, in Faces and Vertices modes (where inner points, faces and lines are not considered).
- Orthorhombic F WS cells are now implemented.
- Code to handle Hexagonal P and Orthorhombic C WS cells was partially rewritten, because in the Faces mode, the faces must use the loops array while the frame must use the lines array.
- The wired loops test was slightly changed to handle these two new cases, which never use the loops array.
- Code was added to initialise loops and lines arrays, in WS cells that require the cleaning function mentioned above.

### What is next:

- Everything is now ready for the final assault to handle Faces and Vertices modes for most WS cells.
- Add code to handle the three Orthorhombic I WS cells.
- The faces description in WS cells with the same faces topology should be handled by a single, common, function.
- Add sort2 and sort3 functions to handle tetragonal and orthorhombic parameters in a simple, systematic way.
- When the parameter order is changed, rotate cells in the end, so they appear with the expected orientation.
- Add message for WS cells which will be written later: Rhomboedric, Monoclinic and Triclinic.
- Handle translation and rotation operations ordered by the user in the dialog box.

GAMGI 0.07.19
Code to handle cell objects was improved. A bug was corrected in the history mechanism.

### What is new:

- Code was added to free the memory allocated for cell arrays, when cells objects are removed.
- Code was added to copy cell arrays and other relevant parameters, when cells objects are copied.
- The history mechanism is working for cell create and cell remove operations.
- A bug was discovered and corrected in the history mechanism.
- Code was added for the Vertices option in Hexagonal WS cells.

### What is next:

- Code to remove inner faces when using Faces or Vertices options in most WS cells.
- Code to clean arrays after removing inner faces when using Faces or Vertices options in most WS cells.
- Code to handle simultaneously Faces option and Vertices mode, in Hexagonal WS cells.

GAMGI 0.07.18
Code to implement Wigner-Seitz cells was improved.

### What is new:

- Routines to implement Body, Faces and Vertices options in Orthorhombic P, Tetragonal P and Cubic P WS cells were rewritten using better algorithms.
- Routines to implement Tetragonal I low c/a, Tetragonal I high c/a, Orthorhombic C, and Hexagonal P WS cells were written.

### What is next:

- Code to free arrays memory when removing cell objects.
- Code to copy arrays when copying cell objects.
- Code to remove inner faces when using Faces or Vertices options in most WS cells.
- Code to clean arrays after removing inner faces when using Faces or Vertices options in most WS cells.
- Code to handle the Vertices option in Hexagonal WS cells.

Home