ReleaseNotes:Feature Review December 2019

From Planimate Knowledge Base
Jump to navigation Jump to search

This summary covers Planimate enhancements in 2019, over versions 9.41.2 to 10.13.1.

Platform Changes

  • From version 10, Planimate requires dotnet 4.6.1 or later which is part of Windows 10 as well as the Visual Studio 2017 runtime which the full installer includes or you can download from Microsoft if your system does not already have it.
  • Dotnet connectivity is further integrated into Planimate.
  • The length of names has been increased to 63 characters (anticipating Unicode in Planimate 11).
  • Planimate releases include PLEngineCore.dll for use by dotNET DLL developers. This file can be otherwise ignored.
  • The compatibility window has moved in 10.12.0, models need to be saved by at least 9.29.0. This enabled much cleanup.
  • A model can check s.LastRunStopReason during a _run_end broadcast to determine why it is stopping.
  • Mechanism to enforce an exact arrival time for items on multi-hop spatial links where link costs are not set by the modeller and screen zoom can change.

Model Development

  • ImportFromClipboard() auto formats a column to text if the first row does not match another value format.
  • Portals will carry out-of-scope tables and attriobutes when copied via the clipboard to another model, and that data is retained only if there is no existing matching data at the location the portal is pasted. This makes re-using and updating model components easier.
  • You can ctrl-paste replace a portal pasted from the clipboard.
  • Likewise holding Ctrl as a file is selected in "Add To Model" enables a replace.
  • A second alternative grid size is configurable in the platform INI file.
  • Keypad + or "a" while dragging/resizing cycles between the grid sizes

Paint and Map Display

  • Added flexibility for reading map tiles from a tileserver, including request template customisation and use of 'curl' which is included in Windows.
  • FitPaint() operation enables UIs to resize buttons to fit changing text.
  • SetPaintImage() can be applied to all states of a button if desired.
  • SetPanelSize() enables programmatic resize of a panel and is useful for popups.
  • Buttons have the option to centre an image instead of stretching it, useful for controls.

File and Licensing

  • System attribute s.GetDirectory reads the current working directory.
  • System attribute s.SystemRealTimeUTC retrieves the computer's time as UTC.
  • New operations support PBAs locating, loading and testing licensing generated by InterDynamics' new licensing system.