====== What is New in Dinamica EGO 5.2.0 ====== (ChangeLog compared to Dinamica EGO 5.1.0) ===== Dinamica NUI (Application Graphical User Interface) ===== * Fixed issue in Chart tab of LookupTableEditorPanel when null. * Removed invalid assertion: createFunctor is allowed to fail due to incompatible container. * Added Spell Checker Button to String Editor * Removed unused imports. * Added confirmation Dialog Box to CategorizationEditor. * Fixed ImageExpressionEditor not disabling the identifier buttons when the component is disabled * Fixed StringEditor not disabling the identifier buttons and the spellChecker button when the component is disabled * Added a new name to the developer list; explicitly defining the size of the About window to make sure all developer names are visible. * Added internal input and output port information in GraphFunctorDocumentationPanel * Customize Tab/Group drop down menu using content from other exported ports in SubmodelPortEditorPanel * Added tab/group information for the ports in the SubmodelFunctorExportedPortsDialog * Added type information for the columns in the TableEditorPanel * Placed the Advanced tab as the last tab in functor editor. * Prevent functors created by drag-and-dropping external files to be stacked on the top of each other. * Added type information for the columns in the ConfigureTableColumnsPanel * Removed unused method and unused imports. * Fixed inconsistency in the naming of the Check For Update related buttons. * Added function to get table format from disk file in the ConfigureTableColumnsPanel * Removed unused event handlers. * Added confirmation when importing table format from a table file. * Fixed typo in message. * Fixed bug where the type information was being lost when applying changes in the ConfigureTableColumnsPanel * Fixed bug where the type information was not added to the column label, but to the column text in the ConfigureTableColumnsPanel * Added function to update all submodels in the SubmodelStoreDialog * Added the code to activate the validation when the submodel is imported to a Script Editor * Fixed bug where the UpdateManager could erroneously be invoked on a system other than Windows. * Hide components related to auto updating from being displayed in platforms other than Windows. * Assume that input ports are optional when exporting them as part of a submodel and they have an editor defined * Extend drop area for small and big icon and add icon removal function * Added keystroke to enable/disable showing additional information about a functor on its tooltip. * Fixed bug where the additional information about a submodel was not being displayed on its tooltip. * Fixed bug where the keybindings for some global actions were not working all the time. * Defined keybinding to change the main window size to match 1080p. * Added another shortcut for showing additional debugging information for functors on their tooltips. * Expand groups and subgroups in the Functor Library when a new functor is installed * When creating hook functors, define automatically the editor representing the hook index. * Added release notes to the help menu in the menu bar * Add undo and redo actions for StringEditor and ImageExpressionEditor. * Updating changed UndoRedo constructor. * Fixed typo in variable name. * Fixed bug where the group containing an installed submodel would not be expanded after the submodel installation if a tab other than the one containing all available functors/submodels were selected. * Removed unused definition. * Removed unused code. * Definition of method to return list of all groups and subgroups containing functors/submodels in the functor library. * When editing a submodel, populate the group drop down menu with all groups present in the functor library. * Add highlight to the format string in CreateString. * Definition of a new memory policy (Aggressive) that keeps input maps in disk and allocates them on memory. * Allow the display of placeholder editors corresponding to non-editable input ports in the functor editor dialog. * Avoid throwing an error when forcing the expansion of a node in the functor tree but that node is hidden by an active search. * Make sure the Projection tree scrollbar is always aligned left to avoid hiding the tree node handles when expanding a node. * Fix the presentation of how many functors exist in a given group in the functor library for favorites and also when a search is active. * Add predefined table format representing reports produced by Determine Weights of Evidence Correlation. * Updated info about python version to 3.8.0. * Fixed typo. ===== Image Viewer (Map Viewer) ===== * Optimization to remove memory leaks when opening images in the viewer. * Redefinition and optimization of the presentation of legends for categorical maps to prevent excessive garbage collection when hundreds of classes exist. ===== Dinamica NUI Utils (Graphical User Interface Utilities) ===== * Added option to define the color of the icon border; refactoring. * Add the formatType function for column names in the TableUtils * Expand groups and subgroups in the FunctorLibrary when a new functor is installed * Create class for Undo and Redo Actions. * Changing UndoRedo Constructor and excluding unnecessary action classes. * Added class BoundsPopupMenuListener to control the size and some other aspects of drop down menus. * Definition of method to return the number of visible leaves in a sub-tree. ===== Dinamica (Application Core and DLLs) ===== * Remove assertion: It is possible for "result" to be true when the functor found is nullptr. * Removing unused scripts that were previously used to created makefiles from the cmake file. * Adding script to generate makefiles for Visual Studio 2019. * Changes in the instantiation of editors and viewers to avoid the use of raw pointers. * Fixed bug column index out of bounds on AddTableColumn. * Fixing issue in the definiton of defaultEditor for GenericFilenameData. * RasterizeShape now always save Tiff images as BigTiff. * Removed outdated comments. * If possible, performs the copy of image layers in parallel. * Prevent handler from being closed after failing to perform an operation that was only supposed to read data from the underlying image. * Fix bugs causing temporary files to be removed at the wrong time when shared across several tasks; Addition of new test case; Adaptation of existing test cases. * Fix bug in InsertMapLayer that was not informing the copy optimization system that the input layer was also being modified. * Fix implementation of ExtractMapLayer to make sure its behavior is compatible with the copy optimization system; Definition of mode that allows ports to bypass the copy optimization system and explicitly copy the input data only when necessary; Addition of test case showing the problem. * Definition of convenient constructor for ScopedLogLevel. * InputPort::setDataEditor() is now a public method. * GeneticAlgorithmTool optimizations: now the calculations of the fitness values for different individuals in a generation are performed in parallel; Fixed bug where the parameter MaximumLogLevel could be ignored in some cases. * Adding script to install dependences on Linux * Add information about all the tasks that were running concurrently when an assertion was trigged to the corresponding report. * Fix use of sourceLayer by CalcPatchLabelMap to make sure it can run in parallel with other functors. * Fix potential bugs when CalcKernelMap executes concurrently with another functor using the same input map. * Fix intermittent compilation problems when rebuilding the whole project. * Removed outdated files. * Definition of hasNull() for multi-layer maps. * Definition of method translate() to translate the position of a coordinate. * Calc Cost Map can now produce a cost direction map when calculating cost surfaces; refactoring and organization of functor code; update of test cases. * Calc Pathway Map can now also receive a cost direction map; proper use of "copy optimization" for the network map; refactoring and organization of functor code. * Calc Cost Allocation Map can now also receive a cost direction map; proper use of "copy optimization" for the source/allocation map; refactoring and organization of functor code; update of test cases. * Data viewer no longer throws an error when its peer is empty. * Adapted relevant data viewers to comply with new behavior. * Apply virtualization and selective copy optimization to the inputs of Calc Cost Allocation Map. * Additional test case. * Apply virtualization and selective copy optimization to the inputs of Calc Pathway Map. * Fixed bug with the "Merge Network" flag not working properly. * Calc Pathway Map: Ignore path creation when the first cost/direction cell is null. * Fix bug on border analysis in CalcPatchLabel. * Fix a bug where CMakeLists.txt wouldn't work on Windows path's with space. * Fix Eigen3 includes on DetermineTransitionMatrixFunctor.cpp * Fix compile error on MapIOHandler on gcc and clang. * Updated getSharedOwnershipCount() to avoid creation of temporary atomic values when the handler ownership is not being shared. * Avoid assertion when PyUnicode_FromString() fails to convert table cell values to Unicode. * Fixed broken test cases. * Adjusting toTable python function to accept int header on Table. * Taking off print on toTable python function * Definition of methods to return a default value when properties are not defined. * Fixed bug where de detection of the equivalent functor could fail depending on the copy pattern of a script. * Now toString() also includes the list of properties when dumping the content of a script or functor. * Definition of a new memory policy (Aggressive) that keeps input maps in disk and allocates them on memory. * Fixing indentation and comments. * Fixed error in test case. * Fixing Mac's image expression compile library. * Changing Mac's Python Environment location. * Changes on CMakeLists for Mac. * Update getPropertyValueAs function to explicit indicate template argument 'TypeT': Clang and GCC could not infer the template. * Include on Platforms folder the Mac files to build Dinamica. * Update Python lib used by Dinamica on Mac. * Put flag to mac on python location in CMakeLists. ---- For general information about version 5 of Dinamica EGO, see [[what_is_new_5|Whats Is New In Version 5]].