Aspose.3D FOSS for Java

API referenca za aspose-3d-foss 26.1.0 (Java 21+, MIT licenca).

Sve klase se nalaze u com.aspose.threed korenskom paketu. Korenski import je:

import com.aspose.threed.*;

Raspored paketa: Gotovo sve javne klase su u com.aspose.threed. Jedini pod-paket koji se obično koristi je com.aspose.threed.shading (za PbrMaterial). Podpaket com.aspose.threed.formats sub-paket sadrži interne uvoznike/izvoznike i obično se ne uvozi direktno.

Java konvencija imenovanja: Sva svojstva koriste getter/setter metode. Na primer, koristite node.getTransform() umesto node.transform, i transform.setTranslation(...) umesto transform.translation = .... Napomena da Vector3, Vector4, Quaternion, Matrix4, i FVector tipovi koriste javna polja (v.x, v.y, v.z) umesto getera za pristup komponentama.


Osnovni graf scene

ExampleExample
SceneKontejner najvišeg nivoa za sve 3D podatke scene. Sadrži korenski čvor, metapodatke sredstava i animacione isječke. Izlaže fromFile(), open(), i save() kao primarne I/O ulazne tačke.
NodeNazvani čvor u hijerarhiji scene. Ima listu podčvorova i listu prikačenih Entity objekata kao što su mreže, kamere i svetla. Sadrži lokalni Transform.
EntityApstraktna osnovna klasa za sve objekte koji se mogu prikačiti na Node. Pruža ime i identitet, ali nema sopstvenu geometriju.
SceneObjectOsnovna klasa koju dele Node i Entity. Pruža interfejs za kolekciju svojstava koji se koristi za metapodatke definisane od strane korisnika.
A3DObjectOsnovna korenska klasa za sve Aspose.3D upravljane objekte. Izlaže svojstvo ime i the Properties kolekcija.
INamedObjectInterfejs koji garantuje getName() metod. Implementirano od strane Node, Entity, i nekoliko tipova opisivača specifičnih za format.

Geometrija i mreža

ExampleExample
MeshEntitet poligonalne mreže. Čuva kontrolne tačke (pozicije vrhova kao Vector4), liste poligonalnih površina (liste indeksa kontrolnih tačaka), i slojeve elemenata vrhova (normale, UV‑ovi, boje vrhova).
GeometryApstraktna baza za tipove geometrije slične mreži. Definiše niz kontrolnih tačaka i kolekciju VertexElement slojeva. Mesh nasleđuje od Geometry.
VertexElementApstraktna baza za sloj podataka prikačen geometriji (normale, UV‑ovi, boje, itd.). Nosilac getMappingMode(), getReferenceMode(), i listu podataka.
VertexElementNormalČuva jedan vektor normale po vrhu ili po uglu poligona, u zavisnosti od režima mapiranja. Vrednosti podataka su Vector4 instance sa w neiskorišćeno.
VertexElementUVČuva parove teksturnih koordinata (Vector2) po vrhu ili po uglu poligona. Mreža može nositi više UV slojeva za različite teksturne kanale.
VertexElementVertexColorČuva RGBA podatke o boji po vrhu ili po uglu kao Vector4 (r, g, b, a u opsegu 0–1).
VertexElementTypeEnumeracija koja identifikuje semantičku ulogu sloja elementa vrha: NORMAL, UV, VERTEX_COLOR, i ostali. Prosledite vrednosti u Mesh.getElement().
MappingModeEnumeracija koja kontroliše na koji primitiv se vrednost elementa vrha mapira: CONTROL_POINT, POLYGON_VERTEX, ili POLYGON.
ReferenceModeEnumeracija koja kontroliše kako se vrednosti indeksiraju: DIRECT (jedna vrednost po primitivu mapiranja) ili INDEX_TO_DIRECT (niz vrednosti plus poseban niz indeksa).

Transformacija i prostorni

ExampleExample
TransformLokalna transformacija prikačena na a Node. Pruža translaciju, rotaciju (kao Quaternion), i komponente skaliranja, plus praktične metode za Eulerove uglove.
GlobalTransformSamo za čitanje prikaz transformacije čvora u svetskom prostoru nakon sastavljanja svih transformacija pretka. Pristupa se putem node.getGlobalTransform().
AssetInfoBlok metapodataka prikačen na a Scene. Čuva naziv aplikacije za autorstvo, naziv jedinice, faktor skaliranja jedinice, definicije osa koordinatnog sistema i vremenske oznake kreiranja/izmene.

Materijali i senčenje

ExampleExample
MaterialApstraktna bazna klasa za sve tipove materijala. Pruža ime i kolekciju svojstava za numeričke i parametre boje.
PbrMaterialMaterijal zasnovan na fizički zasnovanom renderovanju. Čuva albedo, metalni faktor, faktor hrapavosti, emisijsku boju, prozirnost i pridružene teksture. Koristi se u glTF 2.0 i drugim formatima koji podržavaju PBR. Uvoz: com.aspose.threed.shading.PbrMaterial.

Example

ExampleExample
CameraEntitet kamere. Nasleđuje od Entity. Nema svojstava specifičnih za format koja su izložena u Java FOSS izdanju, osim nasleđenog imena i kolekcije svojstava. Prikačen na Node da definiše transformacije pogleda.

Napomena: Example Light klasa nije dostupna u Java izdanju Aspose.3D FOSS. Podaci o osvetljenju scene iz uvezenih fajlova se čuvaju kao generički Entity objekti.


Matematički alati

ExampleExample
Vector2Vektor dvostruke preciznosti sa 2 komponente (x, y). Koristi se za UV teksturne koordinate.
Vector3Vektor od 3 komponente dvostruke preciznosti (x, y, z). Koristi se za pozicije, pravce i skalu.
Vector4Vektor od 4 komponente dvostruke preciznosti (x, y, z, w). Koristi se za kontrolne tačke (homogena pozicije) i normalne podatke.
FVector3Vektor od 3 komponente jednostruke preciznosti. Pojavljuje se u nizovima podataka elementa vrha za normale i tangente.
FVector4Vektor od 4 komponente jednostruke preciznosti. Tip skladištenja za VertexElementFVector podaci.
QuaternionJedinični kvaternion za predstavljanje rotacija (w, x, y, z). Koristi se od strane Transform.getRotation().
Matrix44x4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions.
BoundingBoxOkvir poravnat na ose definisan od getMinimum() i getMaximum() Vector3 uglova. Koristi se za prostorne upite i pomoćne alate za frustum culling.

Example

ExampleExample
AnimationClipImenovani kontejner za opseg animacije. A Scene može sadržati više klipova (npr., „Walk“, „Run“). Deklaracioni stub — podaci ključnih frejmova i reprodukcija još nisu implementirani.

U/I formata

ExampleExample
Scene.fromFile(path)Statička metoda. Otvara fajl na path, otkriva format iz ekstenzije i vraća popunjen Scene. Baca izuzetak ako fajl nije pronađen ili format nije podržan.
Scene.open(path, options)Instanca metoda. Otvara fajl u postojeću Scene instancu, opcionalno koristeći format-specifičan LoadOptions podklasu.
Scene.save(path, options)Instancna metoda. Serijalizuje scenu u path koristeći format izvučen iz ekstenzije, po želji koristeći format‑specifičan SaveOptions podklasu.
FileFormatRegistar podržanih formata fajlova. Sadrži unose kao što su FileFormat.WAVEFRONT_OBJ(), FileFormat.GLTF2(), FileFormat.FBX7400ASCII().
IOServiceInterna I/O apstrakcija koju koriste uvoznici i izvoznici formata. Obično se ne koristi direktno u kodu aplikacije.
LoadOptionsOsnovna klasa za sve objekte opcija učitavanja specifične za format. Podklasirana od strane ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions.
SaveOptionsOsnovna klasa za sve objekte opcija čuvanja specifične za format. Podklasirana od strane ObjSaveOptions, StlSaveOptions, GltfSaveOptions.

OBJ format

ExampleExample
ObjImporterInterna klasa uvoznika koja parsira Wavefront OBJ i MTL fajlove. Automatski se poziva od strane Scene.fromFile() za .obj ekstenzije.
ObjLoadOptionsOpcije učitavanja za Wavefront OBJ fajlove. Ključna svojstva: setFlipCoordinateSystem(), setScale(), setEnableMaterials(), setNormalizeNormal().
ObjSaveOptionsOpcije čuvanja za Wavefront OBJ izlaz. Kontroliše normale, UV koordinate, reference materijala i režim oblaka tačaka.
ObjFormatOpis formata za Wavefront OBJ. Dostupan kao FileFormat.WAVEFRONT_OBJ().

STL format

ExampleExample
StlImporterInterni uvoznik koji čita i binarne i ASCII STL fajlove. Automatski se bira prema ekstenziji.
StlExporterInterni izvoznik koji piše STL.
StlLoadOptionsOpcije učitavanja za STL fajlove. Podržava setFlipCoordinateSystem(), setRecalculateNormal(), i setContentType().
StlSaveOptionsOpcije čuvanja za STL izlaz. Kontrole setFlipCoordinateSystem(), setAxisSystem(), i setContentType().
StlFormatOpis formata za STL.

glTF format

ExampleExample
GltfLoadOptionsOpcije učitavanja za glTF 2.0 i GLB fajlove. Ključna svojstva: setFlipCoordinateSystem(), setPrettyPrint().
GltfSaveOptionsOpcije čuvanja za glTF 2.0 i GLB izlaz. Koristite setContentType(FileContentType.BINARY) da proizvedete samostalni .glb paket.
GltfFormatOpis formata za glTF 2.0 / GLB. Dostupan kao FileFormat.GLTF2().

FBX format

FBX je podržan za samo uvoz. Izvoz u FBX nije dostupan u Java FOSS izdanju.

ExampleExample
FbxLoadOptionsOpcije učitavanja za FBX fajlove. Ključna svojstva: setFlipCoordinateSystem().
FbxFormatOpis formata za FBX. Dostupan kao FileFormat.FBX7400ASCII().

Example

ExampleExample
AxisIdentifikuje koordinatnu osu: X_AXIS, Y_AXIS, Z_AXIS. Koristi se u opcijama remapiranja koordinatnog sistema.
CoordinateSystemOdređuje konvenciju desnorukosti: RIGHT_HANDED ili LEFT_HANDED.
TextureMappingIdentifikuje kako se tekstura mapira na geometriju: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, itd.
BooleanOperationTip CSG Booleove operacije: UNION, DIFFERENCE, INTERSECTION.

Sistem svojstava

ExampleExample
PropertyJedno imenovano tipizirano svojstvo na A3DObject. Čuva naziv svojstva, opis tipa i trenutnu vrednost.
PropertyCollectionIterabilna kolekcija od Property objekti prikačeni na an A3DObject. Podržava pretragu po imenu i iteraciju kroz sve definisane svojstva.
CustomObjectLagani A3DObject podklasa koja nosi samo ime i proizvoljan PropertyCollection. Koristi se za čuvanje korisnički definisanih metapodataka na objektima scene.

Slika i render

ExampleExample
ImageRenderOptionsOpcije za softversku rasterizaciju prilikom renderovanja scene u bafer slike. Čuva boju pozadine, dimenzije slike i referencu kamere. Ova funkcija je dostupna u podržanim konfiguracijama.

Види такође

 Српски