Envision 2.2

May 29, 2024 - SHA: 3c2a0344

Updated Supported Platforms

CEETRON Envision is now build on the following configuration:

Supported platforms

Operating system

Compiler

Windows

Windows 10

MSVC 2019 (142 toolset)

Linux

Rocky 8.9 (glibc 2.28)

gcc 8.5


web CEETRON Envision for Web desktop CEETRON Envision for Desktop

New Features

CAE-1181 Operator Mechanism and Operator Examples web

Operators allow developers to more easily hook into the browser event loop and fire custom actions in response to user inputs. They encapsulate the logic of handling Viewer user input in a single place, and to make it easier to switch between different modes of interaction (i.e. - Navigation, Picking, Transformations). Before operators, these interactions were either hard-coded and internal to the product, or setup by a developer using DOM event listeners. Multiple operators can be written and used together in your application. Any operator on a View.operatorStack will be active for your scene, meaning it will respond to any input event you may have set up for it. The operatorStack can push, pop, set, find, and reorder any number of operators, so you can quickly enable and manage different modes of interaction in your scene.

You can read more about Operators and how to use them on our Operators documentation page: https://docs.techsoft3d.com/ceetron/latest/envision-web/operators.html

There is also a exploratory app in Examples/Operators where you can find sample code for different operators we have written, and how they may be used in a scene.

../_images/cae1181.png

CAE-1355 Create Envision distributions on Rocky Linux web desktop

Linux versions of Envision Web and Envision Desktop are now built on Rocky Linux 8.9 with glibc 2.28 and gcc 8.5. You can read more about Rocky Linux here: https://rockylinux.org/

CAE-1310 New navigation type: rotate around x, y, z axes web

This ticket allows a specified keyboard key to be held and activate a navigation mode that rotates the model about a desired axis. In the feature request, it is described that they would like to hold the x key to rotate about the model X axis, the y key to rotate about the model Y axis, and the z key to rotate about the model Z axis.

To demonstrate this, we used the work done on operators to extend and customize our NavigationOperator. The main change to the API allows the user to specify an arbitrary axis of rotation to rotate about. The TrackballManipulator will look to see if a valid rotation vector is provided, and if so, will use that as the rotation axis for the rotate operation. If it is undefined or null, the rotation behaves as before.

Using operators, a user can extend the Navigation operator to detect onKeyDown and onKeyUp inputs and set the desired input keys and rotation axes. In the case of the support request, we look for key presses for X, Y, and Z and if held, will set the rotation axis to (1, 0, 0), (0, 1, 0), and (0, 0, 1) respectively. If released, the rotation vector is reset to undefined and behaves as default.

CAE-1312 Updated internal XML parser library web desktop

To remove a CVE we have removed an internal xml parser library, TinyXML, which has been discontinued. The xml parser has been replaced with pugixml 1.14. (https://pugixml.org/)

This is an internal implementation used for reading/writing CEETRON VTFx files and should not cause any changes for Envision users.

Note! The CeeReport component still uses TinyXML. This will be addressed in a later release.

CAE-1340 Add state group support on Web web

State groups are extracted from the states which are flagged as groups and sent to the client (ModelDirectory.stateGroupInfoArray). The user can inspect the state groups and set them as needed in ModelSpec.stateIdArray to setup an animation.

CAE-1361 Extended and documented LOD controls for streaming in RemoteModel web

Extended and documented LOD controls for streaming in RemoteModel


Fixed Bugs

CAE-1308 view.getBoundingBoxVisibleParts() not working when there are invisible parts with opacity web

The getBoundingBoxVisibleParts() now handles invisible parts with opacity.

CAE-1309 Expanded beams: Draw Style set to LINES make beams invisible desktop

This fix allows for the visualization of expanded elements as lines using DrawStyle.LINES (or any other lines based drawstyle, such as HIDDEN_LINES_REMOVED). Prior to this change, using these draw styles resulted in no rendering of the element, since triangles were not being generated/displayed, and lines were not supported.

CAE-1308 Invalid bounding box for an empty view web

RemoteModel.getBoundingBox and View.getBoundingBox are now correctly returning an invalid bounding box when all the parts are hidden (the view is empty).

CAE-1342 Switching case from case with animation to the one with no animations produces an error web

  • Fixed an error when repopulating ModelDirectory after switching a VTFx case

  • Fixed a bug when switching from a VTFx case with animation to a case without one

CAE-1353 Assert failures in BoundingBox functions when all parts hidden web

Now support sending an invalid bounding box to client, in the event all parts are hidden and the computed bounding box is empty. This was an issue introduced in Envision 2.0 with the update to bounding box handing.

CAE-1362 OpenFOAM: Crash in Data Provider for dataset with sampled surfaces web desktop

The support for multi-dimensional results for sampled surfaces were not fully implemented in the OpenFOAM data provider. Improvements were done to the sampled surfaces and node-averaged multi-dimensional (vector, tensor) results.

CAE-1363 Exclude undefined values from global maximum in QueryResultMinMax web

Ignore undefined results by default for global min/max in QueryResultMinMax

CAE-1366 Displacement results show wrong scaleFactor on Web web

When applying the default case to a model with a displacement result, that displacement will have its scaleFactor set by default to 3.4028234663852886e+38 (if it’s not set otherwise from the VTFx file). This fix makes sure that the scale factor defaults in this scenario to 1.

CAE-1367 VTU: Not correctly identifying file as vtu file web desktop

The file interface for VTU files did not always correctly identify the VTU file. This logic has been improved.