Aspose.3D FOSS for TypeScript
API reference pro @aspose/3d verze 24.12.0. Instalace pomocí:
npm install @aspose/3dRuntime: Node.js 18, 20, 22+ · Jazyk: TypeScript 5.0+ / JavaScript (CommonJS) · Licence: MIT
Základní graf scény
Methods
Kořenový kontejner pro 3D scénu. Zavolejte scene.open() nebo scene.openFromBuffer() na načtení souboru a scene.save() k zápisu výstupu. Zpřístupňuje scene.rootNode jako vstupní bod do hierarchie uzlů.
Methods
Pojmenovaný uzel ve stromu scény. Obsahuje Transform, volitelný entity (síť, kamera, světlo nebo jiný SceneObject), a nula nebo více podřízených uzlů přístupných přes childNodes.
Methods
Základní třída pro všechny objekty, které mohou být připojeny k Node jako jeho primární entita. Děděno třídou Mesh, Camera, Light, a dalšími.
SceneObject
Abstraktní základna pro pojmenované objekty, které patří do scény. Poskytuje name sledování vlastností a příslušnosti ke scéně sdílené uzly, entitami a objekty úrovně assetu.
A3DObject
Kořenová základní třída pro všechny Aspose.3D objekty. Poskytuje systém vlastností (getProperty, setProperty) a name pole, které dědí každá veřejná třída.
Geometrie a síť
Methods
Reprezentuje polygonovou síť. Obsahuje controlPoints pole Vector4 vrcholy a definice polygonů vytvořené pomocí createPolygon(). Zavolejte triangulate() k převodu všech polygonů na trojúhelníky před exportem.
Methods
Základní třída pro všechny typy geometrie. Obsahuje controlPoints a kolekci vrcholových elementů (normály, UV, barvy) připojených k geometrii.
VertexElement
Základní třída pro kanály atributů na úrovni vrcholu připojené k Geometry. Podtřídy nesou typované datové pole a mappingMode / referenceMode metadata.
VertexElementNormal
A VertexElement podtřída, která ukládá povrchové normály. Data jsou uložena interně jako FVector4[] (zděděno z VertexElementFVector). Vyžadováno většinou renderérů pro správné osvětlení.
VertexElementUV
A VertexElement podtřída, která ukládá 2D texturové souřadnice. Jedna síť může mít více UV sad pro různé texturové vrstvy.
VertexElementVertexColor
A VertexElement podtřída, která ukládá RGBA hodnoty barev pro každý vrchol.
VertexElementType
Výčet typů kanálových atributů, které VertexElement může reprezentovat (např., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
Výčtový typ řídící, jak se data prvku mapují na geometrii: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, nebo ALL_SAME.
ReferenceMode
Výčtový typ řídící, jak indexy prvků odkazují na data: DIRECT (jeden‑na‑jeden) nebo INDEX_TO_DIRECT (prostřednictvím pole indexů).
TextureMapping
Výčtový typ semantik kanálů textury: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, a další.
Transformace a Prostor
Methods
Obsahuje lokální pozici (translation), rotaci (rotation jako Quaternion), a měřítko (scaling) objektu Node. Změny zde ovlivňují uzel a všechny jeho potomky.
GlobalTransform
Zobrazení pouze pro čtení transformace uzlu ve světovém prostoru, vypočtené akumulací všech předchozích Transform hodnot. Přístup přes node.globalTransform.
BoundingBox
Osa‑zarovnaný ohraničující kvádr definovaný minimum a maximum Vector3 roh. Používá se k popisu prostorového rozsahu sítě nebo scény.
Methods
Material, LambertMaterial, PhongMaterial, PbrMaterial
Material je abstraktní základní třída pro všechny typy materiálů. Jsou k dispozici tři konkrétní implementace:
- LambertMaterial — pouze difúzní s ambientními, difúzními a emisními kanály barev. Vhodné pro nespeculární povrchy.
- PhongMaterial — rozšiřuje
LambertMaterials barvou odlesku a vlastnostmi lesku pro Phong shading. - PbrMaterial — materiál založený na fyzikálně založeném renderování s kanály metallic, roughness, base-color a normal‑map. Přímo mapuje na model materiálu glTF 2.0 PBR.
Kamera a Osvětlení
Methods
Entita uzlu pohledu s typem projekce, zorným polem, vzdálenostmi ořezů near/far a vlastnostmi poměru stran.
Methods
Entita uzlu světelného zdroje. Typ je řízen LightType enumerací.
LightType
Výčet podporovaných typů světel: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
Výčet režimů projekce kamery: PERSPECTIVE a ORTHOGRAPHIC.
Matematické utility
Methods
Trojkomponentový vektor s plovoucí desetinnou čárkou s x, y, z políčky a běžnými aritmetickými metodami (dot, cross, normalize, minus, times). Exportováno z @aspose/3d/utilities.
Methods
Čtyřkomponentový vektor s plovoucí desetinnou čárkou s x, y, z, w políčky. Používá se jako typ položek v Mesh.controlPoints.
Methods
Dvoukomponentový vektor s dvojitou přesností s x a y políčky. Používá se pro UV texturové souřadnice.
FVector3
Kompaktní trojkomponentový vektor s jednoduchou přesností, používaný v polích dat vrcholových elementů pro normály a tangenty.
Methods
4×4 transformační matice. Podporuje konkatenaci, inverzi, transpozici a dekompozici na komponenty translace, rotace a měřítka. Exportováno z @aspose/3d/utilities.
Methods
Jednotkový kvaternion pro reprezentaci rotací bez gimbal locku. Poskytuje slerp() pro plynulou interpolaci a konverzi k a z Eulerových úhlů a Matrix4. Exportováno z @aspose/3d/utilities.
Methods
AnimationClip
Pojmenovaná, časově omezená kolekce AnimationNode stop. Hlavní kontejner pro data animace klíčových snímků načtená ze souborů FBX nebo COLLADA.
AnimationNode
Pojmenovaná animační stopa, která cílí na konkrétní cestu vlastnosti na objektu scény. Obsahuje jeden nebo více AnimationChannel objektů.
AnimationChannel
Jednotlivý kanál animované vlastnosti v rámci AnimationNode. Obsahuje KeyframeSequence párů čas/hodnota.
KeyFrame
Jednotlivý vzorek čas/hodnota v KeyframeSequence. Nese časové razítko (v sekundách), hodnotu a informaci o tangenci pro interpolaci.
KeyframeSequence
Uspořádaný seznam KeyFrame vzorků pro jeden kanál vlastnosti, spolu s Interpolation a Extrapolation nastaveními, která řídí přehrávání.
Methods
Výčet režimů interpolace klíčových snímků. Známé položky zahrnují LINEAR a CONSTANT. Další položky, jako například BEZIER může být k dispozici.
Methods
Definuje chování mimo rozsah klíčových snímků (před prvním klíčem a po posledním klíči). Řídí se pomocí ExtrapolationType.
StepMode
Výčtový typ řídící, jak je na hranicích aplikována kroková (konstantní) interpolace.
WeightedMode
Výčtový typ pro zpracování váhy tečny Bézieru: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, nebo BOTH.
ExtrapolationType
Výčet chování mimo rozsah: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, a OSCILLATE.
Formát I/O
FileFormat
Základní popisovač pro 3D formát souboru. Každý podporovaný formát poskytuje konkrétní singleton pomocí getInstance().
Methods
Základní třída pro implementace importu specifické pro formát. Není vytvářena přímo; je volána interně v scene.open().
Methods
Základní třída pro implementace exportu specifické pro formát. Není vytvářena přímo; je volána interně v scene.save().
LoadOptions
Základní třída pro objekty možností načítání specifické pro formát. Předávejte instanci podtřídy do scene.open() nebo scene.openFromBuffer().
SaveOptions
Základní třída pro objekty možností ukládání specifické pro formát. Předávejte instanci podtřídy do scene.save().
IOService
Interní rozhraní služby, které abstrahuje I/O souborového systému a bufferu pro importéry a exportéry.
Formát OBJ
OBJ podporuje jak import, tak export. Při ukládání jako OBJ je knihovna materiálů (.mtl) je automaticky zapsána vedle .obj souboru.
ObjImporter
Interní importér, který čte soubory Wavefront OBJ, řeší .mtl knihovny materiálů a naplňuje Scene. Je voláno automaticky, když ObjLoadOptions je předáno do scene.open().
ObjExporter
Interní exportér, který zapisuje soubory Wavefront OBJ. Doprovodný .mtl knihovna materiálů je zapisována automaticky. Vyvoláno, když scene.save() cílí na .obj cestu.
ObjLoadOptions
Načíst možnosti pro soubory OBJ. Klíčové vlastnosti: enableMaterials (boolean, výchozí true), flipCoordinateSystem (boolean), normalizeNormal (boolean, výchozí true), scale (číslo). Viz Možnosti načítání a ukládání formátu pro podrobnosti.
ObjSaveOptions
Uložte možnosti pro export OBJ. Předávejte do scene.save() pro řízení chování výstupu OBJ. Viz Možnosti načítání a ukládání formátu pro podrobnosti.
ObjFormat
Singleton popisu formátu pro OBJ. Oba canImport a canExport jsou true.
Formát glTF
GltfImporter
Čte glTF 2.0 JSON (.gltf).glba binární GLB (.
GltfExporter
Zapíše výstup glTF 2.0. Když GltfSaveOptions.binaryMode je true, vytváří samostatný GLB; jinak zapisuje JSON .gltf s doprovodným .bin buffer.
GltfLoadOptions
Možnosti načítání pro soubory glTF/GLB. Řídí rozlišení bufferu a chování načítání textur.
GltfSaveOptions
Možnosti uložení pro export glTF/GLB. Významné vlastnosti: binaryMode (boolean, true → GLB, výchozí false), flipTexCoordV (boolean, převrací vertikální osu UV, výchozí true). Viz Možnosti načítání a ukládání formátu pro podrobnosti.
GltfFormat
Singleton popisovače formátu. Získá se pomocí GltfFormat.getInstance() a předá se do scene.save() jako druhý argument.
Formát STL
StlImporter
Načte jak ASCII, tak binární STL soubory do Scene obsahující jediný Mesh entitu.
StlExporter
Zapisuje binární STL. Výstup obsahuje triangulovanou síť ze scény; polygonální prvky, které nejsou trojúhelníky, jsou automaticky triangulovány.
StlLoadOptions
Možnosti načítání pro STL. Řídí, zda importér během importu převrací normály.
StlSaveOptions
Možnosti uložení pro export STL. Klíčová vlastnost: binaryMode (boolean, výchozí false). Řídí, zda je výstup ASCII nebo binární STL. Viz Možnosti načítání a ukládání formátu pro podrobnosti.
StlFormat
Singleton popisovače formátu. Získá se pomocí StlFormat.getInstance().
3MF Format
ThreeMfImporter
Čte archivy Open Packaging Convention 3MF a naplňuje Scene mesh objekty, barvy a materiálové vlastnosti.
ThreeMfExporter
Zapíše platný archiv 3MF z aktuální scény. Vhodné pro workflow 3D tisku.
ThreeMfLoadOptions
Možnosti načítání pro soubory 3MF.
ThreeMfSaveOptions
Možnosti ukládání pro export 3MF.
ThreeMfFormat
Singleton popisovače formátu. Získat pomocí ThreeMfFormat.getInstance().
Formát FBX
FbxImporter
Čte binární a ASCII soubory FBX včetně geometrie, materiálů, kostry, blend shapes a animačních klipů.
FbxExporter
Zapíše soubory FBX z aktuální scény. Jak binární, tak ASCII výstup FBX jsou podporovány podle nastavení.
FbxLoadOptions
Možnosti načítání pro FBX. Řídí, zda jsou importovány animace, skiny a blend shapes.
FbxSaveOptions
Možnosti uložení pro export FBX. Klíčová vlastnost: embedTextures (boolean, výchozí false). Viz Možnosti načítání a ukládání formátu pro úplné podrobnosti.
FbxFormat
Formátový popisovač singleton. Získá se pomocí FbxFormat.getInstance().
Formát COLLADA
import a export COLLADA vyžadují xmldom peer závislost, která je nainstalována automaticky s @aspose/3d.
ColladaImporter
Čte COLLADA (.dae) XML soubory pomocí xmldom. Zpracovává geometrii, materiály, kamery, světla a animaci.
ColladaExporter
Zapíše XML výstup COLLADA z aktuální scény. Vhodné pro výměnu s DCC nástroji (Blender, Maya atd.).
ColladaFormat
Formátový popisovač singleton. Získá se pomocí ColladaFormat.getInstance().
Systém vlastností
Methods
Typovaný pár název/hodnota, který může být připojen k libovolnému A3DObject. Podporuje skalární a vektorové typy hodnot.
PropertyCollection
Seřazený kontejner pro Property objekty. Přístupný na libovolném A3DObject přes properties přístupový prvek.
CustomObject
Volně formovaný kontejner vlastností, který rozšiřuje A3DObject. Používá se k ukládání libovolných metadat, která neodpovídají standardní třídě.
Informace o assetu
AssetInfo
Obsahuje metadata úrovně scény načtená ze zdrojového souboru: autor, název aplikace, datum vytvoření, měřítko jednotek a informace o souřadnicových osách.
ImageRenderOptions
Možnosti řídící, jak jsou textury a obrázky rozpoznávány a kódovány při ukládání do formátů, které vkládají obrazová data (např. GLB s binaryMode: true).
Viz také
- Znalostní báze: Praktické návody
- Podrobný přehled API
- Třída Scene
- Třída Node
- Třída Mesh
- Třída Transform
- Třída GlobalTransform
- Třída Camera
- třída Light
- třída Vector3
- třída Quaternion
- třída Matrix4
- třída BoundingBox
- Material, LambertMaterial, PhongMaterial, PbrMaterial
- Možnosti načítání a ukládání formátu
- Reference Vector2, Vector4
- Reference Property, PropertyCollection, AssetInfo
- Reference A3DObject, SceneObject, Entity
- Reference VertexElement, VertexElementNormal, VertexElementUV
- Reference výčtů
- npm: @aspose/3d
- GitHub: aspose-3d-node