Navegue pelos nossos produtos

Aspose.3D para Java 24.2 – Notas da Versão

Melhorias e Alterações

KeySummaryCategory
THREEDJAVA-329Adicionar InputStream/OutputStream nativo para operações de IO do SceneMelhoria
THREEDNET-1499OBJ para GLTF - grande número de vérticesMelhoria
THREEDNET-1509Atualizar suporte .net 7.0 para .net 8.0Melhoria
THREEDNET-1460Nós de esqueleto exportados do Fbx não têm transformação, mas têm poseCorreção de bug
THREEDNET-1494Adicionado suporte da extensão KHR_mesh_quantization na importação de GLTFCorreção de bug
THREEDNET-1495Exportar animações de GLB para FBX pode causar falha do SlerpCorreção de bug
THREEDNET-1496Tipo de atributo não suportado pode fazer com que o importador do Maya pareCorreção de bug
THREEDNET-1497Primitivo sem um valor de propriedade válido pode falhar ao carregar em USDCorreção de bug
THREEDNET-1498Problema de referência externa 3MF no elemento de construçãoCorreçã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.


 
 Português