ReleaseNotes:Feature Review December 2015

From Planimate Knowledge Base
Revision as of 13:13, 23 December 2015 by Rick (talk | contribs)
Jump to navigation Jump to search

This summary covers Planimate enhancements in 2015, over versions 7.19.1 to 8.39.0.

Modelling & Editing

  • Routine operation renames - PasteFromClipboard is now ImportFromClipboard
  • AutoSave now triggers on a windows shutdown
  • New "scaled kilo" data display formats.
  • Modellers can select to enable column filters in table editors, very useful when setting up complex data tables.
  • Views can be deleted during run which is useful for models that build parts of themselves from templates.
  • The Model Structure Report can generate a detailed and thorough description of a model, documenting settings, routine code and object flows in a textual format which is much more "diff" friendly than the MDL file. Graphical properties (co-ordinates/colours) are avoidied in this report to enable the focus to be on properties in the model which affect simulation outcome.
  • During run, the Table Editor can report dependencies on the entire table and columns.
  • During run Pipe context menus give modellers muich more diagnostics.
  • A panel option enables change objects with unresolved column references to remain in a model during run, preventing the references generating errors up front. This is useful for template code.
  • Extended and optimised column searching with MatchIndexTop(),MatchIndexBottom(),MatchIndexFast() and the very fast MatchMultipleKeys() which greatly outperforms Search().
  • Text "Find" now applies to routine line code as well
  • Holding SHIFT whilst dragging/resizing an object toggles off the snap drid whilst pressed.
  • Routine operation Beep() enables generation of tones with adjustable pitch and length, and tones on repaint can be selected. These are very useful for debugging animation/real time display code where using breakpoints is awkward.
  • Modellers can dynamically change portal tool tips
  • Graphs have more scale control options including line at zero and separate RHS scale control
  • Guide lines are shown when moving/resizing objects
  • Multiple graphs on a panel can be associated so their view area and scroll bars are synchroniused and work in unison. Modellers do not need to process the scroll broadcast to achieve this.

User Interface

  • Copy/paste handling in table views has been rewritten to work more transparently for end users with a new mechanism enabling modellers to process paste errors.

Track/Rail Modelling

  • Train length can now be displayed wither as a continous "noodle" or a series of linked rectangles representing the individual train cars.

Options have been added to optimise performance of models that provide their own train controller logic.

  • An item's route can be assigned from a column in a table.
  • HoldSectionRoad() can hold a road for another item.

Graphics & Animation

  • Graphic drawing is largely rewritten and highly optimised enabling faster flicker free updates.
  • Table/Graph Views can be selected to draw in the "animation layer" which enables high speed continuous redraw of changing data (very useful for data replay).
  • Additional options to RepaintObjects() enable it to be used with animation and speed regulation of animation updates.
  • Popup panels can be completely transparent using colour keying.
  • Rotated text in paint objects is better supported.
  • Log Driven Graph mode "point quadrilateral" enables drawing of arbitrary 4 sided shapes. A model has been developed using this to display 3D objects with simple lighting, perspective and hidden surface elimination.
  • Routine operations ScaleColor(), SetTransparency() and BlendColors() make it easier to process RGB colours with transparency. This was used in the 3D object demo.
  • Cell colours can be set to any RGB colour using SetCellColor().

Planimate DLL Call API

  • Calls to DLLs from routine code are now shown and edited using a straiughtforward notation. DLLs can be called anywhere there is a data reference, not just a single operation per routine line.
  • New callbacks enable more table reallocation and access/setting of many Planimate table column properties.

Features Changed, Removed & Deprecated

  • Object labels are allocated using a "lowest available index" but an option enables the previous allocator method to be used.
  • SetLastDataFile() has been renamed to SetLastDatasetFile()
  • AppendRow() and AppendColumn() enable a count to be specified. Using this instead of iterating to insert single rows/columns will improve performance.

Performance & Speed

  • Graphics, simulator, object management, label list handling and future event processing were extensively optimised to enable Planimate to handle tens of thousands of objects and tens of thousands of items undergoing delay with performance degrading gracefully as model complexity increased.
  • New features for testing and performance profiling.

Windows Update Fix Note

Note that in June 2015, a Windows update created problems for all versions of Planimate. New versions of Planimate 5,6,7 and 8 were released to address this.