PolygonModifier

Inheritance: java.lang.Object

public class PolygonModifier

Utilitaires pour modifier les polygones

Méthodes

MéthodeDescription
applyTransform(Node node, Matrix4 transform)Appliquer la matrice de transformation sur les points de contrôle de toutes les géométries
buildTangentBinormal(Mesh mesh)Cela créera les tangentes et binormales sur le maillage. La normale est requise, si aucune normale n’existe sur le maillage, elle créera également les données de normale à partir de la position.
buildTangentBinormal(Scene scene)Cela créera les tangentes et binormales sur tous les maillages de la scène. La normale est requise, si aucune normale n’existe sur le maillage, elle créera également les données de normale à partir de la position.
equals(Object arg0)
generateNormal(Mesh mesh)Générer les données de normales à partir de la définition du maillage
generateUV(Mesh mesh)Générer les données UV à partir du maillage d’entrée fourni
generateUV(Mesh mesh, VertexElementNormal normals)Générer les données UV à partir du maillage d’entrée fourni et des données de normales spécifiées.
getClass()
hashCode()
mergeMesh(Node node)Convertir un nœud complet en un seul maillage transformé. Les éléments de sommet tels que les normales/coordonnées de texture ne sont pas encore pris en charge.
mergeMesh(Scene scene)Convertir une scène entière en un seul maillage transformé. Les éléments de sommet tels que les normales/coordonnées de texture ne sont pas encore pris en charge.
mergeMesh(List nodes)Convertir un nœud complet en un seul maillage transformé. Les éléments de sommet tels que les normales/coordonnées de texture ne sont pas encore pris en charge.
notify()
notifyAll()
scale(Node node, Vector3 scale)Mettre à l’échelle toutes les géométries (mettre à l’échelle les points de contrôle, pas la matrice de transformation) dans ce nœud
scale(Scene scene, Vector3 scale)Mettre à l’échelle toutes les géométries (mettre à l’échelle les points de contrôle, pas la matrice de transformation) dans cette scène
splitMesh(Mesh mesh, SplitMeshPolicy policy)Diviser le maillage en sous-maillages par VertexElementMaterial.
splitMesh(Node node, SplitMeshPolicy policy)Diviser le maillage en sous-maillages par VertexElementMaterial.
splitMesh(Node node, SplitMeshPolicy policy, boolean createChildNodes)Diviser le maillage en sous-maillages par VertexElementMaterial.
splitMesh(Node node, SplitMeshPolicy policy, boolean createChildNodes, boolean removeOldMesh)Diviser le maillage en sous-maillages par VertexElementMaterial.
splitMesh(Scene scene, SplitMeshPolicy policy)Diviser le maillage en sous-maillages par VertexElementMaterial.
splitMesh(Scene scene, SplitMeshPolicy policy, boolean removeOldMesh)Diviser le maillage en sous-maillages par VertexElementMaterial.
toString()
triangulate(Mesh mesh)Convertir un maillage basé sur des polygones en un maillage complet de triangles
triangulate(Scene scene)Convertir tous les maillages basés sur des polygones en un maillage complet de triangles
triangulate(List controlPoints)Convertir un polygone en triangles, l’ordre du polygone est défini par les controlPoints
triangulate(List controlPoints, int[] polygon)Convertir un polygone en triangles
triangulate(List controlPoints, List<int[]> polygons)Convertir un maillage basé sur des polygones en triangles
triangulate(List controlPoints, List<int[]> polygons, boolean generateNormals, Vector3[][] nor_out)Convertir un maillage basé sur des polygones en un maillage complet de triangles
wait()
wait(long arg0)
wait(long arg0, int arg1)

applyTransform(Node node, Matrix4 transform)

public static void applyTransform(Node node, Matrix4 transform)

Appliquer la matrice de transformation sur les points de contrôle de toutes les géométries

Parameters:

ParamètreTypeDescription
nodeNodeQuelles géométries du nœud seront appliquées avec la transformation donnée
transformMatrix4La matrice de transformation qui sera appliquée aux points de contrôle.

buildTangentBinormal(Mesh mesh)

public static void buildTangentBinormal(Mesh mesh)

Cette opération créera les tangentes et binormales sur le maillage. La normale est requise ; si aucune normale n’existe sur le maillage, les données de normale seront également créées à partir de la position. Les UV sont également requis, une exception sera levée si aucun UV n’est trouvé.

Parameters:

ParamètreTypeDescription
meshMesh

buildTangentBinormal(Scene scene)

public static void buildTangentBinormal(Scene scene)

Cette opération créera les tangentes et binormales sur tous les maillages de la scène. La normale est requise ; si aucune normale n’existe sur le maillage, les données de normale seront également créées à partir de la position. Les UV sont également requis, le maillage sera ignoré s’aucun UV n’est défini.

Parameters:

ParamètreTypeDescription
sceneScene

equals(Object arg0)

public boolean equals(Object arg0)

Parameters:

ParamètreTypeDescription
arg0java.lang.Object

Returns: boolean

generateNormal(Mesh mesh)

public static VertexElementNormal generateNormal(Mesh mesh)

Générer les données de normales à partir de la définition du maillage

Parameters:

ParamètreTypeDescription
meshMesh

Returns: VertexElementNormal - VertexElementNormal instance with normal data.

generateUV(Mesh mesh)

public static VertexElementUV generateUV(Mesh mesh)

Générer les données UV à partir du maillage d’entrée fourni

Parameters:

ParamètreTypeDescription
meshMeshLe maillage d’entrée

Returns: VertexElementUV - Generated UV data

generateUV(Mesh mesh, VertexElementNormal normals)

public static VertexElementUV generateUV(Mesh mesh, VertexElementNormal normals)

Générer les données UV à partir du maillage d’entrée fourni et des données de normales spécifiées.

Parameters:

ParamètreTypeDescription
meshMeshLe maillage d’entrée
normalsVertexElementNormalLes données de normale

Returns: VertexElementUV - Generated UV data

getClass()

public final native Class<?> getClass()

Returns: java.lang.Class

hashCode()

public native int hashCode()

Returns: int

mergeMesh(Node node)

public static Mesh mergeMesh(Node node)

Convertir un nœud complet en un seul maillage transformé. Les éléments de sommet tels que les normales/coordonnées de texture ne sont pas encore pris en charge.

Parameters:

ParamètreTypeDescription
nodeNodeLe nœud à fusionner

Returns: Mesh - Merged mesh Example: The following code shows how to merge all objects from nodes into a single mesh.

//Input file may contains multiple objects
          var scene = Scene.fromFile("input.fbx");
          //now merge them into a single mesh
          Mesh merged = PolygonModifier.mergeMesh(scene.getRootNode());
          //then we save it to a file with only one mesh
          var newScene = new Scene(merged);
          newScene.save("test.obj");

mergeMesh(Scene scene)

public static Mesh mergeMesh(Scene scene)

Convertir une scène entière en un seul maillage transformé. Les éléments de sommet tels que les normales/coordonnées de texture ne sont pas encore pris en charge.

Parameters:

ParamètreTypeDescription
sceneSceneLa scène à fusionner

Returns: Mesh - The merged mesh Example: The following code shows how to merge all objects from a scene into a single mesh.

//Input file may contains multiple objects
         var scene = Scene.fromFile("input.fbx");
         //now merge them into a single mesh
         Mesh merged = PolygonModifier.mergeMesh(scene);
         //then we save it to a file with only one mesh
         var newScene = new Scene(merged);
         newScene.save("test.obj");

mergeMesh(List nodes)

public static Mesh mergeMesh(List<Node> nodes)

Convertir un nœud complet en un seul maillage transformé. Les éléments de sommet tels que les normales/coordonnées de texture ne sont pas encore pris en charge.

Parameters:

ParamètreTypeDescription
nœudsjava.util.List<com.aspose.threed.Node>Les nœuds à fusionner

Returns: Mesh - Merged mesh Example: The following code shows how to merge all objects from nodes into a single mesh.

//Input file may contains multiple objects
         var scene = Scene.fromFile("input.fbx");
         //now merge them into a single mesh
         Mesh merged = PolygonModifier.mergeMesh(scene.getRootNode().getChildNodes());
         //then we save it to a file with only one mesh
         var newScene = new Scene(merged);
         newScene.save("test.obj");

notify()

public final native void notify()

notifyAll()

public final native void notifyAll()

scale(Node node, Vector3 scale)

public static void scale(Node node, Vector3 scale)

Mettre à l’échelle toutes les géométries (mettre à l’échelle les points de contrôle, pas la matrice de transformation) dans ce nœud

Parameters:

ParamètreTypeDescription
nodeNodeLe nœud à mettre à l’échelle
scaleVector3
//Load a test file for scaling
 		 var scene = Scene.fromFile("input.fbx");
 		 //scale all geometries 10 times.
 		 PolygonModifier.scale(scene.getRootNode(), new Vector3(10, 10, 10));
 		 scene.save("test.obj");
``` |

### scale(Scene scene, Vector3 scale) {#scale-com.aspose.threed.Scene-com.aspose.threed.Vector3-}

public static Scene scale(Scene scene, Vector3 scale)



Mettre à l'échelle toutes les géométries (mettre à l'échelle les points de contrôle, pas la matrice de transformation) dans cette scène

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| scene | [Scene](../../com.aspose.threed/scene) | La scène à mettre à l'échelle |
|  | scale | [Vector3](../../com.aspose.threed/vector3) | Le facteur d'échelle **Example:** Le code suivant montre comment mettre à l'échelle toutes les géométries de la scène par 10 fois. |

//Load a test file for scaling var scene = Scene.fromFile(“input.fbx”); //scale all geometries 10 times. PolygonModifier.scale(scene, new Vector3(10, 10, 10)); scene.save(“test.obj”);


**Returns:**
[Scene](../../com.aspose.threed/scene)
### splitMesh(Mesh mesh, SplitMeshPolicy policy) {#splitMesh-com.aspose.threed.Mesh-com.aspose.threed.SplitMeshPolicy-}

public static Mesh[] splitMesh(Mesh mesh, SplitMeshPolicy policy)



Diviser le maillage en sous-maillages par [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Chaque sous-maillage n'utilisera qu'un seul matériau. Le maillage original ne sera pas modifié.

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| mesh | [Mesh](../../com.aspose.threed/mesh) |  |
| policy | [SplitMeshPolicy](../../com.aspose.threed/splitmeshpolicy) |  |

**Returns:**
com.aspose.threed.Mesh[] - Nouveaux maillages découpés **Exemple:** Le code suivant montre comment diviser une boîte en sous‑maillages en utilisant les indices de matériau.

// Create a mesh of box(A box is composed by 6 planes) Mesh box = (new Box()).toMesh(); // Create a material element on this mesh VertexElementMaterial mat = (VertexElementMaterial)box.createElement(VertexElementType.MATERIAL, MappingMode.POLYGON, ReferenceMode.INDEX); // And specify different material index for each plane mat.setIndices(new int[] { 0, 1, 2, 3, 4, 5 }); // Now split it into 6 sub meshes, we specified 6 different materials on each plane, each plane will become a sub mesh. // We used the CloneData policy, each plane will has the same control point information or control point-based vertex element information. Mesh[] planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.CLONE_DATA);

		// Now split it into 2 sub meshes, first mesh will contains 0/1/2 planes, and second mesh will contains the 3/4/5th planes.
		mat.setIndices(new int[] { 0, 0, 0, 1, 1, 1 });
		// We used the CompactData policy, each plane will has its own control point information or control point-based vertex element information.
		planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.COMPACT_DATA);
### splitMesh(Node node, SplitMeshPolicy policy) {#splitMesh-com.aspose.threed.Node-com.aspose.threed.SplitMeshPolicy-}

public static void splitMesh(Node node, SplitMeshPolicy policy)



Divisez le maillage en sous‑maillages par [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Chaque sous‑maillage n’utilisera qu’un seul matériau. Effectuez le découpage du maillage sur un nœud **Exemple:** Le code suivant montre comment diviser une boîte en sous‑maillages en utilisant les indices de matériau.

// Create a mesh of box(A box is composed by 6 planes) Mesh box = (new Box()).toMesh(); // Create a material element on this mesh VertexElementMaterial mat = (VertexElementMaterial)box.createElement(VertexElementType.MATERIAL, MappingMode.POLYGON, ReferenceMode.INDEX); // And specify different material index for each plane mat.setIndices(new int[] { 0, 1, 2, 3, 4, 5 }); // Now split it into 6 sub meshes, we specified 6 different materials on each plane, each plane will become a sub mesh. // We used the CloneData policy, each plane will has the same control point information or control point-based vertex element information. Mesh[] planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.CLONE_DATA);

		// Now split it into 2 sub meshes, first mesh will contains 0/1/2 planes, and second mesh will contains the 3/4/5th planes.
		mat.setIndices(new int[] { 0, 0, 0, 1, 1, 1 });
		// We used the CompactData policy, each plane will has its own control point information or control point-based vertex element information.
		planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.COMPACT_DATA);

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| node | [Node](../../com.aspose.threed/node) |  |
| policy | [SplitMeshPolicy](../../com.aspose.threed/splitmeshpolicy) |  |

### splitMesh(Node node, SplitMeshPolicy policy, boolean createChildNodes) {#splitMesh-com.aspose.threed.Node-com.aspose.threed.SplitMeshPolicy-boolean-}

public static void splitMesh(Node node, SplitMeshPolicy policy, boolean createChildNodes)



Divisez le maillage en sous‑maillages par [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Chaque sous‑maillage n’utilisera qu’un seul matériau. Effectuez le découpage du maillage sur un nœud

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| node | [Node](../../com.aspose.threed/node) |  |
| policy | [SplitMeshPolicy](../../com.aspose.threed/splitmeshpolicy) |  |
|  | createChildNodes | boolean | Créez des nœuds enfants pour chaque sous‑maillage. **Exemple:** Le code suivant montre comment diviser une boîte en sous‑maillages en utilisant les indices de matériau. |

// Create a mesh of box(A box is composed by 6 planes) Mesh box = (new Box()).toMesh(); // Create a material element on this mesh VertexElementMaterial mat = (VertexElementMaterial)box.createElement(VertexElementType.MATERIAL, MappingMode.POLYGON, ReferenceMode.INDEX); // And specify different material index for each plane mat.setIndices(new int[] { 0, 1, 2, 3, 4, 5 }); // Now split it into 6 sub meshes, we specified 6 different materials on each plane, each plane will become a sub mesh. // We used the CloneData policy, each plane will has the same control point information or control point-based vertex element information. Mesh[] planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.CLONE_DATA);

		// Now split it into 2 sub meshes, first mesh will contains 0/1/2 planes, and second mesh will contains the 3/4/5th planes.
		mat.setIndices(new int[] { 0, 0, 0, 1, 1, 1 });
		// We used the CompactData policy, each plane will has its own control point information or control point-based vertex element information.
		planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.COMPACT_DATA);

### splitMesh(Node node, SplitMeshPolicy policy, boolean createChildNodes, boolean removeOldMesh) {#splitMesh-com.aspose.threed.Node-com.aspose.threed.SplitMeshPolicy-boolean-boolean-}

public static void splitMesh(Node node, SplitMeshPolicy policy, boolean createChildNodes, boolean removeOldMesh)



Divisez le maillage en sous‑maillages par [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Chaque sous‑maillage n’utilisera qu’un seul matériau. Effectuez le découpage du maillage sur un nœud

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| node | [Node](../../com.aspose.threed/node) |  |
| policy | [SplitMeshPolicy](../../com.aspose.threed/splitmeshpolicy) |  |
| createChildNodes | boolean | Créez des nœuds enfants pour chaque sous‑maillage. |
|  | removeOldMesh | boolean | Supprimez l’ancien maillage après le découpage, si ce paramètre est faux, les anciens et nouveaux maillages coexisteront. **Exemple:** Le code suivant montre comment diviser une boîte en sous‑maillages en utilisant les indices de matériau. |

// Create a mesh of box(A box is composed by 6 planes) Mesh box = (new Box()).toMesh(); // Create a material element on this mesh VertexElementMaterial mat = (VertexElementMaterial)box.createElement(VertexElementType.MATERIAL, MappingMode.POLYGON, ReferenceMode.INDEX); // And specify different material index for each plane mat.setIndices(new int[] { 0, 1, 2, 3, 4, 5 }); // Now split it into 6 sub meshes, we specified 6 different materials on each plane, each plane will become a sub mesh. // We used the CloneData policy, each plane will has the same control point information or control point-based vertex element information. Mesh[] planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.CLONE_DATA);

		// Now split it into 2 sub meshes, first mesh will contains 0/1/2 planes, and second mesh will contains the 3/4/5th planes.
		mat.setIndices(new int[] { 0, 0, 0, 1, 1, 1 });
		// We used the CompactData policy, each plane will has its own control point information or control point-based vertex element information.
		planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.COMPACT_DATA);

### splitMesh(Scene scene, SplitMeshPolicy policy) {#splitMesh-com.aspose.threed.Scene-com.aspose.threed.SplitMeshPolicy-}

public static void splitMesh(Scene scene, SplitMeshPolicy policy)



Divisez le maillage en sous‑maillages par [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Chaque sous‑maillage n’utilisera qu’un seul matériau. Effectuez le découpage du maillage sur tous les nœuds de la scène. **Exemple:** Le code suivant montre comment diviser une boîte en sous‑maillages en utilisant les indices de matériau.

// Create a mesh of box(A box is composed by 6 planes) Mesh box = (new Box()).toMesh(); // Create a material element on this mesh VertexElementMaterial mat = (VertexElementMaterial)box.createElement(VertexElementType.MATERIAL, MappingMode.POLYGON, ReferenceMode.INDEX); // And specify different material index for each plane mat.setIndices(new int[] { 0, 1, 2, 3, 4, 5 }); // Now split it into 6 sub meshes, we specified 6 different materials on each plane, each plane will become a sub mesh. // We used the CloneData policy, each plane will has the same control point information or control point-based vertex element information. Mesh[] planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.CLONE_DATA);

		// Now split it into 2 sub meshes, first mesh will contains 0/1/2 planes, and second mesh will contains the 3/4/5th planes.
		mat.setIndices(new int[] { 0, 0, 0, 1, 1, 1 });
		// We used the CompactData policy, each plane will has its own control point information or control point-based vertex element information.
		planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.COMPACT_DATA);

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| scene | [Scene](../../com.aspose.threed/scene) |  |
| policy | [SplitMeshPolicy](../../com.aspose.threed/splitmeshpolicy) |  |

### splitMesh(Scene scene, SplitMeshPolicy policy, boolean removeOldMesh) {#splitMesh-com.aspose.threed.Scene-com.aspose.threed.SplitMeshPolicy-boolean-}

public static void splitMesh(Scene scene, SplitMeshPolicy policy, boolean removeOldMesh)



Divisez le maillage en sous‑maillages par [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Chaque sous‑maillage n’utilisera qu’un seul matériau. Effectuez le découpage du maillage sur tous les nœuds de la scène. **Exemple:** Le code suivant montre comment diviser une boîte en sous‑maillages en utilisant les indices de matériau.

// Create a mesh of box(A box is composed by 6 planes) Mesh box = (new Box()).toMesh(); // Create a material element on this mesh VertexElementMaterial mat = (VertexElementMaterial)box.createElement(VertexElementType.MATERIAL, MappingMode.POLYGON, ReferenceMode.INDEX); // And specify different material index for each plane mat.setIndices(new int[] { 0, 1, 2, 3, 4, 5 }); // Now split it into 6 sub meshes, we specified 6 different materials on each plane, each plane will become a sub mesh. // We used the CloneData policy, each plane will has the same control point information or control point-based vertex element information. Mesh[] planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.CLONE_DATA);

		// Now split it into 2 sub meshes, first mesh will contains 0/1/2 planes, and second mesh will contains the 3/4/5th planes.
		mat.setIndices(new int[] { 0, 0, 0, 1, 1, 1 });
		// We used the CompactData policy, each plane will has its own control point information or control point-based vertex element information.
		planes = PolygonModifier.splitMesh(box, SplitMeshPolicy.COMPACT_DATA);

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| scene | [Scene](../../com.aspose.threed/scene) |  |
| policy | [SplitMeshPolicy](../../com.aspose.threed/splitmeshpolicy) |  |
| removeOldMesh | boolean |  |

### toString() {#toString--}

public String toString()





**Returns:**
java.lang.String
### triangulate(Mesh mesh) {#triangulate-com.aspose.threed.Mesh-}

public static Mesh triangulate(Mesh mesh)



Convertir un maillage basé sur des polygones en un maillage complet de triangles

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| mesh | [Mesh](../../com.aspose.threed/mesh) | Le maillage original non triangulaire |

**Returns:**
[Mesh](../../com.aspose.threed/mesh) - The generated new triangle mesh **Example:** The following code shows how to merge all objects from a scene into a single mesh.

var mesh = new Cylinder().toMesh();

	//Triangulate this quadrangle-based mesh to triangle-based
	mesh = PolygonModifier.triangulate(mesh);

	var scene = new Scene(mesh);

     scene.save("test.obj");
### triangulate(Scene scene) {#triangulate-com.aspose.threed.Scene-}

public static void triangulate(Scene scene)



Convertir tous les maillages basés sur des polygones en un maillage complet de triangles

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
|  | scene | [Scene](../../com.aspose.threed/scene) | La scène à traiter **Exemple:** Le code suivant montre comment fusionner tous les objets d’une scène en un seul maillage. |

var mesh = new Cylinder().toMesh();

	//Triangulate this quadrangle-based mesh to triangle-based
	mesh = PolygonModifier.triangulate(mesh);

	var scene = new Scene(mesh);

     scene.save("test.obj");

### triangulate(List<Vector4> controlPoints) {#triangulate-java.util.List-com.aspose.threed.Vector4--}

public static int[][] triangulate(List controlPoints)



Convertir un polygone en triangles, l'ordre du polygone est défini par les `controlPoints`

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| controlPoints | java.util.List<com.aspose.threed.Vector4> | Points de contrôle du maillage |

**Returns:**
int[][] - Un ensemble de triangles **Exemple:** Le code suivant montre comment fusionner tous les objets d’une scène en un seul maillage.

var mesh = new Cylinder().toMesh();

	//Triangulate this quadrangle-based mesh to triangle-based
	mesh = PolygonModifier.triangulate(mesh);

	var scene = new Scene(mesh);

     scene.save("test.obj");
### triangulate(List<Vector4> controlPoints, int[] polygon) {#triangulate-java.util.List-com.aspose.threed.Vector4--int---}

public static int[][] triangulate(List controlPoints, int[] polygon)



Convertir un polygone en triangles

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| controlPoints | java.util.List<com.aspose.threed.Vector4> | Points de contrôle du maillage |
| polygon | int[] | Face du polygone |

**Returns:**
int[][] - Un ensemble de triangles **Exemple:** Le code suivant montre comment fusionner tous les objets d’une scène en un seul maillage.

var mesh = new Cylinder().toMesh();

	//Triangulate this quadrangle-based mesh to triangle-based
	mesh = PolygonModifier.triangulate(mesh);

	var scene = new Scene(mesh);

     scene.save("test.obj");
### triangulate(List<Vector4> controlPoints, List<int[]> polygons) {#triangulate-java.util.List-com.aspose.threed.Vector4--java.util.List-int----}

public static int[][] triangulate(List controlPoints, List<int[]> polygons)



Convertir un maillage basé sur des polygones en triangles

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| controlPoints | java.util.List<com.aspose.threed.Vector4> | Points de contrôle du maillage |
| polygons | java.util.List<int[]> | Faces de polygone |

**Returns:**
int[][] - Un ensemble de triangles **Exemple:** Le code suivant montre comment fusionner tous les objets d’une scène en un seul maillage.

var mesh = new Cylinder().toMesh();

	//Triangulate this quadrangle-based mesh to triangle-based
	mesh = PolygonModifier.triangulate(mesh);

	var scene = new Scene(mesh);

     scene.save("test.obj");
### triangulate(List<Vector4> controlPoints, List<int[]> polygons, boolean generateNormals, Vector3[][] nor_out) {#triangulate-java.util.List-com.aspose.threed.Vector4--java.util.List-int----boolean-com.aspose.threed.Vector3-----}

public static int[][] triangulate(List controlPoints, List<int[]> polygons, boolean generateNormals, Vector3[][] nor_out)



Convertir un maillage basé sur des polygones en un maillage complet de triangles

**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| controlPoints | java.util.List<com.aspose.threed.Vector4> | Points de contrôle du maillage |
| polygons | java.util.List<int[]> | Faces de polygone |
| generateNormals | boolean | Générer les normales |
| nor_out | [Vector3\[\]](../../com.aspose.threed/vector3) | Normale générée par point de contrôle |

**Returns:**
int[][] - Un ensemble de triangles **Exemple:** Le code suivant montre comment fusionner tous les objets d’une scène en un seul maillage.

var mesh = new Cylinder().toMesh();

	//Triangulate this quadrangle-based mesh to triangle-based
	mesh = PolygonModifier.triangulate(mesh);

	var scene = new Scene(mesh);

     scene.save("test.obj");
### wait() {#wait--}

public final void wait()





### wait(long arg0) {#wait-long-}

public final void wait(long arg0)





**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| arg0 | long |  |

### wait(long arg0, int arg1) {#wait-long-int-}

public final void wait(long arg0, int arg1)





**Parameters:**
| Paramètre | Type | Description |
| --- | --- | --- |
| arg0 | long |  |
| arg1 | int |  |