Справочник 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 подпакет содержит внутренние импортёры/экспортеры и обычно не импортируется напрямую.
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() в качестве основных точек входа ввода/вывода. |
Node | Именованный узел в иерархии сцены. Содержит список дочерних узлов и список присоединённых Entity объектов, таких как меши, камеры и источники света. Содержит локальный Transform. |
Entity | Абстрактный базовый класс для всех объектов, которые могут быть присоединены к Node. Предоставляет имя и идентичность, но не имеет собственной геометрии. |
SceneObject | Базовый класс, общий для Node и Entity. Предоставляет интерфейс коллекции свойств, используемый для пользовательских метаданных. |
A3DObject | Корневой базовый класс для всех управляемых объектов Aspose.3D. Открывает свойство name и Properties коллекция. |
INamedObject | Интерфейс, который гарантирует 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 | Материал Physically Based Rendering. Хранит альбедо, коэффициент металличности, коэффициент шероховатости, эмиссионный цвет, прозрачность и связанные текстуры. Используется в 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 | Внутренняя абстракция ввода/вывода, используемая импортёрами и экспортёрами форматов. Обычно не используется напрямую кодом приложения. |
LoadOptions | Базовый класс для всех объектов параметров загрузки, специфичных для формата. Является базой для ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions. |
SaveOptions | Базовый класс для всех объектов параметров сохранения, специфичных для формата. Является базой для ObjSaveOptions, StlSaveOptions, GltfSaveOptions. |
Формат OBJ
| Example | Example |
|---|
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
| 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 недоступен в FOSS-издании Java.
| 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 | Опции программного растеризования при рендеринге сцены в буфер изображения. Сохраняет цвет фона, размеры изображения и ссылку на камеру. Эта функция доступна в поддерживаемых конфигурациях. |
См. также