What is New in Dinamica EGO 7.6.0

(ChangeLog compared to 7.5.0.)

Dinamica NUI (Application Graphical User Interface)

  • Fixed the bug caused by #735ca2c4bbb1944bb30958a668ad048ea7643942 (Added code to update the representation of the functor that had its exported input ports edited.)
  • Avoid instantiating a new LogMessage object each time a message needs to be retrieved from one of the message log slots; Added code to detect execution errors by the log spooler.
  • Fixed compilation error related to commit a103af0dd568af57d55fc8ef5748a4bd1809f921 (Avoid copying log messages when transferring them to the graphical interface (the interface now retrieves the information directly from the logging queue slot without having to convert them to any intermediary data type on the C++ side); Formatting.)
  • Avoid copying log messages when transferring them to the graphical interface (the interface now retrieves the information directly from the logging queue slot without having to convert them to any intermediary data type on the C++ side); Formatting.
  • Added better descriptions to the log subsystems in the Options Dialog.
  • Propagation of the log subsystem to the graphical interface, allowing it to choose which subsystem to use when logging a debugging message.
  • Created new logging subsystem (EXECUTION_BASICS).
  • Formatting.
  • Use of the new logging facilities provided by the Logger.
  • Changing the submodel dependency graph and submodel importing to write any reports to the message log using the new Logger.
  • Definition of a specific log subsystem (GRAPHICAL_INTERFACE) for the graphical interface.
  • Refactoring the location of log related types; created another package specifically for logging.
  • Changed layout of the string editor panel to display the “check spelling” button on the side ot the string text field instead of being shown at the top.

Dinamica Image Viewer

  • Propagation of the log subsystem to the graphical interface, allowing it to choose which subsystem to use when logging a debugging message.
  • Use of the new logging facilities provided by the Logger.
  • Formatting.
  • Use of the new logging facilities provided by the Logger.

Dinamica NUI Utils (Graphical User Interface Utilities)

  • Make sure any information passed to the LogOutputStream is also printed to the application console.
  • Propagation of the log subsystem to the graphical interface, allowing it to choose which subsystem to use when logging a debugging message.
  • Use of the new logging facilities provided by the Logger.
  • Revamped definition of the graphical interface logger to better use the features provided by the DLL logger; Use of LogStreamOutput to log information about exceptions.
  • Mostly formatting.
  • Refactoring: Turned public method used to format error messages; moved that method to StringUtils.
  • Definition of entity (LogOutputStream) that allows sending messages that would normally end up in a output stream (e.g. System.err, System.out) to the application message log.
  • Refactoring the location of log related types; created another package specifically for logging.

Dinamica (Application Core and DLLs)

  • More improvements to the Java binding code generated by SWIG:
    1. Removed previous trick used to prevent the generation of default constructors from more classes;
    2. More use of %immutable to prevent generation of “set”-method for read-only struct fields.
  • Some improvements to the Java binding code generated by SWIG:
    1. Removed previous trick used to prevent the generation of default constructors for most classes by using %nodefaultctor;
    2. Removed some unnecessary functions exports;
    3. Use of %immutable to prevent generation of “set”-method for some read-only struct fields.
  • Fixed compilation warning related to the deprecation of the previous way of using boost::bind.
  • Fixed compilation warning about variable being redefined.
  • Changed variable name to clarify log behavior.
  • Make sure the folder where the log file will be created exists.
  • Fixed error in test case related to changes in the log system.
  • Updated version to 7.6.0.
  • Avoid instantiating a new LogMessage object each time a message needs to be retrieved from one of the message log slots.
  • Fixed compilation warning.
  • Fixed compilation warning: Uninitialized variable.
  • Fixed comment.
  • Avoid copying log messages when transferring them to the graphical interface (the interface now retrieves the information directly from the logging queue slot without having to convert them to any intermediary data type on the C++ side):
    1. Also, used std::pair to allow exporting information to Java more easily.
    2. Updated test cases.
    3. Compilation using MSVC now defines /Zc:__cplusplus to report the current C++ version (required by SWIG to work correctly with move semantics).
  • Definition of move assignment operator for Lockable::Lock (to be consistent with the move constructor).
  • Removed unused includes.
  • Changed warning messages to be less specific about alternative file formats.
  • Allowed ERMapper image file to be loaded even if the projection/coordinate type is not well defined:
    1. Ignored inconsistent definitions of coordinate types when loading images;
    2. Allowed coordinate type to be also specified as “none”;
    3. Added test cases.
  • Fixed compilation warning: Uninitialized variable.
  • Fixed compilation warning.
  • Fixed compilation warning: Uninitialized variable.
  • Fixed potential access to null pointer when using logger from worker.
  • Use of fmt::ostream to represent the files where the log messages from each worker are stored.
  • Changed the log system to use the pre-allocated circular memory buffer for formatting message (avoid allocating memory for each logging call)
  • Formatting.
  • Comments.
  • Fixed compilation warning: Variable hiding a previous local declaration.
  • Fixed compilation warning: Uninitialized variable.
  • Removed definition no longer used.
  • Fixed compilation warning: Conversion from 'size_t' to 'int'.
  • Fixed bug where the wrong constant was being used to validate the maximum message log length.
  • Fixed compilation error when using fmt 10.1.1.
  • Exported information about the log subsystems to Java.
  • Created new log subsystem (EXECUTION_BASICS).
  • Fixed compilation warning: variable hiding a previous local declaration.
  • Fixed compilation warning: signed/unsigned mismatch.
  • Fixed compilation warning: variable hiding a previous local declaration.
  • Exported to Java definition used for checking if message can be written to message log.
  • Definition of a specific log subsystem (GRAPHICAL_INTERFACE) for the graphical interface.
  • Fixed compilation warning: signed/unsigned comparisons.
  • Fixed compilation warning: uninitialized variable.

Dinamica (Installer)

  • Updated version to 7.6.0.

Dinamica (R integration)

  • (None)