# Envision 1.6

August 16, 2023 - SHA: f991e3e2

Envision for Web Envision for Desktop

## New Features

### CAE-1123 Custom labels for color legend tickmarks

Added support for specifying custom color legend labels for `FILLED_CONTOURS_UNIFORM` and `FILLED_CONTOURS` legends. You have to specify `numberOfFilledContoursColors() + 1` strings (one for each tickmark).

Added to `cee::ug::ColorMapper`

    std::vector<cee::Str>   customFilledContoursTickMarkLabels() const;
    void                    setCustomFilledContoursTickMarkLabels(const std::vector<cee::Str>& levelLabels);

### CAE-1193 Add constant fluid viscosity property to MassedParticleParameters

You can now specify a constant molecular fluid viscosity when using the massed particle tracing. This is useful if the viscosity is constant and you do not have a dedicated viscosity scalar field.

Added `cee.ug.MassedParticleParameters.constantFluidViscosity`. This will be used when `fluidViscosityResultId` is not set (-1).

### CAE-1202 Added ArrowGenerator and fix typings of cee.utils

Added `cee.utils.ArrowGenerator` class to generate a tessellation of an arrow.

Added `cee.utils.ConeGenerator` and `cee.utils.PathGenerator` to the typings files `CeeEnvisionWebComponents.d.ts`

### CAE-1206 Add documentation to .d.ts file

Added the Envision Web documentation to the `CeeEnvisionWebComponents.d.ts`. This allows for a much nicer development experience, as most editors (including VS Code) will show the documentation as tooltips when hovering over code.

### CAE-1208 Do not expose the license code when using the HOOPS Exchange plugin

When using the HOOPS Exchange Data Provider for the RemoteModel, you can now use the `CEW_TECH_SOFT_LICENSE_CODE` and `HOOPS_LIBRARY_PATH` environment variables to specify the license and the location of the HOOPS Exchange distribution on the server side. This avoids providing these as `ReaderSettings` from the client side.

The documentation has been updated to reflect this.

## Fixed Bugs

### CAE-1196 QueryNodeScalarResult does not support calculator results

The `cee.ug.QueryNodeScalarResult` query now supports querying scalar results that are computed with a result calculator plug-in.

### CAE-1200 Crash in loadState() when changing section configuration

When changing sections in `cee::imp::cae::DataSourceCae` and then calling `loadState()` you might in some cases get an assert.

### CAE-1203 Navigation cube cannot be used to set the camera inside the OpenModelCallback

The `Overlay.viewConfigurationFromNavigationCubeItem()` did not work before the first visualization was ready (e.g. in the `openModelCompleted` callback in `RemoteModel.openModel()`.

### CAE-1209 DataProvider: setCreateDerivedResults(false) does not work when adding results in pollForChanges

The `CDPDataProvider::setCreateDerivedResults(false)` setting did not work when providing new results in `CDPDataProvider::pollForChanges()`, it would always provide derived results.

Also fixed an issue where the results provided by result calculators disappeared if a `pollForChanges()` resulted in a new call to getMetaData (`CDPChangeNotifications.notifyTriggerNewGetMetaData()`).

### CAE-1211 ImportCAE: For some file formats undefined results are reported as 0

The file readers supported by Ceetron Access (most CAE formats) specifies undefined results as 0 and not undefined. This causes the visualization to be wrong and also for 0 to be included in the min/max calculations.

Added a new setting to control this behavior: On desktop we enabled the `cee::imp::cae::ReaderSettings::setUsesUndefinedResults` reader setting for Ceetron Access so you can now force undefined results to be zero.

In Envision Web, we added a new reader setting:

    myModel.setReaderOptions("CEETRON_ACCESS", {
        "USE_UNDEFINED_RESULTS": true
    });

In future releases, this will be set to default true (use undefined), but that requires some fixes in Ceetron Access.

### CAE-1210 UgServer crashes on some old legacy VTFx files

Some old and partial VTFx files caused an assert and crashed the RemoteModel (UG) server.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Envision for Web in your own language, or choose a sample question below to start a conversation:

What is HOOPS Envision for Web?
What are the latest release notes for HOOPS Envision for Web?
How do I start evaluating HOOPS Envision for Web?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...