ReleaseNotes:Feature Review December 2012

From Planimate Knowledge Base
Jump to: navigation, search

This review covers Planimate® versions 5.33d to 5.35r.

In 2012, Planimate's capabilities continued to mature and expand, opening up new frontiers of application. This is a brief summary of additions to the platform.

Model Editing

Debug Log Window

An event logging system and associated window makes debugging complex models easier as it can collect and display many events during a run. The modeller has the ability to dynamically re-filter the event display in many flexible ways as the order of events, broadcasts, messages and even changes to data is browsed.

Broadcast Item Attributes

The item class context menu enbles auto-population of item attributes as needed by a selected system broadcast.

Modeller's Palette

A new modeller customiseable palette enables jump buttons and broadcats to be readily acessable whilst developing a model.

Flow Editor

The flow editor has been rewritten and now includes more useful tips, easier to see lines and an undo.

Dropping a new object over a flow arrow will insert it into the flow.

Broadcast and Message Entry Click Diagnostics

Clicking on Entriss shows the last time and source for an event.

End User Experience

Table Hover Tracking

Table views already had hover tracking (highlighting as the mouse moves above rows). The modeller can now trigger activity based on which cell is hovered upon, for example updating a detail panel for the item being hovered over.

Faster Planimate Based Application Startup

Planimate based applications start quicker and the About Box is shown while the model is loaded rather than after it is loaded, making startup appear even faster to the end user.

Object Name Display

The names of individual objects can be hidden, shown and scaled dynamically. This is very useful in zommable map displays where it is useful to control the size of the name font and hide the names when the user zooms right out.

Item Click / Follow

The modeller can now act when an item is clicked, for example show additional information or trigger a Follow.

The "Item Follow" mechanism enables an item's position on a spatial link/track to be used to adjust the position of a map, effectively keeping the item centred whilst the map moves under it.

Map View Improvements

Map updating has been optimised and is smoother.

The new routine operation SetObjectPos() sets the x/y position and x/y scaling of an object (eg: location on a map) in a much more efficient way.

Map Views now have an option to read map tile data from a DB file which avoids having to ship/extract thousands of small map tile files onto the user's system.

Track Modelling

Train Length

Planimate's track's system is being progressed towards display and modelling of train length. Train length is displayed as a "noodle' behind the front of the train that extends back along the track.

Animation of train length is supported either visual only (no impact on model run which continues to use loop delays) or actual incorporation of train length into track decision logic.

Model Control Over Static Routes

A modeller can add and remove static routes for a track model  using the new AddStaticRoute() and RemoveStaticRoute() operations.

Planimate has reached the point where a track model can be completely built from table data.


Smooth Graph Updates (Deferred Drawing)

All graph types now support optional double-buffered drawing where changes to the graph are drawn off-screen and updated flicker-free to the display. Unnecessary recalculation of graph data has been removed to speed up graph update further.

New Properties & Features

Graph scale ranges for Gantt and Train Graphs can be set using a TableViewProperty.

The Log Driven Graph RHS scale range can set by the model.

Graphs fully support RGB colours.

Log Driven Graphs have an option to only show overlays in their configuration table.

Creating and editing overlays in Column Overlay graphs is improved.

Column Overlay Graphs have a new side-by-side vertical bar mode, useful for comparing data.

Gantt Views support layer-ordering of blocks and the offsetting/sizing of individual bars, enabling sophisticated event views to be generated.

Run Engine

More Advaned Pipe Support

Pipes have two additional sets of load/unload accumulator logging references which are useful for material flow control and collecting operational statistics.

Pipe event broadcasts have been enhanced and are generated in a manner that doesn't overwhelm the model.

Managing multiple pipes is simplified by the s.PipeTableRow and "OBJID Column" pipe setting which Planimate uses to to map a pipe to a row in a pipe configuration table.

DLL Functions in Expresions

It is possible to call a Planimate-callable DLL function from within an expression. This is very useful when used with the Distribution Dialog's new "Expression" mode as it enables use of externally provided number distributions.

Other Engine Enhancements

A separate Panel Visible broadcast enables a panel to know when it becomes visible including when it is in a viewport or popup window.

The model can now query the stop time of the previous run using s.LastRunStopTime

Modeller can set a pause after an advance to time.

Platform Foundation

Planimate now compiles with three compilers under Windows (Visual Studio '98, Visual Studio 2008 and gcc). A command line version of Planimate (no UI, batch runs only) compiles and runs under Linux and Android. Having the one codebase work with different compilers is beneficial to maintaining a quality codebase for Planimate.

Future applictions in both handheld devices and cloud based model runs are on the horizon.

Multi-monitor setups where the monitors have different sizes are better supported particularly with viewports.

The Windows 8 preview exposed an issue with list views which has been fixed. Planimate runs well under Windows 8.