PolygonModifier

Inheritance: java.lang.Object

public class PolygonModifier

Utilidades para modificar polígonos

Métodos

MétodoDescripción
applyTransform(Node node, Matrix4 transform)Aplicar matriz de transformación en los puntos de control de todas las geometrías
buildTangentBinormal(Mesh mesh)Esto creará la tangente y la binormal en la malla. La normal es requerida, si la normal no existe en la malla, también se creará la información de la normal a partir de la posición.
buildTangentBinormal(Scene scene)Esto creará la tangente y la binormal en todas las mallas de la escena. La normal es requerida, si la normal no existe en la malla, también se creará la información de la normal a partir de la posición.
equals(Object arg0)
generateNormal(Mesh mesh)Generar datos de normales a partir de la definición de la malla
generateUV(Mesh mesh)Generar datos UV a partir de la malla de entrada proporcionada
generateUV(Mesh mesh, VertexElementNormal normals)Generar datos UV a partir de la malla de entrada proporcionada y los datos de normales especificados.
getClass()
hashCode()
mergeMesh(Node node)Convertir un nodo completo a una única malla transformada; los elementos de vértice como coordenadas de normales/textura aún no son compatibles.
mergeMesh(Scene scene)Convertir una escena completa a una única malla transformada; los elementos de vértice como coordenadas de normales/textura aún no son compatibles.
mergeMesh(List nodes)Convertir un nodo completo a una única malla transformada; los elementos de vértice como coordenadas de normales/textura aún no son compatibles.
notify()
notifyAll()
scale(Node node, Vector3 scale)Escalar todas las geometrías (Escalar los puntos de control, no la matriz de transformación) en este nodo.
scale(Scene scene, Vector3 scale)Escalar todas las geometrías (Escalar los puntos de control, no la matriz de transformación) en esta escena.
splitMesh(Mesh mesh, SplitMeshPolicy policy)Dividir la malla en submallas mediante VertexElementMaterial.
splitMesh(Node node, SplitMeshPolicy policy)Dividir la malla en submallas mediante VertexElementMaterial.
splitMesh(Node node, SplitMeshPolicy policy, boolean createChildNodes)Dividir la malla en submallas mediante VertexElementMaterial.
splitMesh(Node node, SplitMeshPolicy policy, boolean createChildNodes, boolean removeOldMesh)Dividir la malla en submallas mediante VertexElementMaterial.
splitMesh(Scene scene, SplitMeshPolicy policy)Dividir la malla en submallas mediante VertexElementMaterial.
splitMesh(Scene scene, SplitMeshPolicy policy, boolean removeOldMesh)Dividir la malla en submallas mediante VertexElementMaterial.
toString()
triangulate(Mesh mesh)Convertir una malla basada en polígonos a una malla completa de triángulos.
triangulate(Scene scene)Convertir todas las mallas basadas en polígonos a una malla completa de triángulos.
triangulate(List controlPoints)Convertir un polígono en triángulos, el orden del polígono está definido por controlPoints.
triangulate(List controlPoints, int[] polygon)Convertir un polígono en triángulos.
triangulate(List controlPoints, List<int[]> polygons)Convertir una malla basada en polígonos en triángulos.
triangulate(List controlPoints, List<int[]> polygons, boolean generateNormals, Vector3[][] nor_out)Convertir una malla basada en polígonos a una malla completa de triángulos.
wait()
wait(long arg0)
wait(long arg0, int arg1)

applyTransform(Node node, Matrix4 transform)

public static void applyTransform(Node node, Matrix4 transform)

Aplicar matriz de transformación en los puntos de control de todas las geometrías

Parameters:

ParámetroTipoDescripción
nodeNodeQué geometrías del nodo se aplicarán con la transformación dada.
transformMatrix4La matriz de transformación que se aplicará a los puntos de control.

buildTangentBinormal(Mesh mesh)

public static void buildTangentBinormal(Mesh mesh)

Esto creará tangente y binormal en la malla. Se requiere la normal; si la normal no existe en la malla, también se crearán los datos de normal a partir de la posición. También se requiere UV; se lanzará una excepción si no se encuentra UV.

Parameters:

ParámetroTipoDescripción
meshMesh

buildTangentBinormal(Scene scene)

public static void buildTangentBinormal(Scene scene)

Esto creará tangente y binormal en todas las mallas de la escena. Se requiere la normal; si la normal no existe en la malla, también se crearán los datos de normal a partir de la posición. También se requiere UV; la malla será ignorada si no se define UV.

Parameters:

ParámetroTipoDescripción
sceneScene

equals(Object arg0)

public boolean equals(Object arg0)

Parameters:

ParámetroTipoDescripción
arg0java.lang.Object

Returns: boolean

generateNormal(Mesh mesh)

public static VertexElementNormal generateNormal(Mesh mesh)

Generar datos de normales a partir de la definición de la malla

Parameters:

ParámetroTipoDescripción
meshMesh

Returns: VertexElementNormal - VertexElementNormal instance with normal data.

generateUV(Mesh mesh)

public static VertexElementUV generateUV(Mesh mesh)

Generar datos UV a partir de la malla de entrada proporcionada

Parameters:

ParámetroTipoDescripción
meshMeshLa malla de entrada

Returns: VertexElementUV - Generated UV data

generateUV(Mesh mesh, VertexElementNormal normals)

public static VertexElementUV generateUV(Mesh mesh, VertexElementNormal normals)

Generar datos UV a partir de la malla de entrada proporcionada y los datos de normales especificados.

Parameters:

ParámetroTipoDescripción
meshMeshLa malla de entrada
normalsVertexElementNormalLos datos de la normal

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 nodo completo a una única malla transformada; los elementos de vértice como coordenadas de normales/textura aún no son compatibles.

Parameters:

ParámetroTipoDescripción
nodeNodeEl nodo a fusionar

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 una escena completa a una única malla transformada; los elementos de vértice como coordenadas de normales/textura aún no son compatibles.

Parameters:

ParámetroTipoDescripción
sceneSceneLa escena a fusionar

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 nodo completo a una única malla transformada; los elementos de vértice como coordenadas de normales/textura aún no son compatibles.

Parameters:

ParámetroTipoDescripción
nodosjava.util.List<com.aspose.threed.Node>Los nodos a fusionar

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)

Escalar todas las geometrías (Escalar los puntos de control, no la matriz de transformación) en este nodo.

Parameters:

ParámetroTipoDescripción
nodeNodeEl nodo a escalar
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)



Escalar todas las geometrías (Escalar los puntos de control, no la matriz de transformación) en esta escena.

**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| scene | [Scene](../../com.aspose.threed/scene) | La escena a escalar |
|  | scale | [Vector3](../../com.aspose.threed/vector3) | El factor de escala **Ejemplo:** El siguiente código muestra cómo escalar todas las geometrías en la escena 10 veces. |

//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)



Dividir la malla en submallas mediante [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Cada submalla usará solo un material. La malla original no se modificará.

**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| mesh | [Mesh](../../com.aspose.threed/mesh) |  |
| policy | [SplitMeshPolicy](../../com.aspose.threed/splitmeshpolicy) |  |

**Returns:**
com.aspose.threed.Mesh[] - Nuevas mallas divididas **Ejemplo:** El siguiente código muestra cómo dividir una caja en submallas usando índices de material.

// 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)



Dividir la malla en submallas mediante [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Cada submalla usará solo un material. Realizar la división de la malla en un nodo **Ejemplo:** El siguiente código muestra cómo dividir una caja en submallas usando índices de material.

// 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:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| 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)



Dividir la malla en submallas mediante [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Cada submalla usará solo un material. Realizar la división de la malla en un nodo

**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| node | [Node](../../com.aspose.threed/node) |  |
| policy | [SplitMeshPolicy](../../com.aspose.threed/splitmeshpolicy) |  |
|  | createChildNodes | boolean | Crear nodos hijos para cada submalla. **Ejemplo:** El siguiente código muestra cómo dividir una caja en submallas usando índices de material. |

// 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)



Dividir la malla en submallas mediante [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Cada submalla usará solo un material. Realizar la división de la malla en un nodo

**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| node | [Node](../../com.aspose.threed/node) |  |
| policy | [SplitMeshPolicy](../../com.aspose.threed/splitmeshpolicy) |  |
| createChildNodes | boolean | Crear nodos hijos para cada submalla. |
|  | removeOldMesh | boolean | Eliminar la malla antigua después de la división; si este parámetro es falso, la malla antigua y la nueva coexistirán. **Ejemplo:** El siguiente código muestra cómo dividir una caja en submallas usando índices de material. |

// 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)



Dividir la malla en submallas mediante [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Cada submalla usará solo un material. Realizar la división de la malla en todos los nodos de la escena. **Ejemplo:** El siguiente código muestra cómo dividir una caja en submallas usando índices de material.

// 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:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| 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)



Dividir la malla en submallas mediante [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial). Cada submalla usará solo un material. Realizar la división de la malla en todos los nodos de la escena. **Ejemplo:** El siguiente código muestra cómo dividir una caja en submallas usando índices de material.

// 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:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| 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 una malla basada en polígonos a una malla completa de triángulos.

**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| mesh | [Mesh](../../com.aspose.threed/mesh) | La malla original no triangular |

**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 todas las mallas basadas en polígonos a una malla completa de triángulos.

**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
|  | scene | [Scene](../../com.aspose.threed/scene) | La escena a procesar **Ejemplo:** El siguiente código muestra cómo combinar todos los objetos de una escena en una sola malla. |

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 polígono en triángulos, el orden del polígono está definido por `controlPoints`.

**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| controlPoints | java.util.List<com.aspose.threed.Vector4> | Puntos de control de la malla |

**Returns:**
int[][] - Un conjunto de triángulos **Ejemplo:** El siguiente código muestra cómo combinar todos los objetos de una escena en una sola malla.

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 polígono en triángulos.

**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| controlPoints | java.util.List<com.aspose.threed.Vector4> | Puntos de control de la malla |
| polygon | int[] | Cara del polígono |

**Returns:**
int[][] - Un conjunto de triángulos **Ejemplo:** El siguiente código muestra cómo combinar todos los objetos de una escena en una sola malla.

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 una malla basada en polígonos en triángulos.

**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| controlPoints | java.util.List<com.aspose.threed.Vector4> | Puntos de control de la malla |
| polígonos | java.util.List<int[]> | Caras de polígonos |

**Returns:**
int[][] - Un conjunto de triángulos **Ejemplo:** El siguiente código muestra cómo combinar todos los objetos de una escena en una sola malla.

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 una malla basada en polígonos a una malla completa de triángulos.

**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| controlPoints | java.util.List<com.aspose.threed.Vector4> | Puntos de control de la malla |
| polígonos | java.util.List<int[]> | Caras de polígonos |
| generateNormals | boolean | Generar normales |
| nor_out | [Vector3\[\]](../../com.aspose.threed/vector3) | Normal generada por punto de control |

**Returns:**
int[][] - Un conjunto de triángulos **Ejemplo:** El siguiente código muestra cómo combinar todos los objetos de una escena en una sola malla.

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:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| arg0 | long |  |

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

public final void wait(long arg0, int arg1)





**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| arg0 | long |  |
| arg1 | int |  |