Friday, October 29, 2010

"groupID" for graphics items and file formats

A new variable called groupID has been added to all the graphic item classes (i.e. NodeGraphicsItem, ConnectionGraphicsItem, and TextGraphicsItem).

The purpose of this new variable is to group graphics items together. Specifically, it is used to identify all the items that belong in the same scene. Since a single handle can contain multiple graphics items in different scenes, there was no other way to determine which item belongs in which scene. Further, ConnectionGraphicsReader was using position to identify nodes connected to a connection, which is faulty if two or more scenes have items of the same handle at the same position. The new variable is used by ConnectionGraphicsReader to identify the proper nodes. It is also used by ModuleTool to identify which items to load into a new scene.

By default, groupID is empty. This variable will not be made accessible through the C API since it is purely for graphics.

Auto-updates

The following site is home to TinkerCell's plugins.

http://tinkercellextra.svn.sourceforge.net/

If a machine as SVN installed, then TinkerCell automatically sets up an SVN repository in the TinkerCell home folder (i.e. usually Documents/TinkerCell). The files in the above repository are automatically updated each time TinkerCell starts. This is very simple. In the DynamicCodeMain.cpp.in file, a system call is made to svn -- simple.

Additionally, there is a file called updates.txt in this repository that is automatically updated by CMake. In the DynamicCodeTools/CMakeLists.txt file, the last line runs a perl script that updates the updates.txt file so that updates.txt has the current SVN revision number in it. When TinkerCell starts, it checks to see that the version number matches the number listed in this file. If not, a message is displayed notifying the user of a newer version.

Monday, October 11, 2010

Octave/Matlab export

OctaveExportTool adds a menu item in the File menu for exporting Matlab or Octave ODE functions along with a few other functions, such as setParameters for any sort of optimization routines.

Saturday, October 9, 2010