What’s New in UniPlot 4.1.2

This page describes the changes made to UniPlot 4.1.2 since version 4.1.1.

News

  • New function to save IPW files in compact form (File=>Close (Save Compact)).

  • DocSave: New Parameter bAddToMRU. This parameter can be used to avoid that the file name is added to the list of recently used files.

  • UniScript-Debugger: New improved tool tips for UniScript objects.

  • Dataset Style: A selection of properties for a dataset style can be specified in the Tools=>Dataset Style Configuration dialog box. Example: To create a style that will only set the curve style to a solid line style, create a dataset style with only the curve-style property enabled and all other properties disabled.

  • New features have been added to the Data=>3D-Dataset=>Z-Values and Data=>3D-Dataset=>Isolines dialog boxes. A autoscale function and a new function to create isoline labels have been added.

New UniScript Functions

New Functions in UniPlot 4.1.2

OnImportUpdateNCFile

OnImportUpdateNCFile will be invoked by the frame work, when the user imports a datafile.

XYZGetIsoAreas

XYZGetIsoAreas returns the area between the isolines as a percent value of the complete map.

XYZGetIsoValuesScaleType

XYZGetIsoValuesScaleType returns information about the autoscaling of isoline values (Autoscale On/Off, Type, Number of values).

XYZGetLabelFormatType

XYZGetLabelFormatType returns a value that specifies how the decimal places of isoline labels are created (manually or automatically).

XYZGetLabelTypeIsolines

XYZGetLabelTypeIsolines returns the isoline label settings.

XYZSetIsoValues

XYZSetIsoValues sets the isoline values.

XYZSetIsoValuesScaleType

XYZSetIsoValuesScaleType specifies how the isoline values are calculated (atuomatically or manually).

XYZSetLabelFormatType

XYZSetLabelFormatType specifies how the decimal places of isoline values are calculated (manually or automatically).

XYZSetLabelTypeIsolines

XYZSetLabelTypeIsolines specifies how the isoline labels are placed in the dataset.

strmatchi

strmatchi returns a vector of indices of those matrix elements which match the given pattern.

Modified UniScript Functions

Changed Functions in UniPlot 4.1.2

DocSave

DocSave saves a document to disk.

RoundDown

Is replaced by fround.

RoundUp

Is replaced by fround.

ST_complement

Compute the complement of a in b (the elements of b that are not in a).

XYZDeleteIsoValues

XYZDeleteIsoValues deletes isoline values.

XYZGetAutoScaleValues

XYZGetAutoScaleValues returns a vector with automatically calculated isoline values.

XYZSetFillColors

XYZSetFillColors sets the fill color for areas between isolines (i.e. to the color grade of the 3D surface).

XYZSetProps

XYZSetProps sets the dataset properties of a 3D dataset.

int

int returns the 32-bit integer part of a real number.

profiler_stop

profiler_stop stops the profiler that has been started with the profiler_start function. The profiler can be used for analyzing the run-time behavior and performance of programs.

Bug Fixes

The following bugs have been fixed:

  • (ID543) The help index for UniScript key words (if, else, for, …) did not direct to the right pages.

  • (ID537) The FEVIS-Import-Filter had a bug.

  • (ID532) Some MDF files (VS100 /INCA) could not be imported.

  • (ID533) If a variable type was changed in a for loop a memory access violation occurred.

    def test_for()
    {
        for (i in 1:1000) {
            i = "a"
        }
    }
    
  • (ID535) The incorrect property dialog box was opened when the user right clicked on an OLE object (e.g. Excel Sheet).

  • (ID553) Sometimes when a dataset was clicked a different dataset was marked.

  • (ID558) The XYZGetIsoAreas function caused a memory access violation when no isolines were specified for a 3D dataset. The documentation for this function was missing.

  • (ID571) The FS_GetFreeSpace and FS_GetTotalSpace function returned valid values only for drives with a capacity of less than 2GB.

  • (ID588) UniScript: The obj_keys function had an error:

obj = [.1,2,3]; obj_keys(obj, 0, 10) // did not work
obj = [.1,2,3]; obj.keys(0, 10)      // Did work
  • (ID590) The obj_save function did not save Variant matrices and negative keys correctly.

    o = [. 1 = [1, "1"]]
    obj_save(o, "d:/test.xml") // => a[1] was missing in the file
    
    o = [. -1 = 2] // negative Keys
    obj_save(o, "d:/test.xml") // error
    
  • (ID591) During the deallocates (garbage collection) of a list object, a memory access violation could occur.

    list = [.];
    t = list;
    for (i in 1:100000) {
        t.val = i;
        t.next = [.];
        t = t.next;
    }
    t = list = 0; gc();
    
  • (ID610) The documentation of the RemoveDirectory was missing.

id-800000