ActiViz 9.3 release: .NET 7 and UTF-8 everywhere

November 14, 2023

Kitware is pleased to announce the release of ActiViz 9.3.2023.1015!

This version mainly focuses on improving the assemblies generated by the ActiViz wrapper by upgrading the dotnet target framework to .NET 7, as well as managing all strings as UTF8 internally to handle special characters.
Based on the VTK master branch of 2023/10/15, this version also provides newly integrated features such as the vtkOrientationWidget allowing for rotating actors with intuitive handles, as well as minor bug fixes.

One of the biggest improvements provided in this release is the faster data loading, as highlighted in this VTK post.

Activiz

ActiViz is a .NET library for 3D visualization and data processing. It exposes the API of the C++ Visualization Toolkit (VTK), to be used in C# or VB.

ActiViz interfaces with many existing applications and frameworks written in C#, including WindowsForm, Windows Presentation Foundation (WPF), Avalonia, or the Unity software. This enables a seamless and fast integration of advanced algorithm and rendering techniques in various environments.

.NET 7

Support for .NET 7 follows the current support for the .NET 6 LTS target framework that was introduced in the previous release.
Among all the improvements listed in the related article from Microsoft this upgrade has a huge interest for ActiViz as it opens the door to a potential integration with .NET MAUI, as well as performance improvements using the new P/Invoke source generation.

UTF-8 everywhere

ActiViz now forces all strings to be marshalled as UTF-8 strings. This means that all string parameters returned from, or sent to, the VTK unmanaged layer are automatically encoded using UTF-8 encoding in order to support special characters seamlessly.
It is no longer required to use the application manifest file to force the codepage to UTF-8 to handle special characters.

Because VTK already supports using custom font files, and thanks to the wide range of UTF-8 supported characters, almost any common language can be supported not only in file paths, but also for rendering text in scene views.

“Hello ActiViz” logo rendered with Chinese characters
    vtkTextActor actor = vtkTextActor.New();
    actor.SetInput("嗨");
    actor.GetTextProperty().SetFontFile("/path/to/font/simkai.ttf");
    actor.GetTextProperty().SetFontFamily(4 /*VTK_FONT_FILE*/);

Upgrade to Avalonia 11

Originally introduced in ActiViz 9.1, support for the Avalonia cross-platform UI framework has been upgraded to version 11.0. This allows for developing applications with advanced GUI that can run on Windows, Linux and MacOS.

ActiViz with Avalonia – CAD scene (Models courtesy T-FLEX CAD ST)

Check the Activiz 9.1 release post for more information about cross-platform application development with Activiz. If you are unsure that Activiz with Avalonia is serious choice for developing your cross-platform application, you might be interested in reading this relevant post exposing the differences between Avalonia and .NET MAUI.

Visit the ActiViz website to learn more about ActiViz and download the new version.

Leave a Reply