PolygonModifier
Inheritance: java.lang.Object
public class PolygonModifier
Utilidades para modificar polígonos
Métodos
| Método | Descripció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 | 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 | Convertir un polígono en triángulos, el orden del polígono está definido por controlPoints. |
| triangulate(List | Convertir un polígono en triángulos. |
| triangulate(List | Convertir una malla basada en polígonos en triángulos. |
| triangulate(List | 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ámetro | Tipo | Descripción |
|---|---|---|
| node | Node | Qué geometrías del nodo se aplicarán con la transformación dada. |
| transform | Matrix4 | La 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ámetro | Tipo | Descripción |
|---|---|---|
| mesh | Mesh |
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ámetro | Tipo | Descripción |
|---|---|---|
| scene | Scene |
equals(Object arg0)
public boolean equals(Object arg0)
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| arg0 | java.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ámetro | Tipo | Descripción |
|---|---|---|
| mesh | Mesh |
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ámetro | Tipo | Descripción |
|---|---|---|
| mesh | Mesh | La 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ámetro | Tipo | Descripción |
|---|---|---|
| mesh | Mesh | La malla de entrada |
| normals | VertexElementNormal | Los 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ámetro | Tipo | Descripción |
|---|---|---|
| node | Node | El 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ámetro | Tipo | Descripción |
|---|---|---|
| scene | Scene | La 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ámetro | Tipo | Descripción |
|---|---|---|
| nodos | java.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ámetro | Tipo | Descripción |
|---|---|---|
| node | Node | El nodo a escalar |
| scale | Vector3 |
//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
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
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
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
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 | |