Update to RINEARN Graph 3D: Enhanced API-related Features and More

We recently released the latest version of RINEARN Graph 3D, Ver.5.6.32.

This update incorporates all the development contents from ADL-20230123 to ADL-20230409 in the preliminary version. In this article, we will highlight the specific details of this update one by one.

- Table of Contents -

Enhancement of Control Features (API) in Java Language

Firstly, we have enhanced the API for controlling RINEARN Graph using the Java language. This is the main highlight of the current update in terms of volume.

You can refer to the entire API documentation from here. Additionally, for information on how to control RINEARN Graph 3D using Java language, please refer to this guide.

Now possible to plot by directly passing a four-dimensional (4D) data arrays

In the past, to handle four-dimensional data consisting of X/Y/Z coordinates and scalar values, the only option was to describe the data in a four-column format in a data file and make it read from there.

There are methods in the Java language API for RINEARN Graph to directly pass X/Y/Z values as arrays of type double, but until now, there was no way to pass arrays of values for the fourth dimension.

Therefore, in this update, we have added the following methods to the 'RinearnGraph3D' class to make it possible to directly pass four-dimensional data as an array.

Four-dimensional data refers to data with scalar values assigned to each point in space. This scalar value can be represented as a color by setting the coloring dimension to "COLUMN-4" with the "Gradient" mode.

In fact, there is currently no other way to display four-dimensional data, so it is always used in conjunction with the "COLUMN-4" mode of Gradient.

Ability to Specify Format in the Data File Opening Method

In relation to the array passing of four-dimensional data that we mentioned above, we have also made some small extensions to the methods for opening data files.

Specifically, we have added the following extended versions of the 'openDataFile' and 'openDataFiles' methods in the 'RinearnGraph3D' class:

With the newly added 'format' or 'formats' arguments (which are optional), you can now explicitly specify the format of the data file. This extension is mainly aimed at opening files in the four-column format that describe four-dimensional data, without displaying the "format confirmation message" that will be mentioned later.

Previously, the format was automatically determined based on the content of the data file. This approach had no major issues, and in fact, when using RINEARN Graph normally (without Java API), it is likely that many users opened files in the automatic detection mode.

On the other hand, for four-dimensional data, the automatic determination is a bit ambiguous as to "whether it should be considered as four-dimensional data, or as a matrix format". As a result, a confirmation message is displayed to the user, asking them to choose one.

However, when controlling RINEARN Graph with Java language and performing automatic processing, it is troublesome to have the confirmation message displayed every time you open a file with four-dimensional data. Therefore, we have made this method extension and made it possible to specify the format explicitly as an argument. By doing so, you can avoid the display of the confirmation message.

Support for String Drawing in Direct Rendering Engine Operation

With the Java API for RINEARN Graph, you have the ability to directly manipulate the rendering engine, allowing you to freely draw points, lines, surfaces, and other elements in 3D space as needed. Please refer to this page for usage instructions.

In the 'RinearnGraph3DRenderer' class, which provides the API for manipulating the rendering engine mentioned above, we have added the following methods to support drawing strings:

Using these methods, you can draw text at any position in the 3D space with any font or size. This is particularly useful when you want to draw auxiliary lines, create custom scales, and more.

Hiding Operation Components on the Side of the Screen

You now have the option to hide operation components located on the side of the screen, such as the bars used to control the length of each axis.

To hide these components, use the following method in the 'RinearnGraph3D' class:

This feature is useful when using RINEARN Graph as a simple 3D drawing panel in Java applications or when integrating it as a component in custom software. In such use cases, you may want to keep the screen interface as clean as possible or limit the user's interactions to a minimum.

Additionally, hiding the menu bar and right-click menu using the 'setMenuVisible(boolean visible)' method is also effective. By doing so, you can create a window that truly gives the impression of being "just a 3D display window," with only the screen visible in the window.

Enhancement of Control Features in VCSSL

Ability to Specify Format in the Function for Opening Data Files

RINEARN Graph 3D can be controlled not only with the Java language but also with the VCSSL programming language. For detailed usage instructions, please refer to this page.

In VCSSL, RINEARN Graph 3D is controlled using the functions provided by the "Graph3D" library.

Within this Graph3D library, we have added new versions of the setGraph3DFile function that support additional arguments for specifying the format when opening data files.

The 'mode' argument is used to specify the format of the data file. For instance, for four-dimensional data, you can use "4COL_CSV" or "4COL_STSV" to open comma-separated or tab/space-separated files, respectively.

The reason for this extension is exactly the same as the reason for extending the openDataFiles method in the Java language API, as mentioned earlier.

Bug Fixes

This version includes fixes for two bugs.

Bug fix for inability to zoom in with certain mouse models

We have resolved a bug where zooming in was not possible with certain mouse models (especially those equipped with a high-resolution sensor on the wheel). Previously, regardless of the rotation direction of the mouse wheel, the behavior always resulted in zooming out.

Please note that this fix does not affect mouse models that did not experience this issue.

Bug fix for unintended activation of the detailed configuration window when loading configuration files

When manually enabling an option, the detailed configuration window would appear. However, when loading a configuration file and the option is automatically enabled as a result, the detailed configuration window should not appear.

Previously, for the "Flat" option, even if it was automatically enabled after loading a configuration file, the detailed configuration window would still appear. We have addressed this issue, and the window no longer appears in such cases.

Acknowledgements

That concludes the updates for Ver.5.6.32.

For the implementation of these features and bug fixes, we received a tremendous amount of cooperation in terms of feedback and validation of the pre-release version from several users. We would like to take this opportunity to express our gratitude once again.

We will keep you informed about future updates in the "News" section!