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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.