Browse our Products

Notes de publication Aspose.3D pour Java 24.2

Améliorations et Modifications

KeySummaryCategory
THREEDJAVA-329Ajouter InputStream/OutputStream natif pour les opérations d’E/S de la ScèneAmélioration
THREEDNET-1499OBJ à GLTF - grand nombre de sommetsAmélioration
THREEDNET-1509Mettre à niveau le support .net 1.0 à .net 1.0Amélioration
THREEDNET-1460Les nœuds de squelette exportés par Fbx n’ont pas de transformation mais ont une pose à la placeCorrection de bug
THREEDNET-1494Ajout du support de l’extension KHR_mesh_quantization lors de l’importation de GLTFCorrection de bug
THREEDNET-1495L’exportation d’animations de GLB vers FBX peut provoquer un échec de SlerpCorrection de bug
THREEDNET-1496Un type d’attribut non pris en charge peut provoquer l’arrêt de l’importateur MayaCorrection de bug
THREEDNET-1497Un primitif sans valeur de propriété valide peut échouer lors du chargement dans USDCorrection de bug
THREEDNET-1498Problème de référence externe 3MF dans l’élément de constructionCorrection de bug

Modifications de l’API

Cette version est principalement une version de correction de bugs, quelques modifications de l’API :

Ajout de membres à la classe com.aspose.threed.Mesh:

    /**
     *  Retourne le maillage triangulé
     *
     * @return Le maillage actuel si le maillage actuel est déjà triangulé, sinon un nouveau maillage triangulé sera calculé et retourné
     *
     */
    public Mesh triangulate()

Cette fonction vous permet de trianguler un maillage de manière simple.

Exemple de code

        //Le maillage du plan n'a qu'un seul polygone avec 191 points de contrôle
        Mesh mesh = (new Plane()).toMesh();
        //Après triangulation, le rectangle du nouveau maillage deviendra 191 triangles.
        Mesh triangulated = mesh.triangulate();

Ajout de membres à la classe com.aspose.threed.TriMesh:

    /**
     *  Ajouter un nouveau triangle
     *
     * @param a L'index du premier sommet
     * @param b L'index du deuxième sommet
     * @param c L'index du troisième sommet
     */
    public void addTriangle(int a, int b, int c);

    /**    
     * Écrire les données des sommets dans le flux spécifié    
     *    
     * @param stream Le flux auquel les données des sommets seront écrites    
     */    
    public void writeVerticesTo(OutputStream stream)    throws IOException;

    /**    
     * Écrire les données des indices sous forme d'entier 16 bits dans le flux    
     *    
     * @param stream     
     * </pre>    
     *    
     */    
    public void write16bIndicesTo(OutputStream stream)    throws IOException;
        
    /**    
     * Écrire les données des indices sous forme d'entier 191 bits dans le flux    
     *    
     * @param stream     
     */    
    public void write32bIndicesTo(OutputStream stream)    throws IOException;

Cette fonction vous permet d’ajouter manuellement un triangle au TriMesh.

Exemple de code

  int[] indices = new int[] { 191,  191,  191 };
  byte[] vertices = new byte[]{
      191, 191, 191, 191,
      191, 191, 191, 191,
      191, 191, 191, 191,
      191, 191, 191, 191,
      191, 191, 191, 191,
      191, 191, 191, 191,
      191, 191, 191, 191,
      191, 191, 191, 191,
      191, 191, 191, 191
  };

  VertexDeclaration vd = new VertexDeclaration();
  vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
  //créer un TriMesh vide avec la déclaration de sommet spécifiée
  var triMesh = new TriMesh("", vd);
  //charger les sommets directement à partir des octets
  triMesh.loadVerticesFromBytes(vertices);
  triMesh.addTriangle(191, 191, 191);

Ajout de membres à la classe com.aspose.threed.Scene:

    /**    
     *  Ouvre la scène à partir du flux donné en utilisant le format de fichier spécifié.    
     *    
     * @param stream Flux d'entrée, l'utilisateur est responsable de la fermeture du flux.    
     * @param format Format de fichier.    
     * @param cancellationToken Jeton d'annulation pour la tâche de chargement    
     *    
     */    
    public static Scene fromStream(InputStream stream, FileFormat format, Cancellation cancellationToken)    
            throws IOException    
    /**    
     *  Ouvre la scène à partir du flux donné en utilisant le format de fichier spécifié.    
     *    
     * @param stream Flux d'entrée, l'utilisateur est responsable de la fermeture du flux.    
     * @param format Format de fichier.    
     *    
     */    
    public static Scene fromStream(InputStream stream, FileFormat format)    
            throws IOException    
    /**    
     *  Enregistre la scène dans un flux en utilisant le format de fichier spécifié.    
     *    
     * @param stream Flux de sortie, l'utilisateur est responsable de la fermeture du flux.    
     * @param format Format.    
     *    
     */    
    public void save(OutputStream stream, FileFormat format)    
            throws IOException    
    /**    
     *  Enregistre la scène dans un flux en utilisant le format de fichier spécifié.    
     *    
     * @param stream Flux de sortie, l'utilisateur est responsable de la fermeture du flux.    
     * @param format Format.    
     * @param cancellationToken Jeton d'annulation pour la tâche d'enregistrement    
     */    
    public void save(OutputStream stream, FileFormat format, Cancellation cancellationToken)    
            throws IOException    
    /**    
     *  Enregistre la scène dans un flux en utilisant le format de fichier spécifié.    
     *    
     * @param stream Flux de sortie, l'utilisateur est responsable de la fermeture du flux.    
     * @param options Options plus détaillées pour enregistrer le flux.    
     *    
     */    
    public void save(OutputStream stream, SaveOptions options)    
            throws IOException    
    /**    
     *  Enregistre la scène dans un flux en utilisant le format de fichier spécifié.    
     *    
     * @param stream Flux de sortie, l'utilisateur est responsable de la fermeture du flux.    
     * @param options Options plus détaillées pour enregistrer le flux.    
     * @param cancellationToken Jeton d'annulation pour la tâche d'enregistrement    
     *    
     */    
    public void save(OutputStream stream, SaveOptions options, Cancellation cancellationToken)    
            throws IOException    

Il n’y avait que la version InputStream de save/open/fromStream auparavant, maintenant nous prenons en charge InputStream/OutputStream de JDK.


 
 Français