.. role:: raw-html(raw)
    :format: html

.. |supported| image:: ../../_assets/images/green_circle.png
   
.. |na| image:: ../../_assets/images/grey_circle.png
   
.. |unsupported| image:: ../../_assets/images/red_circle.png
   
.. |partialsupport| image:: ../../_assets/images/gray_green_circle.png


#########
3DF 30.00
#########

Technology Update
=================

Platform Changes
----------------

* Support for Microsoft Windows/Visual Studio 2022 (V17.8 and above with toolset 143) and .Net 8 starts with this release.
* Minimum required version for .Net Framework is now 4.8. Note that .Net Framework support is only available on the Visual Studio 2019 (toolset 142) platform. Consider migrating your application to .Net Core 2.0.
* Support for all Microsoft Windows 10 editions is scheduled to end in October 2025 in coordination with Microsoft's scheduled end of life policy.
* Support for OpenGL on MacOS is deprecated and will no longer be supported starting in January 2026. Partners will have to migrate to Metal in order to maintain support for Apple devices in the future. 


Library Compatibility Information
=================================

.. only:: not spatial

	.. csv-table::
		:header: "Library Name", "Version", "Windows", "Linux", "OS X", "Notes"
		
		"DGN Direct", "4.2", |supported|, |unsupported|, |unsupported|, ""
		"HOOPS Communicator", "2024.6.0", |supported|, |unsupported|, |unsupported|, "HTML HIO only works with Visual Studio v142."
		"HOOPS Exchange", "2025.1.0", |supported|, |supported|, |unsupported|, ""
		"HOOPS Publish", "2025.1.0", |supported|, |supported|, |unsupported|, "Requires support for SSSE3 instruction set."
		".NET Framework", "4.8", |supported|, |unsupported|, |unsupported|, "Required for VS 2019 libraries and samples."
		".NET Standard", "2.0", |supported|, |unsupported|, |unsupported|, "Required for VS 2019 and 2022 libraries."
		".NET Core", "8.0", |supported|, |unsupported|, |unsupported|, "Required for VS 2022 samples."
		"Parasolid", "35.1", |supported|, |supported|, |unsupported|, ""
		"Qt", "5.12.7", |supported|, |supported|, |unsupported|, "Visualize is compatible with Qt 5.4 on OSX "
		"RealDWG", "2019", |supported|, |unsupported|, |unsupported|, "RealDWG 2019 is compatible with Visual Studio 2015 Update 3 and Visual Studio 2017 Update 2 "
		"SketchUp", "2023", |supported|, |unsupported|, |unsupported|, "64-bit Windows only. Requires Visual Studio 2019 Redistributable."
		
.. only:: spatial

	.. csv-table::
		:header: "Library Name", "Version", "Windows", "Linux", "OS X", "Notes"
		
		"DGN Direct", "4.2", |supported|, |unsupported|, |unsupported|, ""
        ".NET Framework", "4.8", |supported|, |unsupported|, |unsupported|, "Required for VS 2019 libraries and samples."
		".NET Standard", "2.0", |supported|, |unsupported|, |unsupported|, "Required for VS 2019 and 2022 libraries."
		".NET Core", "8.0", |supported|, |unsupported|, |unsupported|, "Required for VS 2022 samples."
		"Qt", "5.12.7", |supported|, |supported|, |unsupported|, ""
		"RealDWG", "2019", |supported|, |unsupported|, |unsupported|, "RealDWG 2019 is compatible with Visual Studio 2015 Update 3 and Visual Studio 2017 Update 2 "
		"SketchUp", "2023", |supported|, |unsupported|, |unsupported|, "64-bit Windows only. Requires Visual Studio 2019 Redistributable."


Enhancements
============

* **Windows Development Toolchain** Visual Studio 2022 (toolchain 143) and .Net 8 are now supported. C# sample applications have been ported to .Net 8 for the v143 toolchain.
* **Cellular Volume** Can select and highlight cellular volumes and its components (Edge(s), Face(s), etc.).
* **Shell Selection** Shell select can use the filtering feature used by cellular volumes and highlight its components.
* **Conditionals** Performance increase when set/unset conditions does not result in necessary update (Ex: setting same condition on every mouse move).
* **Java Interface** HIO plugins and the Show Memory function are now supported in the Java interface. 


Functional Changes
==================

* **C# Interface** Types in the C# wrapper are more intuitive to use.
* **Visual Studio 2019 Support** C# sample appication have been retargeted to .Net Framework 4.8 for the v142 toolchain.
* **LOD System** LODs generated by 3DF are correctly drawn in cases where vertices do not all have same attributes.
* **Sub-shell Calcuation** ``HC_Compute_Subshell()`` no longer counts holes in shell faces in its calculation.


Deprecations
============

.. todo:: List new or reminders about deprecated components of the product.
   This have been prepended by deprecated_ and will be removed in version 31.1:

  * :cpp:member:`HTessellationSettings::m_dMinimalTriangleAngleDeg` renamed :cpp:member:`HTessellationSettings::deprecated_m_dMinimalTriangleAngleDeg`


Fixed Bugs
==========

.. csv-table::
    :header: "Issue", "Description"

    "SDHV-20965", "Some Triangles of Shells are not drawn"
    "SDHV-20962", "Animator：About selecting the model after animation"
    "SDHV-20942", "Incorrect Highlight of Shell-Face with Holes"
    "SDHV-20918", "Error creating OOC files using the Point Cloud API "
    "SDHV-20910", "Create cutting plane crashes hoops3dpartviewer in 2024_10_29_HSF_Crash"
    "SDHV-20909", "Non-cleared Memory decreases Frame Rate by Factor 4"
    "SDHV-20903", "HOOPS V25 is faster than V29.30"
    "SDHV-20880", "There is a method whose argument type has changed."
    "SDHV-20879", "There are classes where the problem has not been fixed."
    "SDHV-20876", "PartViewer bug,  ZoomToExtent button does not work when you make a geometry visible"
    "SDHV-20868", "SWIG update causes a variety of problems for C# applications"
    "SDHV-20804", "Exception in HC_Filter_Circumboid and hoops Zoom Problems"
    "SDHV-20803", "Crash when statistics are displayed"
    "SDHV-20747", "HOOPS Issue in HC_Update_One_Display('.')"
    "SDHV-19630", "3DXML PMI data is not getting rendered correctly on the canvas"
    "SDHV-20943", "Can't use pdf3d output handler from Visualize's Java API"
    "SDHV-20998", "Can use HC_Show_Memory_Usage in Java"
    "SDHV-21008", "SWIG update causes crash of C# applications when using HOutputHandler with a progress callback registered"
    