Explore nuestros productos

Aspose.3D para Node.js vía Java 24.2 Notas de la versión

Mejoras y Cambios

KeySummaryCategory
THREEDJAVA-329Agregar InputStream/OutputStream nativos para las operaciones de IO de la EscenaImprovement
THREEDNET-1499OBJ a GLTF - gran número de vérticesImprovement
THREEDNET-1509Actualizar el soporte de .net 7.0 a .net 8.0Improvement
THREEDNET-1460Los nodos de esqueleto exportados de Fbx no tienen transformación sino poseBug fixing
THREEDNET-1494Se agregó soporte de la extensión KHR_mesh_quantization en la importación de GLTFBug fixing
THREEDNET-1495Exportar animaciones de GLB a FBX puede causar fallo de SlerpBug fixing
THREEDNET-1496El tipo de atributo no soportado puede hacer que el importador de Maya se detengaBug fixing
THREEDNET-1497Una primitiva sin un valor de propiedad válido puede fallar al cargarse en USDBug fixing
THREEDNET-1498Problema de referencia externa de 3MF en el elemento de compilaciónBug fixing
THREEDNJS-115Agregar el método ’toRadian’ a MathUtils en Node.jsImprovement

Cambios en la API

Esta versión es principalmente una versión de corrección de errores, algunos cambios en la API:

Se agregaron miembros a la clase com.aspose.threed.Mesh:

    /**
     *  Devolver malla triangulada
     *
     * @return Malla actual si la malla actual ya está triangulada, de lo contrario se calculará y se devolverá una nueva malla triangulada
     *
     */
    public Mesh triangulate()

Esta función le permite triangular una malla de una manera sencilla.

Código de ejemplo

        //La malla de plano tiene solo un polígono con 4 puntos de control
        Mesh mesh = (new Plane()).toMesh();
        //Después de triangulada, el rectángulo de la nueva malla se convertirá en 2 triángulos.
        Mesh triangulated = mesh.triangulate();

Se agregaron miembros a la clase com.aspose.threed.TriMesh:

    /**
     *  Agregar un nuevo triángulo
     *
     * @param a Índice del primer vértice
     * @param b Índice del segundo vértice
     * @param c Índice del tercer vértice
     */
    public void addTriangle(int a, int b, int c);

    /**    
     * Escribir datos de vértices en el flujo especificado    
     *    
     * @param stream El flujo al que se escribirán los datos de los vértices    
     */    
    public void writeVerticesTo(OutputStream stream)    throws IOException;

    /**    
     * Escribir los datos de los índices como entero de 16 bits en el flujo    
     *    
     * @param stream     
     * </pre>    
     *    
     */    
    public void write16bIndicesTo(OutputStream stream)    throws IOException;
        
    /**    
     * Escribir los datos de los índices como entero de 32 bits en el flujo    
     *    
     * @param stream     
     */    
    public void write32bIndicesTo(OutputStream stream)    throws IOException;

Esta función le permite agregar manualmente un triángulo a la TriMesh.

Código de ejemplo

  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);
  //crear una TriMesh vacía con la declaración de vértice especificada
  var triMesh = new TriMesh("", vd);
  //cargar vértices directamente de bytes
  triMesh.loadVerticesFromBytes(vertices);
  triMesh.addTriangle(0, 1, 2);

Se agregaron miembros a la clase com.aspose.threed.Scene:

    /**    
     *  Abre la escena del flujo dado usando el formato de archivo especificado.    
     *    
     * @param stream Flujo de entrada, el usuario es responsable de cerrar el flujo.    
     * @param format Formato de archivo.    
     * @param cancellationToken Token de cancelación para la tarea de carga    
     *    
     */    
    public static Scene fromStream(InputStream stream, FileFormat format, Cancellation cancellationToken)    
            throws IOException    
    /**    
     *  Abre la escena del flujo dado usando el formato de archivo especificado.    
     *    
     * @param stream Flujo de entrada, el usuario es responsable de cerrar el flujo.    
     * @param format Formato de archivo.    
     *    
     */    
    public static Scene fromStream(InputStream stream, FileFormat format)    
            throws IOException    
    /**    
     *  Abre la escena del flujo dado usando la configuración de IO especificada.    
     *    
     * @param stream Flujo de entrada, el usuario es responsable de cerrar el flujo.    
     * @param options Configuración más detallada para guardar el flujo.    
     *    
     */    
    public void save(OutputStream stream, SaveOptions options)    
            throws IOException    
    /**    
     *  Guarda la escena en un flujo usando el formato de archivo especificado.    
     *    
     * @param stream Flujo de entrada, el usuario es responsable de cerrar el flujo.    
     * @param format Formato.    
     * @param cancellationToken Token de cancelación para la tarea de guardado    
     */    
    public void save(OutputStream stream, FileFormat format, Cancellation cancellationToken)    
            throws IOException    
    /**    
     *  Guarda la escena en un flujo usando el formato de archivo especificado.    
     *    
     * @param stream Flujo de entrada, el usuario es responsable de cerrar el flujo.    
     * @param options Configuración más detallada para guardar el flujo.    
     *    
     */    
    public void save(OutputStream stream, SaveOptions options)    
            throws IOException    
    /**    
     *  Guarda la escena en un flujo usando el formato de archivo especificado.    
     *    
     * @param stream Flujo de entrada, el usuario es responsable de cerrar el flujo.    
     * @param options Configuración más detallada para guardar el flujo.    
     * @param cancellationToken Token de cancelación para la tarea de guardado    
     *    
     */    
    public void save(OutputStream stream, SaveOptions options, Cancellation cancellationToken)    
            throws IOException    

Antes solo había versión Stream de save/open/fromStream, ahora soportamos InputStream/OutputStream de JDK.


 
 Español