Have a suggestion that isn't listed? Send us a message!

Change Log for Jimp 2

To do

  • make the selection in the tree view reflect changes in selection from the opengl view
  • delete measures when any of the atoms in their list are deleted (as long as there aren't too many measures, can this be brute force checked upon deleting atoms?)
  • add move atoms code (and dialog)
    • move selected atoms/move all atoms (check-box)
    • translate atoms to a set position (default to origin)
    • translate atoms by a vector
    • rotate atoms by X, Y, or Z (or combination) and specify a center of rotation
    • set the rotation axis by performing a linear regression on selected atoms
    • set the center of rotation by averaging the positions on selected atoms
    • mirror the selection, changing its chirality (changing the sign of the Z-coordinates)
  • smart selection dialog
  • make more of the script functions undoable (load, setWorkarea, fenhall, moplot, uff)
  • draw text when rendering with povray
  • a bond should be renamed when one of its atoms is changed
  • right clicking on a node in the hierarchy, should not deselect selected objects (reported: Edwin Webster)
  • cannot "cut and paste" a node (reported: Edwin Webster)
  • ability to reorder nodes (reported: Edwin Webster)
  • sort reverse order (reported: Edwin Webster)
  • selection mode: select only atoms, select only bonds, select both atoms and bonds, select only surfaces, select everything (reported: Edwin Webster)
  • user can change the color and light settings (reported: Xiaoping Wang)
  • Change scripting language to LUA
  • More easily customized label text with checkboxes for common things to show
  • changing properties of huge number of objects should be sped up -- dead slow for a protein
  • add threading so that scripts don't hang the program if they take a long time or maybe add some way of canceling actions??
  • there is still a bug in memory freeing and a couple of leaks. i really want a garbage collected language now

090 -> 091

  • UFF will now only change the geometry of selected atoms if any atoms are selected
  • selected atoms are drawn bigger so that they can be seen
  • Made the Help->About dialog actually show.
  • fixed bug loading jm2 files, value of fenhall_frag was read into v_radius instead and overwriting the radius. This made solid atoms seem to disappear when loaded or copied.
  • add a “are you sure” to the C^Q quick key! (reported: Edwin Webster, same as below basically)
  • Close confirmation if changes have not been saved (suggested: Shin)
  • changed default colors and settings to be more like what people will commonly use. background is now while and things are drawn solid
  • Show atom id in object name (suggested: Hong)
  • removed #include "wx/msw/wx.rc" line from resource file, because it messed with debug build for msvc8
  • fixed some memory bugs in parse.cpp and terrascript

089 -> 090

  • removed old code for gradient based energy minimization step for UFF that didn't work and may have been causing problems and was clutter anyhow. Now, only simplex minimization is used.
  • added atom ids, order of atoms from XYZ file is preserved
  • atom label can be changed arbitrarily
  • Jimp 2 now compiles and links on my linux test box, but it crashes immediately when run.
  • cameras are not switched to automatically when changing workarea
  • when opening a file, the molecule will be centered or use the first camera listed
  • added maximizeFrame script function
  • frame is maximized by default
  • file dialog will recognize GJC files
  • memory management may work now

088 -> 089

  • as soon as a font is unused it is removed from the font cache. this reduces memory usage DRASTICALLY when fonts are scaled.
  • bugfix: the default offset for an element should be 0. 0. 0. (instead of 0. 0.15 0., which is appropriate for bonds). (reported: Edwin Webster)
  • bugfix: crashes when change 'Label:Offset' to just one number.
  • bugfix: crashes when change 'Atom:Position' to just one number. (reported: Edwin Webster)
  • added cameras
  • MolRoot inherits from MolNode now instead of MolObj
  • set the defualt atom color with setDefaultAtomColor()
  • it is now possible to set the default properties of object types with setDefaultProperties()
  • found a huge bug in the reference counting code -- jimp 2 will just leak like a sieve until I fix it
  • added some save data that was missing (background color, label color for measures)
  • offset for labels is now 2D instead of 3D (the 3rd parameter was mostly just clutter)
  • labels may be rotated by any angle
  • toggle to flip labels
  • fixed bug with setting properties of a measure
  • font size scales with zoom
  • hidden/shown options in properties dialog
  • now compiles on linux, but have not successfully linked yet

087 -> 088

  • added measure for angle between planes
  • default position of labels is moved up
  • torsion measure is correct for 0 degrees
  • no longer depends on compatibility with wxWidgets 2.4 -- updated to 2.6
  • compiles with unicode enabled, but doesn't work with foreign characters yet

086 -> 087

  • changed location of msvc project files
  • align labels to bonds for measures
  • label text placement via offset

085 -> 086

  • measure selected bond lengths added
  • opening of multiple files at the same time added

084 -> 085

  • documentation through Doxygen, and more descriptions added
  • UFF now reports what contribution to the total energy each constraint type makes for the simplex minimizer

083 -> 084

  • fixed some more issues with UFF
  • add rotate selected atoms RMB+Drag+Ctrl

082 -> 083

  • shift and select bonds does not allow addition of bonds (reported: Edwin Webster)
  • adding a bond to an element will remove its typing
  • changing an element will remove its typing
  • redrawing over a bond that already exists will increase the bond order by one half
  • calcBonding will use whole work area if one atom is selected
  • addHydrogens added to calc bonding dialog
  • thicken the selection line, because it really does not show up when using a projector (reported: Edwin Webster)

081 -> 082

  • buttons for UFF have temporarily been placed in the CalcBonding dialog
  • reduced file size by not saving unnecessary info
  • saving and loading of UFF type
  • UFF Type property in atoms dialog
  • removed option of explicitely setting label text, because it was too confusing
  • changed "open a file" to "save file as" in save as dialog (reported: Edwin Webster)
  • fixed a sorting bug -- sorting by name was not done for atoms and bonds (reported: Edwin Webster)
  • added a sleep function (suggested: Edwin Webster)
  • fixed an issue with UFF (linear bonds)
  • it is now possible to set the max number of cycles and if vander waals forces are considered
  • if atoms have an invalid or no type, a type will be assigned to them when doing UFF instead of blowing up

080 -> 081

  • fixed calcBonding to have no upper limit on bond length when using high bonding factors; the most efficient cube size is also calculated based on the factor
  • fixed a bug with multiple identical bond creation in calcBonding()
  • UFF energy minimization works
  • atom typing mostly works

079 -> 080

  • draw solid fractional bonds with cylinders for dashes instead of spheres
  • probably fixed the problem with light outlines on the orbitals when using povray
  • atom drawing with connecting to previously drawn atoms (update to below)
  • atoms and bond centers must now be directly clicked on to select them
  • atom drawing (not connecting to previous parts)

078 -> 079

  • add "hide hydrogens" shortcut
  • make a more intuitive way of changing the background color (a menu entry?)
  • added menu entry for the properties dialog
  • added ability to change the view radius of bonds and atoms in the properties menu and created some new naming properties for them
  • add X,Y,Z coordinates (position) to the properties box
  • added draw mode toggle to be Ctrl-D
  • changed deselect to be Ctrl-Shift-D
  • add status messages to the status bar to indicate the current mode of operation
  • added a dotted line while drawing a measure

077 -> 078

  • registry keys are opened as read-only, so no admin priveleges are needed any more
  • a required dll, msvcr70.dll has been added to the windows installer

076 -> 077

  • bug fixed with measurements attached to moving atoms
  • bug fixed getChildrenR() and a couple of other functions that assumed that only nodes could have children
  • fixed bug with measure not setting lighting to be false
  • pos_with_moving() made part of general objects, surfaces now show being moved
  • Ctrl-Shift-Alt select all atoms (only the atoms)
  • draw measure indicators thicker when selected
  • commented out the opengl view mouse actions that do not work
  • MMB translates view
  • MMB+Ctrl translates selected atoms
  • added bond order to properties dialog
  • separated the label options from the general options in the properties dialog

075 -> 076

  • actionCreateNode no longer sets the workarea, but the script function returns the created node's id so that it can be set through the scripting language
  • made the webpage part of the jimp 2 directory tree
  • moved changes.html to website and got rid of openglview.html in place of the user guide being written for the website
  • the documentation directory is no longer included in the installer
  • added autorun.ts to the installer
  • lots of work being done on the website (i guess that isn't directly a change to jimp 2, but whatever)
  • was reading the wrong registry key

074 -> 075

  • added copy, cut, and paste
  • fixed a center view bug with the root node
  • added ctrl-n to make a new node
  • upon creating a node the workarea is set to it
  • moved position of new node in popup menu

073 -> 074

  • added new properties to save and load (labels and measurement)
  • pdb file loader now works on old style format
  • automatically center the view after loading a file
  • added printf style formatting to measurements
  • will load files given in command line (doble clicking to open a file now works)
  • name of the app says if it was compiled in debug mode

072 -> 073

  • added measurement tool/object (distances, angles, and dihedrals)

071 -> 072

  • added script function setPerspectiveMode
  • changed help message
  • can toggle labels
  • label drawing defaults to false now
  • in fenhall dialog 4- is interpreted as -4 for the charge
  • fenhall results are written to a file and to the script dialog as comments
  • use the registry key to load files from the right location and save them to the right location (autorun.ts, log.ts)

070 -> 071

  • setting label fonts works
  • can change label color
  • rendering of text is now depth sorted
  • only true type fonts can be selected (selecting others caused a crash sometimes)
  • stuff about file loading

069 -> 070

  • can now set the label of atoms
  • changing atom type works properly now

068 -> 069

  • fixed an issue with drawing labels when not centered at the origin
  • all objects now have label properties
  • fixed an issue with grab screen
  • moving things is at correct scale now for orthographic
  • center view now uses a bounding box instead of average positions
  • center view now changes the zoom level as well as focus
  • povray lines now look right for orthographic

067 -> 068

  • grab screen works for orthographic
  • grab screen dialog can get size of the current view times a factor
  • povray works for orthographic
  • povray dialog can get size of the current view times a factor
  • fixed a slight visual glitch in bond drawing
  • made offset bond parts always draw with rounded caps
  • fixed an issue with font drawing where transparent font was occluding solid
  • basic atom labels are working
  • grab screen with jumbo sizes automatically scale the resolution of the font to be crisp

066 -> 067

  • font drawing works
  • orthographic projection mostly works

065 -> 066

  • resizing window updates view
  • grab screen now works perfectly

064 -> 065

  • fixed cube inport/export to work with multiple orbitals
  • fixed cube and xyz import to not crash on calcBonding.. it didn't before and doesn't any more?
  • fenhall fragment analysis works
  • using the default image viewer to show povray images now works correctly
  • the povray function has been improved
  • fixed a crashing bug with negative coordinates in calcBonding

063 -> 064

  • fixed misalignment of text for calcbonding dialog
  • made pov-ray dialog (povray doesn't want to work though. stupid program)
  • it has become apparent that the rendering engine must be untied from opengl so that it can work with povray as well
  • the general rendering and opengl specific parts have been separated
  • both opengl and povray can now render through the same system

062 -> 063

  • load cube files
  • save cube files
  • change the behavior of calc bonding
  • automatically calc bonding when loading files that don't store bonding info (.xyz, .cube)
  • changed the way exec works so that if it is called while running the new command will be stored in a queue and run when it is finished execing

061 -> 062

  • added minimal property dialog for atoms and stub for bonds
  • added fragment analysis, but it has not been checked if it works, but it compiles :-)

060 -> 061

  • completely and totally fixed bug with undoing and then calculating again the bonding
  • order is not messed with when moving and deleting objects
  • when adding objects, atoms and bonds are put at the end, everything else is put at the top
  • added some properties to field (save and load also)
  • moplot is now awesome

059 -> 060

  • Set default save format to jm2
  • fixed exec() on a file that doesn't exist to not give a strange error
  • fixed bug with undoing and then calculating again the bonding (kinda)

058 -> 059

  • right click in opengl view for menu with properties dialog
  • change in selection updates properties dialog
  • file format selection in opening and saving
  • extensions are verified in saving dialog
  • jm2 loading will directly attach root objects now, converting them to nodes
  • root nodes can now have any object as a child
  • automatically create surfaces in moplot dialog
  • added resolution to name of moplot fields
  • calculate multiple moplot fields at the same time
  • dotted drawing for fractional bonds in solid drawing mode
  • show selection of solid bonds
  • fixed selectAll() to select all in workarea. not the whole hierarchy. oops
  • natural sorting of numbers in names
  • fixed zoom bug
  • calcbonding dialog box

057 -> 058

  • Added Select all, deselect, hide selection, invert selection
  • delete will now deselect the recently deleted nodes.
  • message dialogs indicating how fenhall calculation finished
  • automatically set directory for moplot after fenhall calculation
  • profile.txt is no longer created
  • added command echo setting
  • on startup, run "autorun.ts"

056 -> 057

  • exec() in terrascript now works
  • fixed recursive sorting
  • fixed moplot surface drawing

055 -> 056

  • Loading and saving of native file format works
  • Fixed name being reset sometimes when canceling editing of a label
  • fixed to not select hidden atoms
  • fixed to not center the view based on hidden atoms
  • multiresolution moplot surfaces

054 -> 055

  • Drag n drop reparenting now works properly.
  • changed how type is shown through getProperties so that it can be used in saving files
  • getProperties node specific stuff removed along with some useless info
  • beta version of jm2 format saving (no loader yet)

053 -> 054

  • propfield can make surfaces
  • setSelection() behavior changed
  • renaming of objects in the tree now mostly works. other things will have the name change sometimes, but refreshing the view makes them what they were originally
  • drag and drop kinda sorta works

052 -> 053

  • property changing fixed
  • selection doesn't mess up drawing of surfaces in wireframe mode
  • fenhall bug fixed (multiple runs giving different results)
  • can now sort and sort recursively the nodes in the tree
  • selection drawing bug in surfaces fixed
  • surfaces now default to being drawn solid

051 -> 052

  • transparency can now be set (but it won't draw right)
  • surfaces can be drawn solid or wireframe

050 -> 051

  • finished framework for dialog (changes can not yet be undone)
  • made first changable option - v_solid
  • fixed cap drawing of solid bonds
  • changed background color to being stored in the workarea node in v_color
  • changed vect.h to return refs to T in operator[]
  • changed color behavior of atoms and bonds
  • properties dialog can now change colors, but some more work is still needed on the feature

049 -> 050

  • added properties dialog menu item to popup tree menu
  • fixed layout problems of fenhall dialog
  • created some of the basic framework for the properties dialog

048 -> 049

  • changed determination of visibility of objects in tree and viewopengl and molobj. the visibility is now precalculated beforehand in a correct way. before a recursion was done on each drawing, so this should be faster as well as more correct.
  • added arrayFromVars() builtin to terrascript
  • changed drawing in viewopengl to draw root instead of messing with trying to reduce the number of things to try to draw
  • changed shortcut key for script dialog from Ctrl-P to Ctrl-L to prevent confusing users with printing
  • fixed refreshing of treeview to expand everything as needed
  • changed behavior of tsVariable getInt and getFloat to return the first element in an array if it is an array

047 -> 048

  • fixed separator in tree popup dialog
  • added toggle hidden to tree popup dialog
  • added toggle shown to tree popup dialog

046 -> 047

  • all objects can now have children, and have a filter on types of children allowed
  • constructor of MolObj makes more sense now
  • changed all throw statements to throw_joe function to assist debugging
  • iso surfaces are created as children of the field that made them
  • iso surfaces have default color values based on the sign of the iso level

045 -> 046

  • load file returns the object created
  • automatically set workarea to molecule when it is loaded through the file menu
  • converted change log into html
  • resized script dialog
  • changed centerView() to center on selected, else center on all in workarea
  • changed calcBonding() to work on selected, else work on all in workarea
  • confirmed and modified all existing scripts to run (select_lone_oxygen.ts has odd crashes)
  • gave moplot field a better default name
  • gave iso surfaces a better default name
  • modified script crash recovery behavior (who knows if it will work though)

044 -> 045

  • moplot crash fixed
  • moplot orbital selection now works (passed in through function call)
  • moplot dialog slightly prettier
  • changed "vector<MolObj*> workarea" to "MolObj* workarea". Having multiple things in the workarea is too confusing. All molecule - wide operations such as fenhall or moplot will operate on the workarea. If nothing is selected for operations that need a selection everything in the workarea will be considered selected, such as calculate bonding. To view all of the objects, select the root as being the workarea.

043 -> 044

  • Changed sizer behavior in MoplotDialog
  • Changed default focus for ScriptDialog
  • Change ScriptDialog log to uneditable, and different color
  • Created installer using NSIS (untested)

042 -> 043

  • Made solution compile with new version 2.6.0 of wxWidgets
  • Fixed some issues with fenhall dialog