Open Inventor 2023.2.1 Crack

Fixed Bugs List 2023.2

2023.2.1

Open Inventor 2023.2.1


  • MeshViz
  •  #OIV-4824 Crash in MeshViz PbNonLinearDataMapping::computeColor


     
  • Cache
  •  #OIV-4867 SoText3 : Texture read access violation – CAS-44904


     
  • Core
  •  #OIV-4725 Invalid displayed PoCircle color – CAS-44470


     
  • OpenGL
  •  #OIV-4710 Initializing Open Inventor unsets the current OpenGL device and render contexts – CAS-44389-F6F4


     
  • Selection
  •  #OIV-4588 Crash when selecting an object with SoExtSelection – CAS-43802
     #OIV-4881 Start and finish callback not called on triangle when doing a selection on a extrusion


     
  • Viewer
  •  #OIV-4728 SoRenderAreaCore node doesn't work as expected – CAS-44389-F6F4
     #OIV-4798 Qt Viewers - SoEvent::wasButton1Down() incorrectly returns FALSE
     #OIV-4814 Crash in SoWinExaminerViewer::processEvent handling keyboard input – CAS-44673


     
  • VolumeViz Readers
  •  #OIV-4163 SoVRSegyFileReader - Fails for SEGY volumes with missing traces inside volume

Release notes Open Inventor 2023.2

Minor version published in September 2023.

Enhancements and new features included in this version:

  • VolumeViz
    • Arbitrary tile size
    • Progress bar on slices
  • New platforms
    • List of supported platforms
    • Open Inventor on .NET6
    • Visual Studio 2022 support
  • RemoteViz
    • Front & back end synchronization
  • MeshVizXLM
    • Color mapping improved in MeshViz XLM
  • Core
    • Minor API changes
    • Reference manual update
  • Compatibility notes
    • C++
    • .NET
    • Java
  • Life cycle events
    • Dropped platforms
    • ImageViz becomes deprecated
    • Misc API and feature deprecation

Open Inventor 2023.2 includes all fixes available in Open Inventor 2023.1


VolumeViz

Arbitrary tile size

A volume data is represented as a set of tiles for out-of-core and multiresolution rendering. In previous releases, each tile had to have the same dimensions in x and y, and had to be a power of 2, e.g., (128,128,128) or (512,512,8). As of 2023.2 the tile dimensions can be 3 different arbitrary values in x, y, and z.

The main benefit of this new feature is the ability to specify tile dimensions equal to the volume dimensions. In that case, the rendering is performed using only a single resolution, i.e., the resolution of the volume without multiresolution. However, this option needs that the volume data fits entirely in the available CPU and GPU memories (see the fields maxMainMemory and maxTexMemory in the class SoLDMResourceParameters). Otherwise, VolumeViz falls back in the classic behavior and creates tiles to support out-of-core rendering.

The tile dimensions are specified by the field SoLDMResourceParameters::tileDimension. If the API is not new in 2023.2 it makes it independent from the tile dimensions specified by the SoVolumeReader::getTileSize() method. This enables to load a tiled dataset (such as LDM file format) with different tile dimensions than the original format to improve the loading time. The SoLDMResourceParameters::tileDimension must be set once the filename is set. That parameter can be push up to the volume dimensions.

Progress bar on slices

On previous versions, the loading progression of the data was only tracked when doing volume rendering. As of 2023.2 version, it is also possible to track data loading progression with slices (see SoOrthoSlice or SoObliqueSlice) or volume skin (see SoVolumeSkin).

See SoVolumeShape::setRenderProgress for detail. Note: the render progress is only taken into account by the classes SoOrthoSlice, SoObliqueSlice and SoVolumeSkin even if their base class SoVolumeShape contains other sub classes.

The example named VolRend has been updated and a progress bar is attached to the loading progression of the volume rendering, the volume skin, and all ortho and oblique slices.

New platforms

List of supported platforms

Until 2022, the system requirements and supported platforms were only specified in the developper zone and were only updated for the latest version of Open Inventor. As of Open Inventor 2023.2, the list of supported/deprecated/dropped platforms and their requirements are now part of the reference manual here.

Furthermore, the system requirements document now includes the requirements of previous versions of Open Inventor.

Open Inventor on .NET6

Open Inventor is available on .NET6 as a preview built in addition to .NET framework 4.7/4.8.

Limitations:

  • As the .NET api of Open Inventor is mostly written in C++ and C++/CLI, some related limitations exist and described here. Thus, any application using some Open Inventor .NET6 assemblies must embed the ijwhost.dll that is delivered in the folder $OIVNETHOME/assemblies/arch-xxx.
  • the native dlls of Open Inventor must be manually copied in the destination folder of your application. As alternative, you can also add to your PATH environment variable $OIVNETHOME/assemblies/arch-xxx.
  • the examples using RemoteViz assembly do not yet work with this version.

Visual Studio 2022 support

A new package of Open Inventor C++ built with Visual Studio 2022 is available in the download pages as of 2023.2 version.

RemoteViz

Front-end & back-end synchronization

Thanks to some javascript libraries for 2D vector drawing, it can be useful and convenient to mix javascript rendering on the front-end with an Open Inventor rendering on the back-end. However, it can be necessary to send information from back-end to front-end in order to synchronize both rendering. For instance, when a javascript circle's center must track a vertex of the 3D scene rendered by Open Inventor. Thus, it is necessary to synchronize front-end and back-end when a simple zoom or pan of the 3D scene leads to a new position of the 3D vertex in the pixel space of the rendering area.

Such type of synchronization can be done by using the following new methods available as of 2023.2 version:

  • RemoteViz::Rendering::RenderArea::setFrameMessage()
  • RemoteViz::Rendering::EncodedFrame::getMessage()

A new example highlights how to synchronize a javascript cirle with the top of a cone.

  • C++: $OIVHOME/examples/source/RemoteViz/FrontBackSync
  • .NET: $OIVNETHOME/examples/source/RemoteViz/FrontBackSync
  • Java: $OIVJHOME/examples/remoteviz/frontbacksync

MeshVizXLM

Color mapping improved in MeshViz XLM

When rendering a structured mesh having PER_NODE data binding, the default interpolations performed by the GPU can lead to display some pixels whose color does not belong to the chosen color map. This new version removes this artifact and all pixels used to render the mesh have only colors that belong to the color map. This new correct behavior may generate significant change in the rendering compared to previous version. That can be noticed when a large number of pixels are used by the render area to represent a cell, for instance when zooming on a single cell that have a large data gradient on its nodes.

The following images show the rendering of a 3D structured mesh where all mesh nodes in its left part have value 0, and all the mesh nodes in its right part have value 100. The color map used is a blue-white-red from 0 to 100. All hexahedron cells in the middle of the mesh have 4 nodes with value 0, and 4 nodes with value 100. Those cells are rendered with unexpected purple pixels before this new version.

Core

Minor API changes

  • In C# API:
    • The method SoAction.EnableElements() is obsolete : Use the EnabledElements property instead.
    • Some methods of the SoVolumeReader class are now deprecated:
      • The method GetBorderFlag() is now obsolete in the class SoVolumeReader. It is only kept in the class SoVRLdmFileBorderReader that is used to read old file format that contains borderFlag.
      • The method GetMinMax(Int32,Int32) is now obsolete and GetMinMax(Int64,Int64) must be used instead.
      • The method SetUserData(Object) is now obsolete and the property UserData must be used instead.
      • The method GetHistogram(Queue) is now obsolete and GetHistogram(IList<long>) must be used instead.
  • In C++ API and Java API:
    • The class SbXfBox3f have 2 new methods computeMaxDistance2() and getClosestPoint().
    • The class SbMatrix3 have 2 new methods det() and inverse().

Reference manual update

The C++ reference manual provided in $OIVHOME/doc/ReferenceManual in the Windows package has change and has a new look and user interface thanks to the latest Doxygen version. The CHM file provided in previous versions has been replaced by a folder containing a list of HTML files. Open the file $OIVHOME/doc/ReferenceManual.html in any browser to see the main page of the reference manual. The following changes can be noticed in the new manual:

  • a new search engine.
  • a different look and style.
  • the document of each class provides a new "list of all members" including all inherited members.
  • a new list of the fields and methods per parent class.

Compatibility notes

The following notes mention the API changes made in this version compared to Open Inventor 2023.1.

C++ API

SoVolumeReader::getSubSlice(const SbBox2i32&, int, void*)
this method has now a default implementation that prints an error message when called.

C# API

The method SoVRLdmFileBorderReader.IsThreadSafe() is removed and replaced by the IsThreadSafe property inherited from SoVolumeReader.

Java API

class com.openinventor.inventor.SbViewVolume
the method getProjectedBbox(com.openinventor.inventor.SbMatrix, com.openinventor.inventor.SbBox3f) is now static

Life cycle events

Dropped platforms

As of Open Inventor 2023.2 the following platforms or devices are no longer supported:

  • AMD GPUs
  • Ubuntu18.04

ImageViz becomes deprecated

ImageViz extension is deprecated as of Open Inventor 2023.2 . ImageViz is still supported and there is no impact when running an application using ImageViz. However warnings are raised when compiling source code that uses a class or a function of ImageViz. The examples using ImageViz have been removed but can be retreived from previous versions.

ImageViz is replaced by the new ImageDev toolkit which provides the same features with the added benefit of a simpler API. More details are available here: developer.imageviz.com and imagedev-software-development-toolkit

Misc API and feature deprecation

The support of the following file format becomes deprecated.

  • VolumeViz JP3D compression
  • PNM (Portable Any Map)
  • PGX (JPEG 2000 Verification Model)
  • RAS (Raster Graphic by SunOS)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/196804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL笔记-第06章_多表查询

视频链接&#xff1a;【MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板】 文章目录 第06章_多表查询1. 一个案例引发的多表连接1.1 案例说明1.2 笛卡尔积&#xff08;或交叉连接&#xff09;的理解1.3 案例分析与问题解决 2. …

C#网络编程UDP程序设计(UdpClient类)

目录 一、UdpClient类 二、示例 1.源码 &#xff08;1&#xff09;Client &#xff08;2&#xff09;Server 2.生成 &#xff08;1&#xff09;先启动服务器&#xff0c;发送广播信息 &#xff08;2&#xff09;再开启客户端接听 UDP是user datagram protocol的简称&a…

BFS求树的宽度——结合数组建树思想算距离

二叉树最大宽度 https://leetcode.cn/problems/maximum-width-of-binary-tree/description/ 1、考虑树的宽度一定是在一层上的所以进行BFS&#xff0c;树的BFS不建议直接使用队列&#xff0c;每次add/offer然后poll/remove&#xff0c;这样子层级关系不好显示。我们可以定义…

MySQL笔记-第05章_排序与分页

视频链接&#xff1a;【MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板】 文章目录 第05章_排序与分页1. 排序数据1.1 排序规则1.2 单列排序1.3 多列排序 2. 分页2.1 背景2.2 实现规则2.3 拓展 第05章_排序与分页 讲师&#…

Apache Sqoop使用

1. Sqoop介绍 Apache Sqoop 是在 Hadoop 生态体系和 RDBMS 体系之间传送数据的一种工具。 Sqoop 工作机制是将导入或导出命令翻译成 mapreduce 程序来实现。在翻译出的 mapreduce 中主要是对 inputformat 和 outputformat 进行定制。 Hadoop 生态系统包括&#xff1a;HDFS、Hi…

Ubuntu20.04安装向日葵、开机自启、解决windows系统远程黑屏(笔记)

这里写目录标题 动机1. Ubuntu20.04 安装向日葵2. 设置开机自启3. 解决windows不可远程的问题4. 大公告成 动机 办公室有个工作站&#xff0c;要比我的笔记本的CPU稍微好一点&#xff0c;用来跑陆面过程。我信心满满的装了个Ubuntu20.04双系统,但是发现向日葵安装不上了。我少…

回溯和分支算法

状态空间图 “图”——状态空间图 例子&#xff1a;农夫过河问题——“图”状态操作例子&#xff1a;n后问题、0-1背包问题、货郎问题(TSP) 用向量表示解&#xff0c;“图”由解向量扩张得到的解空间树。 ——三种图&#xff1a;n叉树、子集树、排序树 ​ 剪枝 不满住条件的…

时间序列数据压缩算法简述

本文简单介绍了时间序列压缩任务的来源&#xff0c;压缩算法的分类&#xff0c;并对常见压缩算法的优缺点进行了简介&#xff0c;爱码士们快来一探究竟呀&#xff01; 引言 时间序列数据是在许多应用程序和领域中生成的一种基本数据类型&#xff0c;例如金融、医疗保健、交通和…

基于Python手把手教你实现flappy bird游戏

目录 前言开始前的准备工作进入正题结束语 前言 想必玩过游戏的都知道&#xff0c;Flappy Bird是一款简单却富有挑战性的经典的小鸟飞行游戏&#xff0c;让许多玩家为之痴迷&#xff0c;而作为开发者&#xff0c;那肯定要通过技术手段来再做一遍这款经典游戏。那么本文就来通…

春秋云镜:CVE-2022-28512

靶标介绍&#xff1a; Fantastic Blog (CMS)是一个绝对出色的博客/文章网络内容管理系统。它使您可以轻松地管理您的网站或博客&#xff0c;它为您提供了广泛的功能来定制您的博客以满足您的需求。它具有强大的功能&#xff0c;您无需接触任何代码即可启动并运行您的博客。 该…

RPG项目01_技能释放

基于“RPG项目01_新输入输出”&#xff0c; 修改脚本文件夹中的SkillBase脚本&#xff1a; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; //回复技能&#xff0c;魔法技能&#xff0c;物理技能…

java synchronized详解

背景 在多线程环境下同时访问共享资源会出现一些数据问题&#xff0c;此关键字就是用来保证线程安全的解决这一问题。 内存可见的问题 在了解synchronized之前先了解一下java内存模型&#xff0c;如下图&#xff1a; 线程1去主内存获取x的值读入本地内存此时x的值为1&…

3DMM模型

目录 BFMBFM_200901_MorphableModel.matexp_pca.bintopology_info.npyexp_info.npy BFM BFM_2009 01_MorphableModel.mat from scipy.io import loadmat original_BFM loadmat("01_MorphableModel.mat") # dict_keys: [__header__, __version__, __globals__, # …

视频剪辑转码:mp4批量转成wmv视频,高效转换格式

在视频编辑和处理的领域&#xff0c;转换格式是一项常见的任务。在某些编辑和发布工作中&#xff0c;可能需要使用WMV格式。提前将素材转换为WMV可以节省在编辑过程中的时间和精力。从MP4到WMV的批量转换&#xff0c;不仅能使视频素材在不同的平台和设备上得到更好的兼容性&…

LoadBalancer将服务暴露到外部实现负载均衡Openelb-layer2模式配置介绍

目录 一.openelb简介 二.主要介绍layer2模式 1.简介 2.原理 3.部署 &#xff08;1&#xff09;先在集群master上开启kube-proxy的strictARP &#xff08;2&#xff09;应用下载openelb.yaml&#xff08;需要修改镜像地址&#xff09; &#xff08;3&#xff09;编写yam…

密集书库是什么意思?图书馆密集书库的书可以借出吗

密集书库是一种用于存储大量书籍和资料的高密度储存设施。它通常包括一系列钢制书架和可移动的储存架&#xff0c;使得书籍可以被紧密地排列和存储&#xff0c;以最大程度地利用存储空间。同时&#xff0c;密集书库还有各种自动化系统&#xff0c;如自动化取书系统、气候控制系…

安卓apk抓包(apk抓不到包怎么办)

起因 手机&#xff08;模拟器&#xff09;有时候抓不到apk的包&#xff0c;需要借助Postern设置一个代理&#xff0c;把模拟器的流量代理到物理机的burp上。 解决方案 使用Postern代理&#xff0c;把apk的流量代理到burp。 Postern是一个用于代理和网络流量路由的工具&#xf…

Linux Namespace技术

对应到容器技术&#xff0c;为了隔离不同类型的资源&#xff0c;Linux 内核里面实现了以下几种不同类型的 namespace。 UTS&#xff0c;对应的宏为 CLONE_NEWUTS&#xff0c;表示不同的 namespace 可以配置不同的 hostname。User&#xff0c;对应的宏为 CLONE_NEWUSER&#xf…

骨传导耳机会影响听力么?盘点骨传导耳机的好处与坏处都有哪些?

先说结论&#xff0c;使用骨传导耳机是不会影响听力的&#xff01;并且由于骨传导耳机的特殊传声原理&#xff0c;相比于传统的入耳式耳机&#xff0c;骨传导耳机拥有更多的优点&#xff0c;下面带大家了解一下骨传导耳机的优点和缺点都有哪些。 一、骨传导耳机的优点是什么&a…

kubectl获取ConfigMap导出YAML时如何忽略某些字段

前言&#xff1a; 当我们在使用Kubernetes时&#xff0c;常常需要通过kubectl命令行工具来管理资源。有时我们也想将某个资源的配置导出为YAML文件&#xff0c;这样做有助于版本控制和资源的迁移。然而&#xff0c;默认情况下&#xff0c;使用kubectl get命令导出资源配置会包…