Aspose.3D FOSS for Java

API справка за aspose-3d-foss 26.1.0 (Java 21+, MIT лиценз).

Всички класове се намират в com.aspose.threed кореновия пакет. Кореновият импорт е:

import com.aspose.threed.*;

Структура на пакета: Почти всички публични класове са в com.aspose.threed. Единственият под‑пакет, който обикновено се използва, е com.aspose.threed.shading (за PbrMaterial). Това com.aspose.threed.formats подпакетът съдържа вътрешни импортери/експортери и обикновено не се импортира директно.

Java конвенция за именуване: Всички свойства използват getter/setter методи. Например, използвайте node.getTransform() вместо node.transform, и transform.setTranslation(...) вместо transform.translation = .... Обърнете внимание, че Vector3, Vector4, Quaternion, Matrix4, и FVector типове използват публични полета (v.x, v.y, v.z) вместо гетъри за достъп до компоненти.


Основен граф на сцената

EnumerationsEnumerations
SceneКонтейнер от най-високо ниво за всички 3D данни на сцената. Съдържа кореновия възел, метаданните на активите и анимационните клипове. Предоставя fromFile(), open(), и save() като основните входни/изходни точки.
NodeИменуван възел в йерархията на сцената. Притежава списък с дъщерни възли и списък с прикрепени Entity обекти като мрежи, камери и светлини. Носи локален Transform.
EntityАбстрактен базов клас за всички обекти, които могат да бъдат прикрепени към Node. Предоставя име и идентичност, но няма собствена геометрия.
SceneObjectБазов клас, споделен от Node и Entity. Предоставя интерфейса за колекция от свойства, използван за потребителски дефинирани метаданни.
A3DObjectКоренов базов клас за всички Aspose.3D управлявани обекти. Излага свойството name и the Properties колекция.
INamedObjectИнтерфейс, който гарантира getName() метод. Реализиран от Node, Entity, и няколко типове дескриптори, специфични за формата.

Геометрия и мрежа

EnumerationsEnumerations
MeshПолигонален мрежов обект. Съхранява контролни точки (позиции на върховете като Vector4), списъци с полигонални лица (списъци с индекси на контролните точки) и слоеве на върховите елементи (нормали, UV координати, цветове на върховете).
GeometryАбстрактна база за типове геометрия, подобни на мрежа. Дефинира масив от контролни точки и колекцията от VertexElement слоеве. Mesh наследява от Geometry.
VertexElementАбстрактна база за слой от данни, прикрепен към геометрия (нормали, UV, цветове и др.). Пренася getMappingMode(), getReferenceMode(), и списък с данни.
VertexElementNormalСъхранява един вектор на нормала за всеки връх или за всеки ъгъл на полигон, в зависимост от режима на картографиране. Стойностите на данните са Vector4 екземпляри с w неизползвани.
VertexElementUVСъхранява двойки текстурни координати (Vector2) за всеки връх или за всеки ъгъл на полигон. Мрежа може да съдържа множество UV слоеве за различни текстурни канали.
VertexElementVertexColorСъхранява данни за цвят RGBA за всеки връх или всеки ъгъл като Vector4 (r, g, b, a в диапазона 0–1).
VertexElementTypeИзброяване, идентифициращо семантичната роля на слой от елемент на връх: NORMAL, UV, VERTEX_COLOR, и други. Предайте стойностите на Mesh.getElement().
MappingModeИзброяване, контролиращо към коя примитивна единица се съпоставя стойността на елемент от връх: CONTROL_POINT, POLYGON_VERTEX, или POLYGON.
ReferenceModeИзброяване, контролиращо начина, по който се индексират стойностите: DIRECT (една стойност за всеки примитив за картографиране) или INDEX_TO_DIRECT (масив от стойности плюс отделен масив от индекси).

Трансформация и пространствени

EnumerationsEnumerations
TransformЛокална трансформация, прикрепена към Node. Предоставя транслация, ротация (като Quaternion), и компоненти за мащаб, плюс удобни методи за ъгли на Юлер.
GlobalTransformПреглед само за четене на трансформацията в световното пространство на възел след комбиниране на всички трансформации на предците. Достъпва се чрез node.getGlobalTransform().
AssetInfoБлок с метаданни, прикрепен към Scene. Съхранява името на приложението за създаване, името на единицата, фактор на мащабиране на единицата, дефинициите на осите на координатната система и времеви отметки за създаване/модифициране.

Материали и шейдинг

EnumerationsEnumerations
MaterialАбстрактен базов клас за всички типове материали. Предоставя име и колекция от свойства за числови и цветови параметри.
PbrMaterialМатериал за физически базирано рендериране. Съхранява албедо, метален фактор, фактор на грубост, емисивен цвят, прозрачност и свързани текстури. Използва се от glTF 2.0 и други формати, поддържащи PBR. Импорт: com.aspose.threed.shading.PbrMaterial.

Enumerations

EnumerationsEnumerations
CameraКамера ентитет. Наследява от Entity. В изданието Java FOSS не се разкриват свойства, специфични за формата, освен наследеното име и колекция от свойства. Прикачен към Node за определяне на трансформациите на гледната точка.

Бележка: Enumerations Light класът не е наличен в изданието Java на Aspose.3D FOSS. Данните за осветление на сцената от импортирани файлове се съхраняват като общи Entity обекти.


Математически помощни функции

EnumerationsEnumerations
Vector2Вектор с двойна точност и 2 компонента (x, y). Използва се за UV текстурни координати.
Vector3Вектор с двойна точност и 3 компонента (x, y, z). Използва се за позиции, посоки и мащаб.
Vector4Вектор с двойна точност и 4 компонента (x, y, z, w). Използва се за контролни точки (хомогенни позиции) и данни за нормали.
FVector3Вектор с единична точност, 3 компонента, тип float. Появява се в масивите с данни за елементите на върховете за нормали и тангенти.
FVector4Вектор с единична точност, 4 компонента, тип float. Типът за съхранение на VertexElementFVector данни.
QuaternionЕдиничен кватернион за представяне на завъртания (w, x, y, z). Използва се от Transform.getRotation().
Matrix44x4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions.
BoundingBoxОразмерена по осите ограничителна кутия, определена от getMinimum() и getMaximum() Vector3 ъгли. Използва се за пространствени заявки и помощни функции за отрязване на фрустум.

Enumerations

EnumerationsEnumerations
AnimationClipИменуван контейнер за анимационен диапазон. A Scene може да съдържа множество клипове (например “Walk”, “Run”). Декларационен шаблон — данните за ключови кадри и възпроизвеждането все още не са реализирани.

Формат I/O

EnumerationsEnumerations
Scene.fromFile(path)Статичен метод. Отваря файла на path, открива формата от разширението и връща попълнен Scene. Хвърля изключение при липсващ файл или неподдържан формат.
Scene.open(path, options)Метод на инстанция. Отваря файл в съществуващ Scene екземпляр, по желание използвайки специфичен за формата LoadOptions подклас.
Scene.save(path, options)Метод на инстанция. Сериализира сцената в path използвайки формата, определен от разширението, по желание използвайки специфичен за формата SaveOptions подклас.
FileFormatРегистър на поддържаните файлови формати. Съдържа записи като FileFormat.WAVEFRONT_OBJ(), FileFormat.GLTF2(), FileFormat.FBX7400ASCII().
IOServiceВътрешна I/O абстракция, използвана от импортерите и експортерите на формати. Обикновено не се използва директно от приложен код.
LoadOptionsБазов клас за всички обекти с опции за зареждане, специфични за формата. Подкласуван от ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions.
SaveOptionsБазов клас за всички обекти с опции за запазване, специфични за формата. Подкласуван от ObjSaveOptions, StlSaveOptions, GltfSaveOptions.

OBJ формат

EnumerationsEnumerations
ObjImporterВътрешен клас за импортиране, който анализира файлове Wavefront OBJ и MTL. Извиква се автоматично от Scene.fromFile() за .obj разширения.
ObjLoadOptionsОпции за зареждане на файлове Wavefront OBJ. Ключови свойства: setFlipCoordinateSystem(), setScale(), setEnableMaterials(), setNormalizeNormal().
ObjSaveOptionsОпции за запазване на изхода Wavefront OBJ. Управлява нормали, UV координати, референции към материали и режим на облак от точки.
ObjFormatДескриптор на формат за Wavefront OBJ. Достъпен като FileFormat.WAVEFRONT_OBJ().

STL формат

EnumerationsEnumerations
StlImporterВътрешен импортер, който чете както бинарни, така и ASCII STL файлове. Избира се автоматично според разширението.
StlExporterВътрешен експортер, който записва STL.
StlLoadOptionsОпции за зареждане на STL файлове. Поддържа setFlipCoordinateSystem(), setRecalculateNormal(), и setContentType().
StlSaveOptionsОпции за запазване за STL изход. Контроли setFlipCoordinateSystem(), setAxisSystem(), и setContentType().
StlFormatДескриптор на формата за STL.

glTF формат

EnumerationsEnumerations
GltfLoadOptionsОпции за зареждане за glTF 2.0 и GLB файлове. Ключови свойства: setFlipCoordinateSystem(), setPrettyPrint().
GltfSaveOptionsОпции за запазване за glTF 2.0 и GLB изход. Използвайте setContentType(FileContentType.BINARY) за създаване на самостоятелен .glb пакет.
GltfFormatДескриптор на формат за glTF 2.0 / GLB. Достъпен като FileFormat.GLTF2().

FBX формат

FBX се поддържа за само за импорт. Експортирането към FBX не е налично в Java FOSS изданието.

EnumerationsEnumerations
FbxLoadOptionsОпции за зареждане на FBX файлове. Ключово свойство: setFlipCoordinateSystem().
FbxFormatДескриптор на формат за FBX. Достъпен като FileFormat.FBX7400ASCII().

Enumerations

EnumerationsEnumerations
AxisИдентифицира координатна ос: X_AXIS, Y_AXIS, Z_AXIS. Използва се в опциите за пренареждане на координатната система.
CoordinateSystemОпределя конвенцията за ръка: RIGHT_HANDED или LEFT_HANDED.
TextureMappingОпределя как текстурата се проектира върху геометрията: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, и т.н.
BooleanOperationТип на CSG булева операция: UNION, DIFFERENCE, INTERSECTION.

Система за свойства

EnumerationsEnumerations
PropertyЕдноименено типизирано свойство на A3DObject. Съхранява името на свойството, дескриптора на типа и текущата стойност.
PropertyCollectionИтерируемо колекция от Property обекти, прикрепени към A3DObject. Поддържа търсене по име и итерация върху всички дефинирани свойства.
CustomObjectЛек A3DObject подклас, който съдържа само име и произволен PropertyCollection. Използва се за съхранение на потребителски дефинирани метаданни върху обекти от сцената.

Изображения и рендер

EnumerationsEnumerations
ImageRenderOptionsОпции за софтуерно растеризиране при рендериране на сцена в буфер за изображение. Съхранява фоновия цвят, размерите на изображението и референцията към камерата. Тази функция е налична в поддържаните конфигурации.

Вижте също

 Български