########
2021 SP2
########

.. program:: converter

HOOPS Communicator 2021 SP2 is based on HOOPS Visualize HPS 2021 SP2, HOOPS Exchange 2021 SP2, and HOOPS Publish 2021 SP2.

Update supported formats
------------------------

The following format versions are now supported:

* Creo 8
* NX - Unigraphics 1980 PRT
* Parasolid v33.1

See a full list on our :doc:`Supported Formats </overview/supported-formats>` page.


Enhancements
------------

BIM specific shading modes to render views with technical drawing and conceptual drawing styles. Gooch shading and Toon shading are now both available to provide low reflectance shadowing and coloring to reduce photo-realism. Hand drawn style lines can be rendered to produce sketched style.

Native support for Apple Silicon is being introduced in this release. Binary packages for Apple platforms now contain universal binaries that run natively on both Apple Silicon (ARM) and Intel-based (x64) Mac computers for your convenience. Refer to this link for more information on porting your macOS application to `Apple Silicon <https://developer.apple.com/documentation/apple-silicon/porting-your-macos-apps-to-apple-silicon>`_.

New API to set and unset the visibility state of individual face, line, and point elements.

Streaming now works as expected when loading multiple large models simultaneously, rather than streaming them in sequentially.

The speed of Convertor has been improved through the introduction of selectable file compression options Strong (high compression), Default (prior versions) and Fast (high speed). Use the CLI argument :option:`--sc_compression_strategy` to specify which to use.

   
Functional changes
------------------

New :doc:`Selection </api_ref/viewing/modules/Communicator.Selection>` options include:

* Select a root node in the model tree and deselect a leaf node in the viewer with :ref:`setIgnoreEntityWhenTogglingChildSelection() <api_ref/viewing/classes/Communicator.SelectionManager:setignoreentitywhentogglingchildselection>`.

* Deselect an entire component when picking a non-selected entity of the selected component with :ref:`setSingleEntityToggleModeEnabled() <api_ref/viewing/classes/Communicator.SelectionManager:setsingleentitytogglemodeenabled>`

The :ref:`WebViewer.reset() <api_ref/viewing/classes/Communicator.WebViewer:reset>` function now resets the model in all cases as described in the API documentation. The previous functionality only reset the model if there was a default cad configuration.

New :doc:`Model </api_ref/viewing/classes/Communicator.Model>` methods have been added related to node visibility. Each sets the visibility of a part given a ``partId`` and line, face, or point Id. The new functions are:

* :ref:`setNodeFaceVisibility() <api_ref/viewing/classes/Communicator.Model:setnodefacevisibility>`
* :ref:`setNodeLineVisibility() <api_ref/viewing/classes/Communicator.Model:setnodelinevisibility>`
* :ref:`setNodePointVisibility() <api_ref/viewing/classes/Communicator.Model:setnodepointvisibility>`


Fixed bugs list
---------------

.. csv-table::
	:header: "Issue number", "Description"
	
	"SDHC-17877", "Request for performance improvements for Converter."
	"SDHC-18118", "Selected item position return is incorrect."
	"SDHC-18074", "CAD model disappears when using the middle mouse button with the Relative Orbit operator."
	"SDHC-18096", "Camera orbit target not working properly with middle mouse button."
	"SDHC-18111", "Incorrect text box position."
	"SDHC-18065", "Resetting the Web Viewer with ``hwv.reset()`` does not fully reset the viewer."
	"SDHC-18009", "Poor performance for DWG files in HOOPS Communicator compared to HOOPS Exchange."
	"SDHC-17953", "When trying to pick a point, ``pickFromPoint()`` returns ``null``."
	"SDHC-18067", "PMI in Creo model shown at incorrect size."
	"SDHC-17895", "Point object rendered in SCS files."
	"37427", "Incorrect placement of model drawings."
	"SDHC-18066", "Security issues preventing deployment."
	"36676", "Bounding box is missing in published HTML file model area."
