:tocdepth: 2

##############
Envision 2.3
##############

July 11, 2024 - SHA: eadd4462

|web| Envision for Web        |desktop| Envision for Desktop

***********
Fixed Bugs
***********

CAE-1375 Expanded Elements line color incorrect if model contains other lines |web| |desktop|
=============================================================================================

Fixed incorrect coloring of expanded element lines. Only DrawStyle.LINES and DrawStyle.HIDDEN_LINES will now show the 
model as lines.


CAE-1381 Cannot open some model files on Windows server with node 20 |web|
==========================================================================

UgServer now supports Node.js runtimes v20 in addition to v18. To use Node.js version 20, modify the UgServer to use 
the desired native addon version inside the server's folder ``server/UgServer/bin/<platform>/``. For example, rename 
``CeeUgServer_v20.node`` to ``CeeUgServer.node``.

*************
New Features
*************

CAE-883 Anisotropic scaling option for vector fields visualizations |web| |desktop|
===================================================================================

Envision now allows a user to specify the scaling of each vector in its individual component directions. This may be 
useful when wanting to visualize the contribution of each result in a particular direction.

The anisotropic scaling is controlled via the ``VectorSettings`` class, similar to how you would set the existing 
uniform scaleFactor on vectors. It has been implemented to be consistent with the scaleFactor API.

In Envision Desktop:

.. code-block:: cpp

    Vec3d anisotropicScaleFactor() const; 
    void  setAnisotropicScaleFactor(ScaleMode mode, Vec3d scaleFactor);

In Envision Web (an accessor):

.. code-block:: ts

    get anisotropicScaleFactor(): Vec3Like
    set anisotropicScaleFactor(anisotropicScaleFactor: Vec3Like)

In either case, if the ``anisotropicScaleFactor`` is set, the uniform scaleFactor will be disabled and return 
undefined if queried. Similarly, if the uniform scaleFactor is set, the ``anisotropicScaleFactor`` will be disabled 
and return undefined.

The scaling will apply to all feature extractions - cutting planes/surfaces, isovolumes, and isosurfaces.

You can visualize this in both Analyzer Desktop and PostPlayground. You can find the anisotropic scaling under the 
Vector Settings dialog in Analyzer, and in PostPlayground, there is now an 'Anisotropic Scaling' button that will set 
up the Poppet Valve model and bring up a scaling dialog.

.. image:: ../images/release-notes/cae883.png


CAE-1337 Add node averaged values for isovolume from Element results |web| |desktop|
====================================================================================

Added an option to use node averaged vector results for element-mapped results.

The node averaged option is controlled via the ``VectorSettings`` class.

In Envision Desktop:

.. code-block:: cpp

    Vec3d showNodeAverageValues() const; 
    void  setShowNodeAverageValues(bool showNodeAverageValues);

In Envision Web:

.. code-block:: ts

    get nodeAveragedValues(): boolean
    set nodeAveragedValues(useNodeAveraging: boolean)


CAE-1384 Include particle traces in bounding box |web|
======================================================

When computing the visible parts bounding box for the scene, particle traces will now also be taken into account. This 
is consistent with other feature extractions, like cutting planes, isosurfaces, etc, which were already being taken 
into account when reporting the visible parts bounding box.

This allows for proper clipping and setting of the far and near planes when feature extractions are shown without 
their respective parts. Previously, the clipping would not take particle traces into account (even with the 
``ignoreClipping`` flag).