API довідка для aspose-3d-foss 26.1.0 (Java 21+, ліцензія MIT).
Усі класи розташовані в com.aspose.threed кореневому пакеті. Кореневий імпорт:
Структура пакету: Майже всі публічні класи знаходяться в com.aspose.threed. Єдиний підпакет, який зазвичай використовується, це com.aspose.threed.shading (для PbrMaterial). Це com.aspose.threed.formats sub-package містить внутрішні імпортери/експортери і зазвичай не імпортується безпосередньо.
Java правило іменування: Усі властивості використовують методи getter/setter. Наприклад, використовуйте node.getTransform() замість node.transform, і transform.setTranslation(...) замість transform.translation = .... Зауважте, що Vector3, Vector4, Quaternion, Matrix4, і FVector типи використовують публічні поля (v.x, v.y, v.z) замість геттерів для доступу до компонентів.
Основний граф сцени
| Example | Example |
|---|
Scene | Контейнер верхнього рівня для всіх 3D-даних сцени. Містить кореневий вузол, метадані активів та анімаційні кліпи. Надає fromFile(), open(), і save() як основні точки входу I/O. |
Node | Іменований вузол у ієрархії сцени. Містить список дочірніх вузлів і список приєднаних Entity об’єктів, таких як сітки, камери та освітлення. Містить локальний Transform. |
Entity | Абстрактний базовий клас для всіх об’єктів, які можуть бути приєднані до Node. Надає ім’я та ідентифікатор, але не має власної геометрії. |
SceneObject | Базовий клас, спільний для Node та Entity. Надає інтерфейс колекції властивостей, що використовується для метаданих, визначених користувачем. |
A3DObject | Кореневий базовий клас для всіх керованих об’єктів Aspose.3D. Надає властивість name та the Properties колекція. |
INamedObject | Інтерфейс, який гарантує a getName() метод. Реалізовано в Node, Entity, і кілька типів дескрипторів, специфічних для формату. |
Геометрія та сітка
| Example | Example |
|---|
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 (масив значень плюс окремий масив індексів). |
Трансформація та простір
| Example | Example |
|---|
Transform | Локальне перетворення, прикріплене до Node. Забезпечує переміщення, обертання (як Quaternion), та компоненти масштабування, а також зручні методи для кутів Ейлера. |
GlobalTransform | Тільки для читання представлення просторового перетворення вузла після композиції всіх перетворень предків. Доступно через node.getGlobalTransform(). |
AssetInfo | Блок метаданих, прикріплений до Scene. Зберігає назву програми-автора, назву одиниці, коефіцієнт масштабування одиниці, визначення осей системи координат та часові мітки створення/модифікації. |
Матеріали та шейдинг
| Example | Example |
|---|
Material | Абстрактний базовий клас для всіх типів матеріалів. Забезпечує назву та колекцію властивостей для числових та кольорових параметрів. |
PbrMaterial | Матеріал фізично‑основного рендерингу. Зберігає альбедо, металевий фактор, фактор шорсткості, емісійний колір, прозорість та пов’язані текстури. Використовується у glTF 2.0 та інших форматах, що підтримують PBR. Імпорт: com.aspose.threed.shading.PbrMaterial. |
Example
| Example | Example |
|---|
Camera | Сутність камери. Наслідує від Entity. У випуску Java FOSS не розкриваються специфічні для формату властивості, окрім успадкованої назви та колекції властивостей. Прикріплено до Node для визначення трансформувань точки зору. |
Примітка: Example Light клас недоступний у випуску Java Aspose.3D FOSS. Дані освітлення сцени з імпортованих файлів зберігаються як загальні Entity об’єкти.
Математичні утиліти
| Example | Example |
|---|
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(). |
Matrix4 | 4x4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions. |
BoundingBox | Прямокутна обмежувальна коробка, орієнтована за осями, визначена getMinimum() і getMaximum() Vector3 кутки. Використовується для просторових запитів та допоміжних засобів відсікання фрустума. |
Example
| Example | Example |
|---|
AnimationClip | Названий контейнер для діапазону анімації. A Scene може містити кілька кліпів (наприклад, “Walk”, “Run”). Заглушка оголошення — дані ключових кадрів та відтворення ще не реалізовані. |
Ввід/вивід форматів
| Example | Example |
|---|
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
| Example | Example |
|---|
ObjImporter | Внутрішній клас-імпортер, який аналізує файли Wavefront OBJ та MTL. Викликається автоматично by Scene.fromFile() для .obj розширень. |
ObjLoadOptions | Параметри завантаження для файлів Wavefront OBJ. Ключові властивості: setFlipCoordinateSystem(), setScale(), setEnableMaterials(), setNormalizeNormal(). |
ObjSaveOptions | Параметри збереження для виводу Wavefront OBJ. Керує нормалями, UV‑координатами, посиланнями на матеріали та режимом хмари точок. |
ObjFormat | Опис формату для Wavefront OBJ. Доступний як FileFormat.WAVEFRONT_OBJ(). |
Формат STL
| Example | Example |
|---|
StlImporter | Внутрішній імпортер, який читає як бінарні, так і ASCII STL‑файли. Вибирається автоматично за розширенням. |
StlExporter | Внутрішній експортер, який записує STL. |
StlLoadOptions | Параметри завантаження для STL‑файлів. Підтримує setFlipCoordinateSystem(), setRecalculateNormal(), і setContentType(). |
StlSaveOptions | Параметри збереження для виводу STL. Керування setFlipCoordinateSystem(), setAxisSystem(), і setContentType(). |
StlFormat | Опис формату для STL. |
Формат glTF
| Example | Example |
|---|
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-версії.
| Example | Example |
|---|
FbxLoadOptions | Параметри завантаження для файлів FBX. Ключова властивість: setFlipCoordinateSystem(). |
FbxFormat | Опис формату для FBX. Доступний як FileFormat.FBX7400ASCII(). |
Example
| Example | Example |
|---|
Axis | Визначає координатну вісь: X_AXIS, Y_AXIS, Z_AXIS. Використовується в параметрах переналаштування системи координат. |
CoordinateSystem | Вказує конвенцію правосторонності: RIGHT_HANDED або LEFT_HANDED. |
TextureMapping | Визначає, як текстура відображається на геометрію: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, тощо. |
BooleanOperation | Тип булевої операції CSG: UNION, DIFFERENCE, INTERSECTION. |
Система властивостей
| Example | Example |
|---|
Property | Одна іменована типізована властивість у A3DObject. Зберігає назву властивості, дескриптор типу та поточне значення. |
PropertyCollection | Ітерабельна колекція Property об’єкти, приєднані до A3DObject. Підтримує пошук за назвою та ітерацію по всіх визначених властивостях. |
CustomObject | Легковаговий A3DObject підклас, який містить лише назву та довільний PropertyCollection. Використовується для зберігання користувацьких метаданих у об’єктах сцени. |
Зображення та рендеринг
| Example | Example |
|---|
ImageRenderOptions | Параметри програмної растеризації під час рендерингу сцени у буфер зображення. Зберігає колір фону, розміри зображення та посилання на камеру. Ця функція доступна у підтримуваних конфігураціях. |
Див. також