Просмотрите наши продукты
Aspose.3D for Java 18,9-Сентябрь 2018
Другие улучшения и изменения
Сводка | Категория |
---|---|
Поддержка CancellationToken | Новая функция |
FBX Экспортация-Высокое количество многоугольников | Ошибка |
Важное исключение при открытии огромных файлов FBX | Ошибка |
Не все свойства из глобальных настроек FBX загружаются в AssetInfo | Ошибка |
Публичные API и обратные несовместимые изменения
Просмотрите список любых изменений, внесенных в общедоступный API, таких как добавленные, переименованные, удаленные или устаревшие члены, а также любые несовместимые назад изменения, внесенные в Aspose.3D for Java API API. Если у вас есть опасения по поводу каких-либо изменений, пожалуйста, поднимите их наФорум поддержки Aspose.3D.
API изменения:
Класс com.aspose.threed. В узел добавлено 2 новых метода:
/**
* Per-node asset info
* @param value New value
*/
public void setAssetInfo(com.aspose.threed.AssetInfo);
/**
* Per-node asset info
*/
public com.aspose.threed.AssetInfo getAssetInfo();
Некоторые типы файлов могут иметь информацию об активе для каждого узла. В FBX свойство AssetInfo корневого узла содержит глобальные настройки, определенные в файлах FBX.
Код образца:
//Access GlobalSettings in FBX file, more properties can be found by opening the ASCII FBX files in a text editor.
//And FBXHeaderExtension/SceneInfo inside FBX file will be mapped to Scene.AssetInfo
Scene scene = new Scene("test.fbx");
AssetInfo globalSettings = scene.getRootNode().getAssetInfo();
System.out.println(globalSettings.getProperty("DefaultCamera"));
System.out.println(globalSettings.getProperty("UpAxis"));
System.out.println(globalSettings.getProperty("FrontAxis"));
Класс ‘com.aspose.threed.Scene’ добавил 10 новых методов:
Это все новые перегрузки к исходным методам сохранения/открытия:
Старые методы:
/**
* Opens the scene from given stream using specified file format.
* @param stream Input stream, user is responsible for closing the stream.
* @param format File format.
* @param cancellationToken Cancellation token to the load task
*/
public void open(Stream stream, FileFormat format, Cancellation cancellationToken)
throws ImportException;
/**
* Opens the scene from given stream using specified IO config.
* @param stream Input stream, user is responsible for closing the stream.
* @param options More detailed configuration to open the stream.
* @param cancellationToken Cancellation token to the load task
*/
public void open(Stream stream, LoadOptions options, Cancellation cancellationToken)
throws ImportException;
/**
* Opens the scene from given stream
* @param stream Input stream, user is responsible for closing the stream.
* @param cancellationToken Cancellation token to the load task
*/
public void open(Stream stream, Cancellation cancellationToken)
throws IOException;
/**
* Opens the scene from given path using specified file format.
* @param fileName File name.
* @param format File format.
* @param cancellationToken Cancellation token to the load task
*/
public void open(String fileName, FileFormat format, Cancellation cancellationToken)
throws IOException;
/**
* Opens the scene from given path using specified file format.
* @param fileName File name.
* @param options More detailed configuration to open the stream.
* @param cancellationToken Cancellation token to the load task
*/
public void open(String fileName, LoadOptions options, Cancellation cancellationToken)
throws IOException;
/**
* Opens the scene from given path
* @param fileName File name.
* @param cancellationToken Cancellation token to the load task
*/
public void open(String fileName, Cancellation cancellationToken)
throws IOException;
/**
* Saves the scene to stream using specified file format.
* @param stream Input stream, user is responsible for closing the stream.
* @param format Format.
* @param cancellationToken Cancellation token to the save task
*/
public void save(Stream stream, FileFormat format, Cancellation cancellationToken)
throws ExportException;
/**
* Saves the scene to stream using specified file format.
* @param stream Input stream, user is responsible for closing the stream.
* @param options More detailed configuration to save the stream.
* @param cancellationToken Cancellation token to the save task
*/
public void save(Stream stream, SaveOptions options, Cancellation cancellationToken)
throws ExportException;
/**
* Saves the scene to specified path using specified file format.
* @param fileName File name.
* @param format Format.
* @param cancellationToken Cancellation token to the save task
*/
public void save(String fileName, FileFormat format, Cancellation cancellationToken)
throws IOException;
/**
* Saves the scene to specified path using specified file format.
* @param fileName File name.
* @param options More detailed configuration to save the stream.
* @param cancellationToken Cancellation token to the save task
*/
public void save(String fileName, SaveOptions options, Cancellation cancellationToken)
throws IOException;
Вы можете использовать отмену, чтобы отменить задачу сохранения/открытия в любое время.
Код образца:
final Cancellation cts = new Cancellation();
Thread thread = new Thread(() -> {
try {
Thread.sleep(1000);
cts.cancel();
} catch(InterruptedException e) {
throw new RuntimeException(e);
}
});
thread.start();
Scene scene = new Scene();
try {
scene.open("test.fbx", cts);
System.out.println("Import is done within 1000ms");
} catch(ImportException e) {
if(e.getCause() instanceof CancellationException) {
System.out.println("It takes too long time to import, and we have canceled the importing.");
}
}