Просмотрите наши продукты
Aspose.3D для Java 24.8 Примечания к выпуску
Эта страница содержит информацию об изменениях для Aspose.3D для Java 24.8.
Улучшения и изменения
Key | Summary | Category |
---|---|---|
THREEDNET-1576 | Предоставить пользователю доступ к внутренним утилитам системы координат. | Задача |
THREEDNET-1579 | Реализовать полную поддержку потока XZ | Задача |
THREEDNET-1578 | Метаданные версии JT 9.5 | Улучшение |
THREEDNET-1580 | Добавить поддержку PMI для формата JT 9 | Улучшение |
THREEDNET-1575 | Преобразовано вращение модели GLB | Исправление ошибки |
THREEDNET-1577 | Ошибка «не удается открыть этот файл» для файла 3mf | Исправление ошибки |
Изменения API
Добавлен класс com.aspose.threed.JtLoadOptions
/**
* Загрузить свойства из таблицы свойств JT как свойства Aspose.3D.
* Значение по умолчанию — false.
*
* @return Загрузить свойства из таблицы свойств JT как свойства Aspose.3D.
* Значение по умолчанию — false.
*/
public boolean getLoadProperties()
/**
* Загрузить свойства из таблицы свойств JT как свойства Aspose.3D.
* Значение по умолчанию — false.
*
* @param value Новое значение
*/
public void setLoadProperties(boolean value)
/**
* Загрузить информацию PMI из файла JT, если это возможно, данные будут сохранены как свойство "PMI" в {@link com.aspose.threed.Scene#getAssetInfo}.
* Значение по умолчанию — false.
*
* @return Загрузить информацию PMI из файла JT, если это возможно, данные будут сохранены как свойство "PMI" в {@link com.aspose.threed.Scene#getAssetInfo}.
* Значение по умолчанию — false.
*/
public boolean getLoadPMI()
/**
* Загрузить информацию PMI из файла JT, если это возможно, данные будут сохранены как свойство "PMI" в {@link com.aspose.threed.Scene#getAssetInfo}.
* Значение по умолчанию — false.
*
* @param value Новое значение
*/
public void setLoadPMI(boolean value)
Новый добавленный JtLoadOptions позволяет указать Aspose.3D для разбора метаданных файла JT и сохранения их как стандартные свойства Aspose.3D.
Пример кода
var opt = new JtLoadOptions();
opt.setLoadProperties(true);
var s = Scene.fromFile("test.jt", opt);
for(var prop : s.getRootNode().getChildNodes().get(0).getProperties())
{
System.out.println(prop.getName() + " = " + prop.getValue());
}
Добавлены члены класса com.aspose.threed.AxisSystem:
/**
* Создать матрицу, используемую для преобразования из текущей системы координат в целевую систему координат.
*
* @param targetSystem Целевая система координат
* @return Новая матрица преобразования для выполнения преобразования системы координат
*/
public Matrix4 transformTo(AxisSystem targetSystem)
/**
* Создать {@link com.aspose.threed.AxisSystem} из {@link com.aspose.threed.AssetInfo}
*
* @param assetInfo Из какого asset info читать систему координат, вектор «вверх» и «вперед».
* @return Axis system, содержащая систему координат, «вверх», «вперед» из предоставленного asset info
*/
public static AxisSystem fromAssetInfo(AssetInfo assetInfo)
Пример кода
Новый добавленный метод позволяет создать матрицу преобразования для преобразования вектора из одной системы координат в другую.
Scene scene = Scene.fromFile("test.fbx");
//Создать новую систему координат с вектором вверх к оси +Y и вперед к оси +X.
var target = new AxisSystem(CoordinateSystem.LEFT_HANDED, Axis.Y_AXIS, Axis.X_AXIS);
//Создать матрицу преобразования из текущей системы координат сцены в нашу пользовательскую систему координат
var transform = AxisSystem.fromAssetInfo(scene.getAssetInfo()).transformTo(target);
//Применить преобразование ко всем геометриям в сцене.
PolygonModifier.applyTransform(scene.getRootNode(), transform);
Добавлены члены класса com.aspose.threed.PolygonModifier:
/**
* Применить матрицу преобразования к контрольным точкам всех геометрий
*
* @param node
* @param transform
*/
public static void applyTransform(Node node, Matrix4 transform)
Этот новый метод позволяет применить матрицу ко всем контрольным точкам всех потомков геометрий.
Пример кода
Scene scene = Scene.fromFile("test.fbx");
//Создать новую систему координат с вектором вверх к оси +Y и вперед к оси +X.
var target = new AxisSystem(CoordinateSystem.LEFT_HANDED, Axis.Y_AXIS, Axis.X_AXIS);
//Создать матрицу преобразования из текущей системы координат сцены в нашу пользовательскую систему координат
var transform = AxisSystem.fromAssetInfo(scene.getAssetInfo()).transformTo(target);
//Применить преобразование ко всем геометриям в сцене.
PolygonModifier.applyTransform(scene.getRootNode(), transform);