Aspose.3D FOSS for TypeScript
Référence API pour @aspose/3d version 24.12.0. Installer via :
npm install @aspose/3dExécution : Node.js 18, 20, 22+ · Langage : TypeScript 5.0+ / JavaScript (CommonJS) · Licence : MIT
Graphique de scène principal
Le conteneur racine d’une scène 3D. Appeler scene.open() ou scene.openFromBuffer() pour charger un fichier, et scene.save() pour écrire la sortie. Expose scene.rootNode comme point d’entrée de la hiérarchie des nœuds.
Un nœud nommé dans l’arbre de la scène. Contient un Transform, un(e) optionnel(le) entity (maillage, caméra, lumière, ou autre SceneObject), et zéro ou plusieurs nœuds enfants accessibles via childNodes.
Classe de base pour tous les objets qui peuvent être attachés à un Node comme entité principale. Sous‑classée par Mesh, Camera, Light, et d’autres.
SceneObject
Base abstraite pour les objets nommés appartenant à une scène. Fournit le name propriété et le suivi d’appartenance à la scène partagés par les nœuds, les entités et les objets au niveau des ressources.
A3DObject
Classe de base racine pour tous les objets Aspose.3D. Fournit le système de propriétés (getProperty, setProperty) et le name champ hérité par chaque classe publique.
Géométrie et maillage
Représente un maillage polygonal. Contient un controlPoints tableau de Vector4 sommets et définitions de polygones créés via createPolygon(). Appeler triangulate() pour convertir tous les polygones en triangles avant l’exportation.
Classe de base pour tous les types de géométrie. Contient controlPoints et la collection d’éléments de sommet (normales, UV, couleurs) attachés à la géométrie.
VertexElement
Classe de base pour les canaux d’attributs par sommet attachés à un Geometry.Les sous‑classes contiennent des tableaux de données typés et mappingMode / referenceMode métadonnées.
VertexElementNormal
Un VertexElement sous‑classe qui stocke les normales de surface. Les données sont stockées en interne sous forme de FVector4[] (hérité de VertexElementFVector). Requis par la plupart des moteurs de rendu pour un éclairage correct.
VertexElementUV
A VertexElement sous-classe qui stocke les coordonnées de texture 2D. Un seul maillage peut posséder plusieurs ensembles UV pour différentes couches de texture.
VertexElementVertexColor
A VertexElement sous-classe qui stocke les valeurs de couleur RGBA par sommet.
VertexElementType
Énumération des types de canaux d’attribut qu’un VertexElement peut représenter (par ex., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
Énumération contrôlant la façon dont les données d’élément sont mappées sur la géométrie : CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, ou ALL_SAME.
ReferenceMode
Énumération contrôlant la façon dont les indices d’élément référencent les données : DIRECT (un à un) ou INDEX_TO_DIRECT (via un tableau d’indices).
TextureMapping
Énumération des sémantiques des canaux de texture : DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, et plus.
Transform et Spatial
Contient la position locale (translation), rotation (rotation comme Quaternion), et l’échelle (scaling) d’un Node. Les modifications ici affectent le nœud et tous ses enfants.
GlobalTransform
Vue en lecture seule de la transformation en espace mondial d’un nœud, calculée en accumulant tous les ancêtres Transform valeurs. Accès via node.globalTransform.
BoundingBox
Une boîte englobante alignée sur les axes définie par un minimum et maximum Vector3 coin. Utilisé pour décrire l’étendue spatiale d’un maillage ou d’une scène.
Material, LambertMaterial, PhongMaterial, PbrMaterial
Material est la classe de base abstraite pour tous les types de matériaux. Trois implémentations concrètes sont disponibles :
- LambertMaterial — uniquement diffus avec des canaux de couleur ambiante, diffuse et émissive. Convient aux surfaces non spéculaires.
- PhongMaterial — étend
LambertMaterialavec des propriétés de couleur spéculaire et de brillance pour l’ombrage Phong. - PbrMaterial — matériau de rendu basé physiquement avec des canaux métallique, rugosité, couleur de base et carte de normales. Se mappe directement au modèle de matériau PBR glTF 2.0.
Caméra et Éclairage
Une entité de nœud de point de vue avec type de projection, champ de vision, distances de coupe proche/lointaine et propriétés de rapport d’aspect.
Une entité de nœud source de lumière. Le type est contrôlé par le LightType énumération.
LightType
Énumération des types de lumière pris en charge : POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
Énumération des modes de projection de la caméra : PERSPECTIVE et ORTHOGRAPHIC.
Utilitaires Mathématiques
Un vecteur à trois composantes en virgule flottante avec x, y, z champs et méthodes arithmétiques courantes (dot, cross, normalize, minus, times). Exporté depuis @aspose/3d/utilities.
Un vecteur à quatre composantes en virgule flottante avec x, y, z, w champs. Utilisé comme type d’entrées dans Mesh.controlPoints.
Un vecteur à deux composantes en double précision avec x et y champs. Utilisé pour les coordonnées de texture UV.
FVector3
Un vecteur compact à trois composantes en simple précision utilisé dans les tableaux de données d’éléments de sommet pour les normales et les tangentes.
Une matrice de transformation 4×4. Prend en charge la concaténation, l’inversion, la transposition et la décomposition en composantes de translation, de rotation et d’échelle. Exporté depuis @aspose/3d/utilities.
Un unit quaternion pour représenter les rotations sans gimbal lock. Fournit slerp() pour une interpolation fluide et la conversion vers/de Euler angles et Matrix4. Exporté depuis @aspose/3d/utilities.
AnimationClip
Une collection nommée, limitée dans le temps, de AnimationNode tracks. Le conteneur principal des données d’animation par images clés chargées depuis des fichiers FBX ou COLLADA.
AnimationNode
Une named animation track qui cible un chemin de propriété spécifique sur un objet de scène. Contient un ou plusieurs AnimationChannel objets.
AnimationChannel
Un seul canal de propriété animé au sein d’un AnimationNode. Contient un KeyframeSequence de paires temps/valeur.
KeyFrame
Un seul échantillon temps/valeur dans un KeyframeSequence. Contient l’horodatage (en secondes), la valeur et les informations de tangente pour l’interpolation.
KeyframeSequence
Une liste ordonnée de KeyFrame échantillons pour un canal de propriété, ainsi que le Interpolation et Extrapolation paramètres qui régissent la lecture.
Énumération des modes d’interpolation des images clés. Les membres connus incluent LINEAR et CONSTANT. Des membres supplémentaires tels que BEZIER peuvent être disponibles.
Définit le comportement en dehors de la plage des images clés (avant la première image et après la dernière). Contrôlé par ExtrapolationType.
StepMode
Énumération contrôlant la façon dont l’interpolation en escalier (constante) est appliquée aux limites.
WeightedMode
Énumération pour la gestion du poids des tangentes de Bézier : NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, ou BOTH.
ExtrapolationType
Énumération des comportements hors limites : CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, et OSCILLATE.
Entrée/Sortie du format
FileFormat
Descripteur de base pour un format de fichier 3D. Chaque format pris en charge fournit un singleton concret via getInstance().
Classe de base pour les implémentations d’importation spécifiques à un format. Non instanciée directement ; appelée en interne par scene.open().
Classe de base pour les implémentations d’exportation spécifiques à un format. Non instanciée directement ; appelée en interne par scene.save().
LoadOptions
Classe de base pour les objets d’options de chargement spécifiques à un format. Passez une instance de sous‑classe à scene.open() ou scene.openFromBuffer().
SaveOptions
Classe de base pour les objets d’options d’enregistrement spécifiques à un format. Passez une instance de sous‑classe à scene.save().
IOService
Interface de service interne qui abstrait les entrées‑sorties du système de fichiers et des tampons pour les importateurs et exportateurs.
Format OBJ
OBJ prend en charge à la fois l’importation et l’exportation. Lors de l’enregistrement au format OBJ, la bibliothèque de matériaux (.mtl) est écrite automatiquement à côté du .obj fichier.
ObjImporter
Importateur interne qui lit les fichiers Wavefront OBJ, résout .mtl les bibliothèques de matériaux, et remplit un Scene. Appelé automatiquement lorsque ObjLoadOptions est passé à scene.open().
ObjExporter
Exportateur interne qui écrit des fichiers Wavefront OBJ. Un compagnon .mtl bibliothèque de matériaux est écrit automatiquement. Appelé lorsque scene.save() cible un .obj chemin.
ObjLoadOptions
Options de chargement pour les fichiers OBJ. Propriétés clés : enableMaterials (booléen, par défaut true), flipCoordinateSystem (booléen), normalizeNormal (booléen, par défaut true), scale (nombre). Voir Options de chargement et d’enregistrement du format pour plus de détails.
ObjSaveOptions
Enregistrez les options pour l’exportation OBJ. Transmettez à scene.save() pour contrôler le comportement de sortie OBJ. Voir Options de chargement et d’enregistrement du format pour plus de détails.
ObjFormat
Descripteur de format singleton pour OBJ. Les deux canImport et canExport sont true.
Format glTF
GltfImporter
Lit le JSON glTF 2.0 (.gltf) et binaire GLB (.glb) fichiers. Gère les références de tampons intégrées et externes, les matériaux PBR, les skins et les clips d’animation.
GltfExporter
Écrit la sortie glTF 2.0. Lorsque GltfSaveOptions.binaryMode est true, produit un GLB autonome ; sinon écrit un JSON .gltf avec un compagnon .bin tampon.
GltfLoadOptions
Options de chargement pour les fichiers glTF/GLB. Contrôle la résolution des tampons et le comportement du chargement des textures.
GltfSaveOptions
Options d’enregistrement pour l’export glTF/GLB. Propriétés notables : binaryMode (booléen, true → GLB, par défaut false), flipTexCoordV (booléen, inverse l’axe UV vertical, par défaut true). Voir Options de chargement et d’enregistrement du format pour plus de détails.
GltfFormat
Descripteur de format singleton. Obtenez via GltfFormat.getInstance() et passez à scene.save() comme deuxième argument.
Format STL
StlImporter
Lit les fichiers STL ASCII et binaires dans un Scene contenant un Mesh entité.
StlExporter
Écrit un STL binaire. La sortie contient le maillage triangulé de la scène ; les polygones non triangulaires sont triangulés automatiquement.
StlLoadOptions
Options de chargement pour STL. Contrôle si l’importateur inverse les normales lors de l’importation.
StlSaveOptions
Options d’enregistrement pour l’exportation STL. Propriété clé : binaryMode (booléen, défaut false). Contrôle si la sortie est en STL ASCII ou binaire. Voir Options de chargement et d’enregistrement du format pour plus de détails.
StlFormat
Descripteur de format singleton. Obtenez-le via StlFormat.getInstance().
3MF Format
ThreeMfImporter
Lit les archives 3MF de la Open Packaging Convention et remplit un Scene avec des objets maillage, des couleurs et des propriétés de matériau.
ThreeMfExporter
Écrit une archive 3MF valide à partir de la scène actuelle. Convient aux flux de travail d’impression 3D.
ThreeMfLoadOptions
Options de chargement pour les fichiers 3MF.
ThreeMfSaveOptions
Options d’enregistrement pour l’export 3MF.
ThreeMfFormat
Descripteur de format singleton. Obtenez-le via ThreeMfFormat.getInstance().
Format FBX
FbxImporter
Lit les fichiers FBX binaires et ASCII incluant la géométrie, les matériaux, les squelettes, les blend shapes et les clips d’animation.
FbxExporter
Écrit des fichiers FBX à partir de la scène actuelle. La sortie FBX binaire et ASCII est prise en charge selon les options.
FbxLoadOptions
Options de chargement pour FBX. Contrôle si l’animation, les skins et les blend shapes sont importés.
FbxSaveOptions
Options d’enregistrement pour l’export FBX. Propriété clé : embedTextures (booléen, valeur par défaut false). Voir Options de chargement et d’enregistrement du format pour plus de détails.
FbxFormat
Descripteur de format singleton. Obtenez-le via FbxFormat.getInstance().
Format COLLADA
L’import et l’export COLLADA nécessitent le xmldom dépendance peer, qui est installée automatiquement avec @aspose/3d.
ColladaImporter
Lit COLLADA (.dae) fichiers XML en utilisant xmldom. Gère la géométrie, les matériaux, les caméras, les lumières et l’animation.
ColladaExporter
Écrit la sortie XML COLLADA à partir de la scène actuelle. Convient à l’échange avec les outils DCC (Blender, Maya, etc.).
ColladaFormat
Singleton de descripteur de format. Obtenez via ColladaFormat.getInstance().
Système de propriétés
Une paire nom/valeur typée qui peut être attachée à tout A3DObject. Prend en charge les types de valeurs scalaires et vectorielles.
PropertyCollection
Un conteneur ordonné de Property objets. Accessible sur n’importe quel A3DObject via le properties accesseur.
CustomObject
Un sac de propriétés libre qui étend A3DObject. Utilisé pour stocker des métadonnées arbitraires qui ne correspondent pas à une classe standard.
Informations sur l’actif
AssetInfo
Contient les métadonnées au niveau de la scène chargées depuis le fichier source : auteur, nom de l’application, date de création, échelle d’unité et informations sur les axes de coordonnées.
ImageRenderOptions
Options contrôlant la façon dont les textures et les images sont résolues et encodées lors de l’enregistrement dans des formats qui intègrent des données d’image (p. ex., GLB avec binaryMode: true).
Voir aussi
- Base de connaissances : Guides pratiques
- Vue d’ensemble détaillée de l’API
- Classe Scene
- Classe Node
- Classe Mesh
- Classe Transform
- Classe GlobalTransform
- Classe Camera
- Classe Light
- Classe Vector3
- Classe Quaternion
- Classe Matrix4
- Classe BoundingBox
- Material, LambertMaterial, PhongMaterial, PbrMaterial
- Options de chargement et d’enregistrement du format
- Référence Vector2, Vector4
- Référence Property, PropertyCollection, AssetInfo
- Référence A3DObject, SceneObject, Entity
- Référence VertexElement, VertexElementNormal, VertexElementUV
- Référence des énumérations
- npm: @aspose/3d
- GitHub: aspose-3d-node