# Envision 3.1

March 20, 2025 - SHA: 19460d9e

CEETRON Envision for Web CEETRON Envision for Desktop

## Fixed Bugs

### CAE-1303 VTFx: Handle running animation over states with missing displacement results

Fixed an issue where the VTFx animation would not run over states with missing displacement results.

### CAE-1383 GeometryModel::polygonIntersect does not handle duplicate points

If duplicate points are passed in the coordinates array to `UnstructGridModel::polygonIntersect`, the function will not determine a valid polygon and will fail. This issue was resolved by adding a preprocessing step to filter out duplicate points before attempting to determine the polygon.

### CAE-1427 When switching cases vectors are set from previous case

Switching into a new VTFx case now clears all previous visual settings before applying new properties from the newly selected case. This prevents scenarios when e.g. a vector setting is being shown but the newly case has no specified vector to show.

Reset settings include: Shown fringes, vectors and displacement, scalar and vector settings, mode shape animation, visible element sets.

### CAE-1440 Fix Anisotropic Scale Factor Handling for Strict Null Checks

Fixed `anisotropicScaleFactor` handling to ensure all factors are non-null if anisotropic scaling is used.

### CAE-1442 Assert while mapping a vector result on a cutting plane

When setting a result on a cutting plane (or feature extraction), one should use NORMAL update. Using `CUTTING_PLANE` will not set the result correctly. But it is a regression that using `CUTTING_PLANE` causes an assert. This was introduced in CAE-42: Color vectors by any scalar (not just the one shown as fringes)

### CAE-1473 VTU: Improve large model handling

Improved handling of large models in Vtu format. This includes better performance and memory usage when loading large models.

### CAE-1474 Wrong state being preserved in state linear combination

Fixed an issue where the wrong state was being preserved in state linear combination. When combining state results, we were keeping the first state in the provided list instead of the current state of the model.

### CAE-1477 Geometry model number of parts differs between 2.4.1 and 3.0.1 versions

Prior to implementing strict null checks, it was possible to add parts even if the mesh indices for the part were empty. After implementing strict null checks, parts were not added unless the indices were populated. This is incorrect.

To reconcile this, an error will now be thrown if the number of vertices per primitive is not supported/expected. The subsequent conditional checking indices size can be removed. This change keeps the intended behavior and is compatible with strict null checks.

Regression introduced in Envision 3.0.0.

### CAE-1486 OpenFOAM: Result data has zero values

Fixed an issue where data results read incorrectly. Ensure that the reader continues to the next data result buffer.

Fixed in version 1.17.0 of the OpenFOAM data provider.

## New Features

### CAE-591 Attributes of Vtu Xml elements now have case insensitive names

The attributes of the Vtu Xml elements are now case insensitive. This means that the attributes can be written in any case and the parser will still be able to read them. This is useful when the Vtu Xml files are generated by other software that does not follow the same case convention as Envision.

### CAE-1444 Add “Turbo” and “Cool to Warm”, two other popular color schemes

This feature adds the popular Turbo and Cool to Warm color scheme to the list of available built-in color schemes within Envision.

### CAE-1446 Custom legend labels: support for “TickMarksPosition” (centered labels)

Added the option to center labels on each “level” of the legend instead of next to the tick mark.

This is solved by calling `setCustomFilledContoursTickMarkLabels()` with an array of labels the same as number of levels. So;

- If size of labels array is numLevels +1: Custom label by each tick mark
- If size of labels array is numLevels: Custom label centered in the level. No tick marks are drawn.

When number of levels are changed, the custom labels are reset and need to be set again.

### CAE-1464 Added support for polygon elements in Vtu. Mixed polygon/polyhedron meshes also supported

Added support for POLYGON elements in Vtu. Mixed polygon/polyhedron meshes are also supported.

### CAE-1488 Use bounding box diagonal to relatively scale displacements

Relative displacement scaling now scales with the length of the model bounding box’s diagonal, instead of the largest axial component of the bounding box to better align with existing software. This will result in displacements being slightly larger for the same scale factor, only when using relative scaling (`cee.ug.DisplacementScaleMode.RELATIVE_SCALING` or `cee::ug::DisplacementSettings::RELATIVE_SCALING`).

### CAE-1492 Add support for reading VTK legacy files

Added support for reading VTK legacy files.

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...