Navegue pelos nossos produtos
Aspose.3D para Java 24.2 – Notas da Versão
Esta página contém informações de notas de lançamento para Aspose.3D para Java 24.2.
Melhorias e Alterações
| Key | Summary | Category | 
|---|---|---|
| THREEDJAVA-329 | Adicionar InputStream/OutputStream nativo para operações de IO do Scene | Melhoria | 
| THREEDNET-1499 | OBJ para GLTF - grande número de vértices | Melhoria | 
| THREEDNET-1509 | Atualizar suporte .net 7.0 para .net 8.0 | Melhoria | 
| THREEDNET-1460 | Nós de esqueleto exportados do Fbx não têm transformação, mas têm pose | Correção de bug | 
| THREEDNET-1494 | Adicionado suporte da extensão KHR_mesh_quantization na importação de GLTF | Correção de bug | 
| THREEDNET-1495 | Exportar animações de GLB para FBX pode causar falha do Slerp | Correção de bug | 
| THREEDNET-1496 | Tipo de atributo não suportado pode fazer com que o importador do Maya pare | Correção de bug | 
| THREEDNET-1497 | Primitivo sem um valor de propriedade válido pode falhar ao carregar em USD | Correção de bug | 
| THREEDNET-1498 | Problema de referência externa 3MF no elemento de construção | Correção de bug | 
Alterações na API
Esta versão é principalmente uma versão de correção de bugs, com algumas alterações na API:
Adicionados membros à classe com.aspose.threed.Mesh:
    /**
     *  Retorna malha triangulada
     *
     * @return Malha atual se a malha atual já foi triangulada, caso contrário, uma nova malha triangulada será calculada e retornada
     *
     */
    public Mesh triangulate()Esta função permite que você triangule uma malha de forma simples.
Código de exemplo
        //A malha do plano tem apenas um polígono com 4 pontos de controle
        Mesh mesh = (new Plane()).toMesh();
        //Após triangulado, o retângulo da nova malha se tornará 2 triângulos.
        Mesh triangulated = mesh.triangulate();Adicionados membros à classe com.aspose.threed.TriMesh:
    /**
     *  Adiciona um novo triângulo
     *
     * @param a Índice do primeiro vértice
     * @param b Índice do segundo vértice
     * @param c Índice do terceiro vértice
     */
    public void addTriangle(int a, int b, int c);
    /**    
     * Escreve dados de vértices no stream especificado    
     *    
     * @param stream O stream para o qual os dados dos vértices serão escritos    
     */    
    public void writeVerticesTo(OutputStream stream)    throws IOException;
    /**    
     * Escreve os dados dos índices como inteiro de 16 bits no stream    
     *    
     * @param stream     
     * </pre>    
     *    
     */    
    public void write16bIndicesTo(OutputStream stream)    throws IOException;
        
    /**    
     * Escreve os dados dos índices como inteiro de 32 bits no stream    
     *    
     * @param stream     
     */    
    public void write32bIndicesTo(OutputStream stream)    throws IOException;Esta função permite que você adicione manualmente um triângulo ao TriMesh.
Código de exemplo
  int[] indices = new int[] { 0,  1,  2 };
  byte[] vertices = new byte[]{
      0, 0, 0, 191,
      0, 0, 0, 0,
      0, 0, 0, 191,
      0, 0, 0, 191,
      0, 0, 0, 0,
      0, 0, 0, 63,
      0, 0, 0, 63,
      0, 0, 0, 0,
      0, 0, 0, 63
  };
  VertexDeclaration vd = new VertexDeclaration();
  vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
  //cria uma malha TriMesh vazia com declaração de vértice especificada
  var triMesh = new TriMesh("", vd);
  //carrega vértices diretamente de bytes
  triMesh.loadVerticesFromBytes(vertices);
  triMesh.addTriangle(0, 1, 2);Adicionados membros à classe com.aspose.threed.Scene:
    /**    
     *  Abre a cena do stream fornecido usando o formato de arquivo especificado.    
     *    
     * @param stream Stream de entrada, o usuário é responsável por fechar o stream.    
     * @param format Formato de arquivo.    
     * @param cancellationToken Token de cancelamento para a tarefa de carregamento    
     *    
     */    
    public static Scene fromStream(InputStream stream, FileFormat format, Cancellation cancellationToken)    
            throws IOException    
    /**    
     *  Abre a cena do stream fornecido usando o formato de arquivo especificado.    
     *    
     * @param stream Stream de entrada, o usuário é responsável por fechar o stream.    
     * @param format Formato de arquivo.    
     *    
     */    
    public static Scene fromStream(InputStream stream, FileFormat format)    
            throws IOException    
    /**    
     *  Abre a cena do stream fornecido usando a configuração de IO especificada.    
     *    
     * @param stream Stream de entrada, o usuário é responsável por fechar o stream.    
     * @param options Configuração mais detalhada para abrir o stream.    
     * @param cancellationToken Token de cancelamento para a tarefa de carregamento    
     *    
     */    
    public void open(InputStream stream, FileFormat format, Cancellation cancellationToken)    
            throws IOException    
    /**    
     *  Abre a cena do stream fornecido usando a configuração de IO especificada.    
     *    
     * @param stream Stream de entrada, o usuário é responsável por fechar o stream.    
     * @param options Configuração mais detalhada para abrir o stream.    
     *    
     */    
    public void open(InputStream stream, SaveOptions options)    
            throws IOException    
    /**    
     *   Abre a cena do stream fornecido    
     *    
     * @param stream Stream de entrada, o usuário é responsável por fechar o stream.    
     *    
     */    
    public void open(InputStream stream)    
            throws IOException    
    /**    
     *  Salva a cena no stream usando o formato de arquivo especificado.    
     *    
     * @param stream Stream de saída, o usuário é responsável por fechar o stream.    
     * @param format Formato.    
     *    
     */    
    public void save(OutputStream stream, FileFormat format)    
            throws IOException    
    /**    
     *  Salva a cena no stream usando o formato de arquivo especificado.    
     *    
     * @param stream Stream de saída, o usuário é responsável por fechar o stream.    
     * @param format Formato.    
     * @param cancellationToken Token de cancelamento para a tarefa de salvamento    
     */    
    public void save(OutputStream stream, FileFormat format, Cancellation cancellationToken)    
            throws IOException    
    /**    
     *  Salva a cena no stream usando o formato de arquivo especificado.    
     *    
     * @param stream Stream de saída, o usuário é responsável por fechar o stream.    
     * @param options Configurações mais detalhadas para salvar o stream.    
     *    
     */    
    public void save(OutputStream stream, SaveOptions options)    
            throws IOException    
    /**    
     *  Salva a cena no stream usando o formato de arquivo especificado.    
     *    
     * @param stream Stream de saída, o usuário é responsável por fechar o stream.    
     * @param options Configurações mais detalhadas para salvar o stream.    
     * @param cancellationToken Token de cancelamento para a tarefa de salvamento    
     *    
     */    
    public void save(OutputStream stream, SaveOptions options, Cancellation cancellationToken)    
            throws IOException    Houve apenas a versão Stream de save/open/fromStream antes, agora suportamos InputStream/OutputStream do JDK.