Aspose.3D FOSS for Java

Referencja API dla aspose-3d-foss 26.1.0 (Java 21+, licencja MIT).

Wszystkie klasy znajdują się w com.aspose.threed pakiecie głównym. Import główny to:

import com.aspose.threed.*;

Układ pakietów: Prawie wszystkie klasy publiczne znajdują się w com.aspose.threed. Jedynym podpakietem zazwyczaj używanym jest com.aspose.threed.shading (dla PbrMaterial). Pakiet com.aspose.threed.formats podpakiet zawiera wewnętrzne importery/eksporterzy i zazwyczaj nie jest importowany bezpośrednio.

Java konwencja nazewnictwa: Wszystkie właściwości używają metod getter/setter. Na przykład, użyj node.getTransform() zamiast node.transform, oraz transform.setTranslation(...) zamiast transform.translation = .... Należy zauważyć, że Vector3, Vector4, Quaternion, Matrix4, oraz FVector typy używają publiczne pola (v.x, v.y, v.z) zamiast getterów do dostępu do komponentów.


Podstawowy graf sceny

EnumerationsEnumerations
SceneKontener najwyższego poziomu dla wszystkich danych sceny 3D. Przechowuje węzeł główny, metadane zasobów i klipy animacji. Udostępnia fromFile(), open(), i save() jako główne punkty wejścia/wyjścia.
NodeNazwany węzeł w hierarchii sceny. Posiada listę węzłów potomnych oraz listę dołączonych Entity obiekty takie jak siatki, kamery i światła. Przenosi lokalne Transform.
EntityAbstrakcyjna klasa bazowa dla wszystkich obiektów, które mogą być dołączone do Node. Dostarcza nazwę i tożsamość, ale nie posiada własnej geometrii.
SceneObjectKlasa bazowa współdzielona przez Node i Entity. Dostarcza interfejs kolekcji właściwości używany do metadanych definiowanych przez użytkownika.
A3DObjectPodstawowa klasa bazowa dla wszystkich zarządzanych obiektów Aspose.3D. Udostępnia właściwość nazwy oraz Properties kolekcję.
INamedObjectInterfejs, który gwarantuje a getName() metodę. Implementowany przez Node, Entity, oraz kilka typów deskryptorów specyficznych dla formatu.

Geometria i siatka

EnumerationsEnumerations
MeshEncja siatki wielokątnej. Przechowuje punkty kontrolne (pozycje wierzchołków jako Vector4), listy ścian wielokątów (listy indeksów punktów kontrolnych) oraz warstwy elementów wierzchołka (normale, UV, kolory wierzchołków).
GeometryAbstrakcyjna baza dla typów geometrii podobnych do siatek. Definiuje tablicę punktów kontrolnych oraz kolekcję VertexElement warstw. Mesh dziedziczy po Geometry.
VertexElementAbstrakcyjna baza dla warstwy danych dołączonej do geometrii (normale, UV, kolory, itp.). Przenosi getMappingMode(), getReferenceMode(), oraz listę danych.
VertexElementNormalPrzechowuje jeden wektor normalny na wierzchołek lub na róg wielokąta, w zależności od trybu mapowania. Wartości danych są Vector4 instancje z w nieużywane.
VertexElementUVPrzechowuje pary współrzędnych tekstury (Vector2) na wierzchołek lub na róg wielokąta. Siatka może zawierać wiele warstw UV dla różnych kanałów tekstury.
VertexElementVertexColorPrzechowuje dane koloru RGBA na wierzchołek lub na róg jako Vector4 (r, g, b, a w zakresie 0–1).
VertexElementTypeWyliczenie identyfikujące semantyczną rolę warstwy elementu wierzchołka: NORMAL, UV, VERTEX_COLOR, i inne. Przekaż wartości do Mesh.getElement().
MappingModeWyliczenie kontrolujące, do którego prymitywu mapuje się wartość elementu wierzchołka: CONTROL_POINT, POLYGON_VERTEX, lub POLYGON.
ReferenceModeWyliczenie kontrolujące sposób indeksowania wartości: DIRECT (jedna wartość na prymityw mapowania) lub INDEX_TO_DIRECT (tablica wartości plus osobna tablica indeksów).

Transformacje i przestrzeń

EnumerationsEnumerations
TransformLokalna transformacja dołączona do Node. Dostarcza translację, rotację (jako Quaternion), oraz komponenty skalowania, plus wygodne metody dla kątów Eulera.
GlobalTransformWidok tylko do odczytu transformacji w przestrzeni świata węzła po złożeniu wszystkich transformacji przodków. Dostępny poprzez node.getGlobalTransform().
AssetInfoBlok metadanych dołączony do Scene. Przechowuje nazwę aplikacji autorskiej, nazwę jednostki, współczynnik skali jednostki, definicje osi systemu współrzędnych oraz znaczniki czasu utworzenia/modyfikacji.

Materiały i cieniowanie

EnumerationsEnumerations
MaterialAbstrakcyjna klasa bazowa dla wszystkich typów materiałów. Dostarcza nazwę oraz kolekcję właściwości dla parametrów numerycznych i kolorów.
PbrMaterialMateriał renderingu opartego na fizyce (Physically Based Rendering). Przechowuje albedo, współczynnik metaliczności, współczynnik szorstkości, kolor emisji, przezroczystość oraz powiązane tekstury. Używany przez glTF 2.0 i inne formaty obsługujące PBR. Import: com.aspose.threed.shading.PbrMaterial.

Enumerations

EnumerationsEnumerations
CameraEncja kamery. Dziedziczy po Entity. Żadne właściwości specyficzne dla formatu nie są udostępniane w edycji Java FOSS poza odziedziczoną nazwą i kolekcją właściwości. Dołączone do a Node w celu zdefiniowania transformacji punktu widzenia.

Uwaga: Enumerations Light klasa nie jest dostępna w edycji Java Aspose.3D FOSS. Dane oświetlenia sceny z importowanych plików są przechowywane jako ogólne Entity obiekty.


Narzędzia matematyczne

EnumerationsEnumerations
Vector2Wektor 2-składnikowy podwójnej precyzji (x, y). Używany do współrzędnych tekstury UV.
Vector3Wektor 3-składnikowy podwójnej precyzji (x, y, z). Używany do pozycji, kierunków i skali.
Vector4Wektor 4-składnikowy podwójnej precyzji (x, y, z, w). Używany do punktów kontrolnych (pozycje jednorodne) i danych normalnych.
FVector3Jednowymiarowy wektor float o precyzji pojedynczej i 3 komponentach. Pojawia się w tablicach danych elementów wierzchołków dla normalnych i stycznych.
FVector4Jednowymiarowy wektor float o precyzji pojedynczej i 4 komponentach. Typ przechowywania VertexElementFVector danych.
QuaternionJednostkowy kwaternion do reprezentacji obrotów (w, x, y, z). Używany przez Transform.getRotation().
Matrix44x4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions.
BoundingBoxAxis-aligned bounding box zdefiniowany przez getMinimum() oraz getMaximum() Vector3 wierzchołki. Używany do zapytań przestrzennych i pomocników przy frustum culling.

Enumerations

EnumerationsEnumerations
AnimationClipNazwany kontener dla zakresu animacji. A Scene może zawierać wiele klipów (np. “Walk”, “Run”). Szkic deklaracji — dane klatek kluczowych i odtwarzanie nie są jeszcze zaimplementowane.

Wejście/wyjście formatów

EnumerationsEnumerations
Scene.fromFile(path)Metoda statyczna. Otwiera plik pod adresem path, wykrywa format na podstawie rozszerzenia i zwraca wypełniony Scene. Rzuca wyjątek, gdy plik nie zostanie znaleziony lub format jest nieobsługiwany.
Scene.open(path, options)Metoda instancyjna. Otwiera plik w istniejącym Scene obiekcie, opcjonalnie używając specyficznego dla formatu LoadOptions podklasy.
Scene.save(path, options)Metoda instancyjna. Serializuje scenę do path używając formatu wywnioskowanego z rozszerzenia, opcjonalnie używając specyficznego dla formatu SaveOptions podklasy.
FileFormatRejestr obsługiwanych formatów plików. Zawiera wpisy takie jak FileFormat.WAVEFRONT_OBJ(), FileFormat.GLTF2(), FileFormat.FBX7400ASCII().
IOServiceWewnętrzna abstrakcja I/O używana przez importery i eksporterzy formatów. Zazwyczaj nie jest używana bezpośrednio w kodzie aplikacji.
LoadOptionsKlasa bazowa dla wszystkich obiektów opcji ładowania specyficznych dla formatu. Rozszerzana przez ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions.
SaveOptionsKlasa bazowa dla wszystkich obiektów opcji zapisu specyficznych dla formatu. Rozszerzana przez ObjSaveOptions, StlSaveOptions, GltfSaveOptions.

Format OBJ

EnumerationsEnumerations
ObjImporterWewnętrzna klasa importera, która parsuje pliki Wavefront OBJ i MTL. Wywoływana automatycznie przez Scene.fromFile() dla .obj rozszerzenia.
ObjLoadOptionsOpcje ładowania dla plików Wavefront OBJ. Kluczowe właściwości: setFlipCoordinateSystem(), setScale(), setEnableMaterials(), setNormalizeNormal().
ObjSaveOptionsOpcje zapisu dla wyjścia Wavefront OBJ. Kontroluje wektory normalne, UV, odniesienia do materiałów oraz tryb chmury punktów.
ObjFormatDeskryptor formatu dla Wavefront OBJ. Dostępny jako FileFormat.WAVEFRONT_OBJ().

Format STL

EnumerationsEnumerations
StlImporterWewnętrzny importer, który odczytuje zarówno binarne, jak i ASCII pliki STL. Wybierany automatycznie na podstawie rozszerzenia.
StlExporterWewnętrzny eksporter zapisujący pliki STL.
StlLoadOptionsOpcje ładowania dla plików STL. Obsługuje setFlipCoordinateSystem(), setRecalculateNormal(), oraz setContentType().
StlSaveOptionsOpcje zapisu dla wyjścia STL. Kontroluje setFlipCoordinateSystem(), setAxisSystem(), oraz setContentType().
StlFormatDeskryptor formatu dla STL.

Format glTF

EnumerationsEnumerations
GltfLoadOptionsOpcje ładowania dla plików glTF 2.0 i GLB. Kluczowe właściwości: setFlipCoordinateSystem(), setPrettyPrint().
GltfSaveOptionsOpcje zapisu dla wyjścia glTF 2.0 i GLB. Użyj setContentType(FileContentType.BINARY) aby wygenerować samodzielny .glb pakiet.
GltfFormatDeskryptor formatu dla glTF 2.0 / GLB. Dostępny jako FileFormat.GLTF2().

Format FBX

FBX jest obsługiwany dla tylko import. Eksport do FBX nie jest dostępny w edycji Java FOSS.

EnumerationsEnumerations
FbxLoadOptionsOpcje ładowania plików FBX. Kluczowa właściwość: setFlipCoordinateSystem().
FbxFormatDeskryptor formatu dla FBX. Dostępny jako FileFormat.FBX7400ASCII().

Enumerations

EnumerationsEnumerations
AxisIdentyfikuje oś współrzędnych: X_AXIS, Y_AXIS, Z_AXIS. Używane w opcjach przemapowywania układu współrzędnych.
CoordinateSystemOkreśla konwencję praworęczności: RIGHT_HANDED lub LEFT_HANDED.
TextureMappingOkreśla, jak tekstura jest mapowana na geometrię: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, itp.
BooleanOperationTyp operacji logicznej CSG: UNION, DIFFERENCE, INTERSECTION.

System właściwości

EnumerationsEnumerations
PropertyPojedyncza nazwana typowana właściwość w A3DObject. Przechowuje nazwę właściwości, deskryptor typu i bieżącą wartość.
PropertyCollectionIterowalna kolekcja Property obiekty dołączone do A3DObject. Obsługuje wyszukiwanie po nazwie oraz iterację po wszystkich zdefiniowanych właściwościach.
CustomObjectLekka A3DObject klasa podrzędna, która zawiera tylko nazwę i dowolny PropertyCollection. Używana do przechowywania metadanych definiowanych przez użytkownika na obiektach sceny.

Obraz i renderowanie

EnumerationsEnumerations
ImageRenderOptionsOpcje rasteryzacji programowej podczas renderowania sceny do bufora obrazu. Przechowuje kolor tła, wymiary obrazu oraz odniesienie do kamery. Ta funkcja jest dostępna w obsługiwanych konfiguracjach.

Zobacz także

 Polski