Aspose.3D FOSS for TypeScript

API referenca za @aspose/3d verzija 24.12.0. Instalirajte putem:

npm install @aspose/3d

Okruženje: Node.js 18, 20, 22+ · Jezik: TypeScript 5.0+ / JavaScript (CommonJS) · Licenca: MIT


Osnovni graf scene

Koreni kontejner za 3D scenu. Pozovite scene.open() ili scene.openFromBuffer() za učitavanje fajla, i scene.save() za pisanje izlaza. Izlaže scene.rootNode kao ulaznu tačku u hijerarhiju čvorova.

Imenovani čvor u stablu scene. Sadrži Transform, opcioni entity (mesh, kamera, svetlo, ili drugi SceneObject), i nula ili više podčvorova dostupnih putem childNodes.

Osnovna klasa za sve objekte koji se mogu prikačiti na Node kao njegov primarni entitet. Podklasirano od Mesh, Camera, Light, i drugi.

SceneObject

Apstraktna baza za imenovane objekte koji pripadaju sceni. Pruža the name praćenje svojstava i članstva u sceni koje dele čvorovi, entiteti i objekti na nivou sredstava.

A3DObject

Osnovna korenska klasa za sve Aspose.3D objekte. Obezbeđuje sistem svojstava (getProperty, setProperty) i name polje koje nasleđuje svaki javni razred.


Geometrija i mreža

Predstavlja poligonalnu mrežu. Sadrži controlPoints niz Vector4 vrhova i definicije poligona kreirane putem createPolygon(). Pozovite triangulate() da se svi poligoni pretvore u trouglove pre izvoza.

Osnovna klasa za sve tipove geometrije. Sadrži controlPoints i kolekciju elemenata vrha (normale, UV‑koordinate, boje) koji su prikačeni uz geometriju.

VertexElement

Osnovna klasa za kanale atributa po vrhu koji su prikačeni na Geometry. Podklase nose tipizirane nizove podataka i mappingMode / referenceMode metapodatke.

VertexElementNormal

Jedan VertexElement podklasa koja čuva površinske normale. Podaci se interno čuvaju kao FVector4[] (nasleđeno od VertexElementFVector). Potrebno većini renderera za pravilno osvetljenje.

VertexElementUV

Jedan VertexElement podklasa koja čuva 2D teksturne koordinate. Jedan mesh može imati više UV setova za različite teksturne slojeve.

VertexElementVertexColor

Jedan VertexElement podklasa koja čuva RGBA vrednosti boje po vrhu.

VertexElementType

Enumeracija tipova kanala atributa koje VertexElement može predstavljati (npr., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).

MappingMode

Enumeracija koja kontroliše kako se podaci elementa mapiraju na geometriju: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, ili ALL_SAME.

ReferenceMode

Enumeracija koja kontroliše kako indeksi elemenata referišu na podatke: DIRECT (jedan-na-jedan) ili INDEX_TO_DIRECT (preko niza indeksa).

TextureMapping

Enumeracija semantike kanala teksture: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, i još.


Transform i Spatial

Sadrži lokalnu poziciju (translation), rotacija (rotation kao Quaternion), i skaliranje (scaling) od Node. Promene ovde utiču na čvor i svu njegovu decu.

GlobalTransform

Samo za čitanje prikaz transformacije čvora u svetskom prostoru, izračunatog akumulacijom svih pretka Transform vrednosti. Pristup putem node.globalTransform.

BoundingBox

Osovinski poravnat okvir definisan od minimum i maximum Vector3 ugao. Koristi se za opisivanje prostornog obuhvata mreže ili scene.


Material, LambertMaterial, PhongMaterial, PbrMaterial

Material je apstraktna bazna klasa za sve tipove materijala. Dostupna su tri konkretna implementacije:

  • LambertMaterial — samo difuzno sa ambientnim, difuznim i emisijskim kanalima boja. Pogodno za ne‑specularne površine.
  • PhongMaterial — proširuje LambertMaterial sa specular bojom i svojstvima sjajnosti za Phong shading.
  • PbrMaterial — materijal zasnovan na fizički‑baziranom renderovanju sa metalnim, hrapavim, osnovnom‑bojom i kanalima normal‑mapa. Direktno se mapira na glTF 2.0 PBR model materijala.

Kamera i osvetljenje

Entitet čvora pogleda sa tipom projekcije, uglom vidljivosti, udaljenostima bliskog/udaljenog isečka i svojstvima odnosa širine i visine.

Entitet čvora izvora svetla. Tip se kontroliše pomoću. LightType enumeracija.

LightType

Enumeracija podržanih vrsta svetla: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.

ProjectionType

Enumeracija režima projekcije kamere: PERSPECTIVE i ORTHOGRAPHIC.


Matematički alati

Vektor sa tri komponente u pokretnom zarezu sa x, y, z polja i uobičajene aritmetičke metode (dot, cross, normalize, minus, times). Izvezeno iz @aspose/3d/utilities.

Vektor sa četiri komponente u pokretnom zarezu sa x, y, z, w polja. Koristi se kao tip unosa u Mesh.controlPoints.

Dvokomponentni vektor dvostruke preciznosti sa x i y polja. Koristi se za UV teksturne koordinate.

FVector3

Kompaktan vektor sa tri komponenta u jednoj preciznosti koji se koristi u nizovima podataka elementa vrha za normale i tangente.

4×4 matrica transformacije. Podržava konkatenaciju, inverziju, transpoziciju i dekompoziciju na komponente translacije, rotacije i skaliranja. Izvezeno iz @aspose/3d/utilities.

Jedinični kvaternion za predstavljanje rotacija bez gimbal lock‑a. Pruža slerp() za glatku interpolaciju i konverziju ka/od Eulerovih uglova i Matrix4. Izvezeno iz @aspose/3d/utilities.


AnimationClip

Imenovana, vremenski ograničena kolekcija AnimationNode traka. Primarni kontejner za podatke o ključnim okvirima animacije učitane iz FBX ili COLLADA fajlova.

AnimationNode

Imenovana animaciona traka koja cilja određenu putanju svojstva na objektu scene. Sadrži jedan ili više AnimationChannel objekata.

AnimationChannel

Jedan animirani kanal svojstva unutar AnimationNode. Sadrži KeyframeSequence parova vreme/vrednost.

KeyFrame

Jedan uzorak vreme/vrednost u KeyframeSequence. Sadrži vremensku oznaku (u sekundama), vrednost i informacije o tangenti za interpolaciju.

KeyframeSequence

Uređena lista od KeyFrame uzoraka za jedan kanal svojstva, zajedno sa Interpolation i Extrapolation podešavanjima koja upravljaju reprodukcijom.

Enumeracija režima interpolacije ključnih frejmova. Poznati članovi uključuju LINEAR i CONSTANT. Dodatni članovi kao što su BEZIER može biti dostupno.

Definiše ponašanje izvan opsega ključnih okvira (pre prvog ključa i posle poslednjeg ključa). Kontroliše ga ExtrapolationType.

StepMode

Enumeracija koja kontroliše kako se stepenasto (konstantno) interpoliranje primenjuje na granicama.

WeightedMode

Enumeracija za rukovanje težinom Bezier tangente: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, ili BOTH.

ExtrapolationType

Enumeracija ponašanja izvan opsega: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, i OSCILLATE.


U/I formata

FileFormat

Osnovni opisivač za 3D format fajla. Svaki podržani format pruža konkretni singleton putem getInstance().

Osnovna klasa za implementacije uvoza specifične za format. Ne instancira se direktno; interno je poziva scene.open().

Osnovna klasa za implementacije izvoza specifične za format. Ne instancira se direktno; poziva se interno od strane scene.save().

LoadOptions

Osnovna klasa za objekte opcija učitavanja specifične za format. Prosledite instancu podklase scene.open() ili scene.openFromBuffer().

SaveOptions

Osnovna klasa za objekte opcija čuvanja specifične za format. Prosledite instancu podklase scene.save().

IOService

Interni servisni interfejs koji apstrahuje I/O fajl‑sistema i bafera za uvoznike i izvoznike.


OBJ format

OBJ podržava i uvoz i izvoz. Prilikom čuvanja kao OBJ, biblioteka materijala (.mtl) se automatski zapisuje uz .obj datoteku.

ObjImporter

Interni uvoznik koji čita Wavefront OBJ datoteke, rešava .mtl material libraries, и попуњава a Scene. Позива се аутоматски када ObjLoadOptions се прослеђује scene.open().

ObjExporter

Интерни извозник који пише Wavefront OBJ датотеке. Пратећи .mtl material library се аутоматски пише. Позива се када scene.save() циља на .obj путању.

ObjLoadOptions

Учитајте опције за OBJ датотеке. Кључна својства: enableMaterials (boolean, podrazumevano true), flipCoordinateSystem (boolean), normalizeNormal (boolean, podrazumevano true), scale (number). Vidi Opcije učitavanja i čuvanja formata za potpune detalje.

ObjSaveOptions

Sačuvajte opcije za OBJ izvoz. Prosledite scene.save() za kontrolu ponašanja OBJ izlaza. Vidi Opcije učitavanja i čuvanja formata za potpune detalje.

ObjFormat

Jedinstveni opisnik formata za OBJ. Oba canImport i canExport su true.


glTF format

GltfImporter

Čita glTF 2.0 JSON (.gltf) i binarni GLB (.glb) datoteke. Rukuje ugrađenim i spoljnim referencama bafera, PBR materijalima, kožama i animacionim klipovima.

GltfExporter

Piše glTF 2.0 izlaz. Kada GltfSaveOptions.binaryMode je true, proizvodi samostalni GLB; u suprotnom piše JSON .gltf sa pratećim .bin bafer.

GltfLoadOptions

Opcije učitavanja za glTF/GLB fajlove. Kontrolišu razrešavanje bafera i ponašanje učitavanja tekstura.

GltfSaveOptions

Opcije čuvanja za izvoz glTF/GLB. Značajna svojstva: binaryMode (boolean, true → GLB, podrazumevano false), flipTexCoordV (boolean, okreće UV vertikalnu osu, podrazumevano true). Vidi Opcije učitavanja i čuvanja formata za potpune detalje.

GltfFormat

Format descriptor singleton. Dobijte putem GltfFormat.getInstance() i prosledite scene.save() kao drugi argument.


STL format

StlImporter

Čita i ASCII i binarne STL fajlove u Scene koji sadrži jedan Mesh entitet.

StlExporter

Piše binarni STL. Izlaz sadrži trianguliranu mrežu iz scene; poligoni koji nisu trouglovi se automatski trianguliraju.

StlLoadOptions

Opcije učitavanja za STL. Kontrolišu da li uvoznik preokreće normale prilikom uvoza.

StlSaveOptions

Opcije čuvanja za STL izvoz. Ključna svojstva: binaryMode (boolean, podrazumevano false). Kontroliše da li je izlaz ASCII ili binarni STL. Pogledajte Opcije učitavanja i čuvanja formata za potpune detalje.

StlFormat

Jedinstveni opisnik formata singleton. Dobijte putem StlFormat.getInstance().


3MF Format

ThreeMfImporter

Čita Open Packaging Convention 3MF arhive i popunjava Scene sa mesh objektima, bojama i svojstvima materijala.

ThreeMfExporter

Zapisuje validnu 3MF arhivu iz trenutne scene. Pogodno za radne tokove 3D štampe.

ThreeMfLoadOptions

Opcije učitavanja za 3MF fajlove.

ThreeMfSaveOptions

Opcije čuvanja za 3MF izvoz.

ThreeMfFormat

Jedinstveni opisnik formata singleton. Dobijte putem ThreeMfFormat.getInstance().


FBX format

FbxImporter

Čita binarne i ASCII FBX fajlove, uključujući geometriju, materijale, skelete, blend shape‑ove i animacione klipove.

FbxExporter

Zapisuje FBX fajlove iz trenutne scene. Podržan je i binarni i ASCII FBX izlaz, u zavisnosti od opcija.

FbxLoadOptions

Opcije učitavanja za FBX. Kontroliše da li se animacija, skinovi i blend shape‑ovi uvoze.

FbxSaveOptions

Opcije čuvanja za FBX izvoz. Ključna svojstva: embedTextures (boolean, podrazumevano false). Pogledajte Opcije učitavanja i čuvanja formata za potpune detalje.

FbxFormat

Jedinstveni opisnik formata. Dobijte putem FbxFormat.getInstance().


COLLADA format

COLLADA uvoz i izvoz zahtevaju xmldom zavisnost vršnjaka, koja se automatski instalira uz @aspose/3d.

ColladaImporter

Čita COLLADA (.dae) XML fajlove koristeći xmldom. Rukuje geometrijom, materijalima, kamerama, svetlima i animacijom.

ColladaExporter

Generiše COLLADA XML izlaz iz trenutne scene. Pogodno za razmenu sa DCC alatima (Blender, Maya, itd.).

ColladaFormat

Jedinstveni opisnik formata. Dobijte putem ColladaFormat.getInstance().


Sistem svojstava

Tipizovani par ime/vrednost koji se može prikačiti na bilo koji A3DObject. Podržava skalarne i vektorske tipove vrednosti.

PropertyCollection

Uređeni kontejner od Property objekata. Dostupan na bilo kom A3DObject preko properties pristupnika.

CustomObject

Slobodni skup svojstava koji proširuje A3DObject. Koristi se za čuvanje proizvoljnih metapodataka koji se ne mapiraju na standardnu klasu.


Informacije o sredstvima

AssetInfo

Prenosi metapodatke na nivou scene učitane iz izvornog fajla: autor, naziv aplikacije, datum kreiranja, skala jedinice i informacije o koordinatnim osama.

ImageRenderOptions

Opcije koje kontrolišu kako se teksture i slike razrešavaju i kodiraju prilikom čuvanja u formate koji ugrađuju podatke o slici (npr., GLB with binaryMode: true).


Vidi i

 Српски