ReleaseNotes:Feature Review December 2012
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.
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.
A new modeller customiseable palette enables jump buttons and broadcats to be readily acessable whilst developing a model.
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.
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.
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.
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.