Aspose.3D FOSS for TypeScript
Referência da API para @aspose/3d versão 24.12.0. Instale via:
npm install @aspose/3dRuntime: Node.js 18, 20, 22+ · Linguagem: TypeScript 5.0+ / JavaScript (CommonJS) · Licença: MIT
Grafo de Cena Principal
ImageRenderOptions
O contêiner raiz para uma cena 3D. Chame scene.open() ou scene.openFromBuffer() para carregar um arquivo, e scene.save() para gravar a saída. Expõe scene.rootNode como ponto de entrada para a hierarquia de nós.
ImageRenderOptions
Um nó nomeado na árvore de cena. Contém um(a) Transform, um(a) opcional entity (malha, câmera, luz ou outro SceneObject), e zero ou mais nós filhos acessíveis via childNodes.
ImageRenderOptions
Classe base para todos os objetos que podem ser anexados a um Node como sua entidade principal. Subclassificado por Mesh, Camera, Light, e outros.
SceneObject
Base abstrata para objetos nomeados que pertencem a uma cena. Fornece o name propriedade e rastreamento de associação à cena compartilhados por nós, entidades e objetos de nível de recurso.
A3DObject
Classe base raiz para todos os objetos Aspose.3D. Fornece o sistema de propriedades (getProperty, setProperty) e o name campo herdado por todas as classes públicas.
Geometria e Malha
ImageRenderOptions
Representa uma malha poligonal. Contém um controlPoints array de Vector4 vértices e definições de polígonos criados via createPolygon(). Chame triangulate() para converter todos os polígonos em triângulos antes da exportação.
ImageRenderOptions
Classe base para todos os tipos de geometria. Contém controlPoints e a coleção de elementos de vértice (normais, UVs, cores) anexados à geometria.
VertexElement
Classe base para canais de atributos por vértice anexados a um Geometry.Subclasses carregam arrays de dados tipados e mappingMode / referenceMode metadados.
VertexElementNormal
Um VertexElement subclasse que armazena normais de superfície. Os dados são armazenados internamente como FVector4[] (herdado de VertexElementFVector). Necessário para a maioria dos renderizadores para iluminação correta.
VertexElementUV
A VertexElement subclasse que armazena coordenadas de textura 2D. Uma única malha pode ter múltiplos conjuntos UV para diferentes camadas de textura.
VertexElementVertexColor
A VertexElement subclasse que armazena valores de cor RGBA por vértice.
VertexElementType
Enumeração dos tipos de canal de atributo que um VertexElement pode representar (por exemplo,., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
Enumeração que controla como os dados do elemento são mapeados para a geometria: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, ou ALL_SAME.
ReferenceMode
Enumeração que controla como os índices de elemento referenciam os dados: DIRECT (um-para-um) ou INDEX_TO_DIRECT (via um array de índices).
TextureMapping
Enumeração das semânticas dos canais de textura: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, e mais.
Transform e Spatial
ImageRenderOptions
Mantém a posição local (translation), rotação (rotation como Quaternion), e escala (scaling) de um Node. Alterações aqui afetam o nó e todos os seus filhos.
GlobalTransform
Visão somente leitura da transformação em espaço mundial de um nó, calculada acumulando todos os ancestrais Transform valores. Acesso via node.globalTransform.
BoundingBox
Uma axis-aligned bounding box definida por um minimum e maximum Vector3 canto. Usado para descrever a extensão espacial de um mesh ou cena.
ImageRenderOptions
Material, LambertMaterial, PhongMaterial, PbrMaterial
Material é a classe base abstrata para todos os tipos de material. Três implementações concretas estão disponíveis:
- LambertMaterial — apenas difuso com canais de cor ambiente, difuso e emissivo. Adequado para superfícies não especulares.
- PhongMaterial — estende
LambertMaterialcom cor especular e propriedades de brilho para sombreamento Phong. - PbrMaterial — material de renderização fisicamente baseada com canais metálico, rugosidade, cor-base e mapa normal. Mapeia diretamente para o modelo de material glTF 2.0 PBR.
Câmera e Iluminação
ImageRenderOptions
Uma entidade de nó de ponto de vista com tipo de projeção, campo de visão, distâncias de recorte próximo/distante e propriedades de proporção de aspecto.
ImageRenderOptions
Uma entidade de nó de fonte de luz. O tipo é controlado pelo LightType enumeração.
LightType
Enumeração dos tipos de luz suportados: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
Enumeração dos modos de projeção da câmera: PERSPECTIVE e ORTHOGRAPHIC.
Utilitários Matemáticos
ImageRenderOptions
Um vetor de ponto flutuante de três componentes com x, y, z campos e métodos aritméticos comuns (dot, cross, normalize, minus, times). Exportado de @aspose/3d/utilities.
ImageRenderOptions
Um vetor de ponto flutuante de quatro componentes com x, y, z, w campos. Usado como o tipo de entradas em Mesh.controlPoints.
ImageRenderOptions
Um vetor de dupla precisão de dois componentes com x e y campos. Usado para coordenadas de textura UV.
FVector3
Um vetor compacto de três componentes de ponto flutuante de precisão simples usado em arrays de dados de elementos de vértice para normais e tangentes.
ImageRenderOptions
Uma matriz de transformação 4×4. Suporta concatenação, inversão, transposição e decomposição em componentes de translação, rotação e escala. Exportado de @aspose/3d/utilities.
ImageRenderOptions
Um quaternion unitário para representar rotações sem gimbal lock. Fornece slerp() para interpolação suave e conversão de/para ângulos de Euler e Matrix4. Exportado de @aspose/3d/utilities.
ImageRenderOptions
AnimationClip
Uma coleção nomeada, limitada no tempo, de AnimationNode trilhas. O contêiner principal para dados de animação por quadros‑chave carregados de arquivos FBX ou COLLADA.
AnimationNode
Uma trilha de animação nomeada que tem como alvo um caminho de propriedade específico em um objeto da cena. Contém um ou mais AnimationChannel objetos.
AnimationChannel
Um único canal de propriedade animado dentro de um AnimationNode. Contém um KeyframeSequence de pares tempo/valor.
KeyFrame
Uma única amostra tempo/valor em um KeyframeSequence. Carrega o carimbo de tempo (em segundos), o valor e as informações de tangente para interpolação.
KeyframeSequence
Uma lista ordenada de KeyFrame amostras para um canal de propriedade, juntamente com o Interpolation e Extrapolation configurações que controlam a reprodução.
ImageRenderOptions
Enumeração dos modos de interpolação de quadros‑chave. Membros conhecidos incluem LINEAR e CONSTANT. Membros adicionais, como BEZIER podem estar disponíveis.
ImageRenderOptions
Define o comportamento fora do intervalo de quadros‑chave (antes da primeira chave e após a última chave). Controlado por ExtrapolationType.
StepMode
Enumeração que controla como a interpolação em degraus (constante) é aplicada nas fronteiras.
WeightedMode
Enumeração para o tratamento do peso da tangente Bézier: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, ou BOTH.
ExtrapolationType
Enumeração de comportamentos fora do intervalo: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, e OSCILLATE.
Entrada/saída de formato
FileFormat
Descritor base para um formato de arquivo 3D. Cada formato suportado fornece um singleton concreto via getInstance().
ImageRenderOptions
Classe base para implementações de importação específicas de formato. Não instanciada diretamente; invocada internamente por scene.open().
ImageRenderOptions
Classe base para implementações de exportação específicas de formato. Não instanciada diretamente; invocada internamente por scene.save().
LoadOptions
Classe base para objetos de opções de carregamento específicos de formato. Passe uma instância da subclasse para scene.open() ou scene.openFromBuffer().
SaveOptions
Classe base para objetos de opções de salvamento específicos de formato. Passe uma instância da subclasse para scene.save().
IOService
Interface de serviço interno que abstrai I/O de sistema de arquivos e buffers para importadores e exportadores.
Formato OBJ
OBJ suporta tanto importação quanto exportação. Ao salvar como OBJ, a biblioteca de materiais (.mtl) é escrita automaticamente ao lado do .obj arquivo.
ObjImporter
Importador interno que lê arquivos Wavefront OBJ, resolve .mtl bibliotecas de material e preenche um Scene. Invocado automaticamente quando ObjLoadOptions é passado para scene.open().
ObjExporter
Exportador interno que grava arquivos Wavefront OBJ. Um companheiro .mtl biblioteca de material é escrita automaticamente. Invocado quando scene.save() aponta para um .obj caminho.
ObjLoadOptions
Opções de carregamento para arquivos OBJ. Propriedades principais: enableMaterials (booleano, padrão true), flipCoordinateSystem (boolean), normalizeNormal (boolean, default true), scale (number). Veja Opções de carregamento e salvamento de formato para obter detalhes completos.
ObjSaveOptions
Salvar opções para exportação OBJ. Passe para scene.save() para controlar o comportamento da saída OBJ. Veja Opções de carregamento e salvamento de formato para obter detalhes completos.
ObjFormat
Descritor de formato singleton para OBJ. Ambos canImport e canExport são true.
Formato glTF
GltfImporter
Lê JSON glTF 2.0 (.gltf) e binário GLB (.glb) arquivos. Lida com referências de buffer incorporadas e externas, materiais PBR, skins e clipes de animação.
GltfExporter
Grava saída glTF 2.0. Quando GltfSaveOptions.binaryMode é true, produz um GLB autônomo; caso contrário grava um JSON .gltf com um .bin buffer.
GltfLoadOptions
Opções de carregamento para arquivos glTF/GLB. Controla a resolução do buffer e o comportamento de carregamento de texturas.
GltfSaveOptions
Opções de salvamento para exportação glTF/GLB. Propriedades notáveis: binaryMode (booleano, true → GLB, padrão false), flipTexCoordV (booleano, inverte o eixo vertical UV, padrão true). Veja Opções de carregamento e salvamento de formato para detalhes completos.
GltfFormat
Singleton descritor de formato. Obtenha via GltfFormat.getInstance() e passe para scene.save() como o segundo argumento.
Formato STL
StlImporter
Lê arquivos STL ASCII e binários em um Scene contendo um único Mesh entidade.
StlExporter
Grava STL binário. A saída contém a malha triangulada da cena; polígonos que não são triângulos são triangulados automaticamente.
StlLoadOptions
Opções de carregamento para STL. Controla se o importador inverte as normais durante a importação.
StlSaveOptions
Opções de salvamento para exportação STL. Propriedade chave: binaryMode (booleano, padrão false). Controla se a saída é STL ASCII ou binário. Veja Opções de carregamento e salvamento de formato para detalhes completos.
StlFormat
Descritor de formato singleton. Obtenha via StlFormat.getInstance().
3MF Format
ThreeMfImporter
Lê arquivos 3MF da Open Packaging Convention e preenche um Scene com objetos de malha, cores e propriedades de material.
ThreeMfExporter
Grava um arquivo 3MF válido a partir da cena atual. Adequado para fluxos de trabalho de impressão 3D.
ThreeMfLoadOptions
Opções de carregamento para arquivos 3MF.
ThreeMfSaveOptions
Opções de salvamento para exportação 3MF.
ThreeMfFormat
Descritor de formato singleton. Obtenha via ThreeMfFormat.getInstance().
Formato FBX
FbxImporter
Lê arquivos FBX binários e ASCII, incluindo geometria, materiais, esqueletos, blend shapes e clipes de animação.
FbxExporter
Grava arquivos FBX a partir da cena atual. Tanto a saída FBX binária quanto a ASCII são suportadas, dependendo das opções.
FbxLoadOptions
Opções de carregamento para FBX. Controla se animação, skins e blend shapes são importados.
FbxSaveOptions
Opções de salvamento para exportação FBX. Propriedade chave: embedTextures (booleano, padrão false). Veja Opções de carregamento e salvamento de formato para detalhes completos.
FbxFormat
Descritor de formato singleton. Obtenha via FbxFormat.getInstance().
Formato COLLADA
A importação e exportação COLLADA requerem o xmldom dependência peer, que é instalada automaticamente com @aspose/3d.
ColladaImporter
Lê COLLADA (.dae) arquivos XML usando xmldom. Manipula geometria, materiais, câmeras, luzes e animação.
ColladaExporter
Gera saída XML COLLADA a partir da cena atual. Adequado para intercâmbio com ferramentas DCC (Blender, Maya, etc.).
ColladaFormat
Singleton de descritor de formato. Obtenha via ColladaFormat.getInstance().
Sistema de Propriedades
ImageRenderOptions
Um par nome/valor tipado que pode ser anexado a qualquer A3DObject. Suporta tipos de valor escalar e vetor.
PropertyCollection
Um contêiner ordenado de Property objetos. Acessível em qualquer A3DObject via o properties acessador.
CustomObject
Um conjunto de propriedades de formato livre que estende A3DObject. Usado para armazenar metadados arbitrários que não correspondem a uma classe padrão.
Informações do Ativo
AssetInfo
Carrega metadados de nível de cena carregados do arquivo fonte: autor, nome da aplicação, data de criação, escala da unidade e informações dos eixos de coordenadas.
ImageRenderOptions
Opções que controlam como texturas e imagens são resolvidas e codificadas ao salvar em formatos que incorporam dados de imagem (por exemplo, GLB com binaryMode: true).
Veja Também
- Base de Conhecimento: Guias Práticos
- Visão Geral Detalhada da 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
- Opções de carregamento e salvamento de formato
- Referência Vector2, Vector4
- Referência Property, PropertyCollection, AssetInfo
- Referência A3DObject, SceneObject, Entity
- Referência VertexElement, VertexElementNormal, VertexElementUV
- Referência de enumerações
- npm: @aspose/3d
- GitHub: aspose-3d-node