Aspose.3D FOSS for Java

API nuoroda aspose-3d-foss 26.1.0 (Java 21+, MIT license).

Visos klasės yra com.aspose.threed šakninis paketas. Šakninis importas yra:

import com.aspose.threed.*;

Paketo struktūra: Beveik visos viešos klasės yra com.aspose.threed. Vienintelė paprastai naudojama po-paketas yra com.aspose.threed.shading (skirta PbrMaterial). Ši com.aspose.threed.formats sub-paketą sudaro vidiniai importuotojai/eksportuotojai ir paprastai nėra importuojamas tiesiogiai.

Java pavadinimo konvencija: Visos savybės naudoja getter/setter metodus. Pavyzdžiui, naudokite node.getTransform() vietoj node.transform, ir transform.setTranslation(...) vietoj transform.translation = .... Atkreipkite dėmesį, kad Vector3, Vector4, Quaternion, Matrix4, ir FVector tipai naudoja vieši laukai (v.x, v.y, v.z) vietoj getter’ų komponentų prieigai.


Pagrindinis scenos grafas

PropertiesProperties
SceneAukščiausio lygio konteineris visiems 3D scenos duomenims. Laiko šaknies mazgą, išteklių metaduomenis ir animacijos klipus. Pateikia fromFile(), open(), ir save() kaip pagrindinius I/O įėjimo taškus.
NodePavadintas mazgas scenos hierarchijoje. Valdo vaikų mazgų sąrašą ir prijungtų Entity objektų, tokių kaip tinklai, kameros ir šviesos. Turi vietinį Transform.
EntityAbstrakti bazinė klasė visiems objektams, kuriuos galima prijungti prie Node. Suteikia pavadinimą ir tapatybę, bet neturi savo geometrijos.
SceneObjectBazinė klasė, kurią dalijasi Node ir Entity. Suteikia savybių kolekcijos sąsają, naudojamą vartotojo apibrėžtiems metaduomenims.
A3DObjectŠaknies bazinė klasė visiems Aspose.3D valdomiems objektams. Pateikia pavadinimo savybę ir Properties kolekciją.
INamedObjectSąsaja, kuri garantuoja getName() metodą. Įgyvendinama Node, Entity, ir keli formatui specifiniai deskriptoriaus tipai.

Geometrija ir tinklas

PropertiesProperties
MeshPoligono tinklelio objektas. Saugo kontrolinius taškus (viršūnių pozicijas kaip Vector4), poligonų veidų sąrašus (kontrolinių taškų indeksų sąrašus), ir viršūnių elementų sluoksnius (normales, UV, viršūnių spalvas).
GeometryAbstrakti bazė tinklelio tipo geometrijos tipams. Apibrėžia valdymo taškų masyvą ir kolekciją VertexElement sluoksnius. Mesh paveldi iš Geometry.
VertexElementAbstrakti bazė duomenų sluoksniui, priskirtam geometrijai (normals, UVs, colours, etc.). Perduoda getMappingMode(), getReferenceMode(), ir duomenų sąrašą.
VertexElementNormalSaugo po vieną normalų vektorių kiekvienam viršūnei arba kiekvienam daugiakampio kampui, priklausomai nuo susiejimo režimo. Duomenų reikšmės yra Vector4 instancijos su w nenaudojamos.
VertexElementUVSaugo tekstūros koordinatų poras (Vector2) kiekvienam viršūnei arba kiekvienam daugiakampio kampui. Tinklelis gali turėti kelis UV sluoksnius skirtingiems tekstūros kanalams.
VertexElementVertexColorSaugo RGBA spalvų duomenis per viršūnę arba per kampą kaip Vector4 (r, g, b, a intervale 0–1).
VertexElementTypeIšvardijimas, nurodantis semantinę viršūnės elemento sluoksnio rolę: NORMAL, UV, VERTEX_COLOR, ir kiti. Perduokite reikšmes į Mesh.getElement().
MappingModeIšvardijimas, kontroliuojantis, kuriam primityvui viršūnės elemento reikšmė atitinka: CONTROL_POINT, POLYGON_VERTEX, arba POLYGON.
ReferenceModeEnumeracija, kontroliuojanti, kaip reikšmės indeksuojamos: DIRECT (viena reikšmė per susiejimo primityvą) arba INDEX_TO_DIRECT (reikšmių masyvas ir atskiras indeksų masyvas).

Transformacija ir erdvė

PropertiesProperties
TransformVietinis transformavimas, priskirtas Node. Pateikia poslinkį, sukimosi (kaip Quaternion), ir mastelio komponentus, bei patogius metodus Eulerio kampams.
GlobalTransformTik skaitymui skirta vaizdas į mazgo pasaulio erdvės transformaciją po visų tėvų transformacijų sujungimo. Pasiekiama per node.getGlobalTransform().
AssetInfoMetaduomenų blokas, priskirtas Scene.Saugo autoriaus programos pavadinimą, vieneto pavadinimą, vieneto mastelio koeficientą, koordinatės sistemos ašies apibrėžimus ir sukūrimo/modifikavimo laiko žymas.

Medžiagos ir apšvietimas

PropertiesProperties
MaterialAbstrakti bazinė klasė visiems medžiagų tipams. Pateikia pavadinimą ir savybių rinkinį skaitiniams ir spalvų parametrams.
PbrMaterialFizinio pagrindo atvaizdavimo (Physically Based Rendering) medžiaga. Saugo albedo, metalinį koeficientą, šiurkštumo koeficientą, švytinčią spalvą, skaidrumą ir susijusias tekstūras. Naudojama glTF 2.0 ir kituose PBR palaikančiuose formatuose. Importuoti: com.aspose.threed.shading.PbrMaterial.

Properties

PropertiesProperties
CameraKameros objektas. Paveldi iš Entity. Java FOSS leidimo versijoje nėra rodomų formatui specifinių savybių, išskyrus paveldėtą pavadinimą ir savybių rinkinį. Prijungta prie Node nustatyti vaizdo taško transformacijas.

Pastaba: Properties Light klasė nėra prieinama Java leidimo versijoje Aspose.3D FOSS. Scenos apšvietimo duomenys iš importuotų failų saugomi kaip bendri Entity objektai.


Matematinės priemonės

PropertiesProperties
Vector2Dvigubo tikslumo 2 komponentų vektorius (x, y). Naudojamas UV tekstūros koordinatėms.
Vector3Dvigubo tikslumo 3 komponentų vektorius (x, y, z). Naudojamas pozicijoms, kryptims ir mastui.
Vector4Dvigubo tikslumo 4 komponentų vektorius (x, y, z, w). Naudojama valdymo taškams (homogeniškoms pozicijoms) ir normalų duomenims.
FVector3Viengubo tikslumo 3 komponentų slankaus kablelio vektorius. Pasirodo viršūnių elemento duomenų masyvuose normalėms ir tangentėms.
FVector4Viengubo tikslumo 4 komponentų slankaus kablelio vektorius. Saugojimo tipas, skirtas VertexElementFVector duomenims.
QuaternionVienetinis kvaternionas, skirtas atvaizduoti sukimuus (w, x, y, z). Naudojamas Transform.getRotation().
Matrix44x4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions.
BoundingBoxAšies lygiavietės ribojanti dėžė, apibrėžta pagal getMinimum() ir getMaximum() Vector3 kampus. Naudojama erdviniams užklausoms ir frustumų išfiltravimo pagalbininkams.

Properties

PropertiesProperties
AnimationClipPavadintas konteineris animacijos intervalui. A Scene gali turėti kelis klipus (pvz., “Walk”, “Run”). Deklaracijos šablonas — raktų kadro duomenys ir atkūrimas dar neįgyvendinti.

Formato įvestis/išvestis

PropertiesProperties
Scene.fromFile(path)Statinis metodas. Atveria failą vietoje path, nustato formatą pagal plėtinį ir grąžina užpildytą Scene. Išmeta išimtį, jei failas nerastas arba formatas nepalaikomas.
Scene.open(path, options)Egzemplioriaus metodas. Atidaro failą į esamą Scene egzempliorius, pasirinktinai naudojant formatui būdingą LoadOptions pakaitinė klasė.
Scene.save(path, options)Objekto metodas. Serializuoja sceną į path naudodamas formatą, išvestą iš plėtinio, pasirinktinai naudodamas formatui specifinį SaveOptions pakaitinė klasė.
FileFormatRegistras palaikomų failų formatų. Turi įrašus, pvz. FileFormat.WAVEFRONT_OBJ(), FileFormat.GLTF2(), FileFormat.FBX7400ASCII().
IOServiceVidinė I/O abstrakcija, naudojama formatų importuotojų ir eksportuotojų. Paprastai nenaudojama tiesiogiai programos kode.
LoadOptionsBazinė klasė visiems formatui specifiniams įkėlimo parinkčių objektams. Kurią paveldi ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions.
SaveOptionsBazinė klasė visiems formatui specifiniams išsaugojimo parinkčių objektams. Kurią paveldi ObjSaveOptions, StlSaveOptions, GltfSaveOptions.

OBJ formatas

PropertiesProperties
ObjImporterVidinė importuotojo klasė, kuri analizuoja Wavefront OBJ ir MTL failus. Iškviečiama automatiškai Scene.fromFile().obj plėtinius.
ObjLoadOptionsĮkėlimo parinktys Wavefront OBJ failams. Pagrindinės savybės: setFlipCoordinateSystem(), setScale(), setEnableMaterials(), setNormalizeNormal().
ObjSaveOptionsIšsaugojimo parinktys Wavefront OBJ išvestims. Valdo normalės, UV, medžiagų nuorodas ir taškų debesies režimą.
ObjFormatFormato aprašas Wavefront OBJ. Prieinamas kaip FileFormat.WAVEFRONT_OBJ().

STL formatas

PropertiesProperties
StlImporterVidinis importuotojas, kuris skaito tiek binarinius, tiek ASCII STL failus. Automatiškai pasirenkamas pagal plėtinį.
StlExporterVidinis eksportuotojas, kuris rašo STL.
StlLoadOptionsĮkėlimo parinktys STL failams. Palaiko setFlipCoordinateSystem(), setRecalculateNormal(), ir setContentType().
StlSaveOptionsIšsaugojimo parinktys STL išvesties. Valdikliai setFlipCoordinateSystem(), setAxisSystem(), ir setContentType().
StlFormatFormato aprašas STL.

glTF formatas

PropertiesProperties
GltfLoadOptionsĮkėlimo parinktys glTF 2.0 ir GLB failams. Pagrindinės savybės: setFlipCoordinateSystem(), setPrettyPrint().
GltfSaveOptionsIšsaugojimo parinktys glTF 2.0 ir GLB išvestims. Naudokite setContentType(FileContentType.BINARY) sukurti savarankišką .glb paketą.
GltfFormatFormato aprašas glTF 2.0 / GLB. Prieinamas kaip FileFormat.GLTF2().

FBX formatas

FBX palaikomas tik importui. Eksportuoti į FBX nepasiekiama Java FOSS leidime.

PropertiesProperties
FbxLoadOptionsĮkėlimo parinktys FBX failams. Pagrindinė savybė: setFlipCoordinateSystem().
FbxFormatFormato aprašas FBX. Prieinamas kaip FileFormat.FBX7400ASCII().

Properties

PropertiesProperties
AxisNurodo koordinačių ašį: X_AXIS, Y_AXIS, Z_AXIS. Naudojama koordinatės sistemos peradresavimo parinktyse.
CoordinateSystemNurodo rankų konvenciją: RIGHT_HANDED arba LEFT_HANDED.
TextureMappingNurodo, kaip tekstūra yra susieta su geometrija: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, ir t.t.
BooleanOperationCSG Boolean operacijos tipas: UNION, DIFFERENCE, INTERSECTION.

Savybių sistema

PropertiesProperties
PropertyVienas pavadintas tipizuotas savybė ant A3DObject. Saugo savybės pavadinimą, tipo aprašą ir dabartinę reikšmę.
PropertyCollectionIteruojama kolekcija iš Property objektai, prisegti prie A3DObject. Palaiko paiešką pagal pavadinimą ir iteraciją per visas apibrėžtas savybes.
CustomObjectLengvas A3DObject klasės paveldėtojas, kuris nešioja tik pavadinimą ir bet kokį PropertyCollection. Naudojama vartotojo apibrėžtiems metaduomenims saugoti ant scenos objektų.

Vaizdas ir renderiavimas

PropertiesProperties
ImageRenderOptionsParinktys programinei rasterizacijai, kai sceną atvaizduojama į vaizdo buferį. Saugo fono spalvą, vaizdo matmenis ir kameros nuorodą. Ši funkcija prieinama palaikomose konfigūracijose.

Žr. taip pat

 Lietuvių