TriMesh
Inheritance: java.lang.Object, com.aspose.threed.A3DObject, com.aspose.threed.SceneObject, com.aspose.threed.Entity
All Implemented Interfaces: java.lang.Iterable
public class TriMesh extends Entity implements Iterable<Vertex>
Un TriMesh contiene datos sin procesar que pueden ser usados directamente por la GPU. Esta clase es una utilidad para ayudar a construir una malla que solo contiene datos por vértice. Example: El siguiente código muestra cómo crear un TriMesh con una disposición de memoria personalizada y exportarlo a un archivo.
//Define a vertex declaration as {FVector3 Position; FVector3 Normal; FVector2 UV}
VertexDeclaration vd = new VertexDeclaration();
vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.NORMAL);
vd.addField(VertexFieldDataType.F_VECTOR2, VertexFieldSemantic.UV);
//convert a mesh to tri-mesh using specified memory layout
var mesh = (new Sphere()).toMesh();
var triMesh = TriMesh.fromMesh(vd, mesh);
//save it to a stream, 115 vertices * 32bytes per vertex
try(var s = new FileOutputStream("output.bin")) {
triMesh.writeVerticesTo(s);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write16bIndicesTo(s);
}
Constructores
| Constructor | Descripción |
|---|---|
| TriMesh(String name, VertexDeclaration declaration) | Inicializa una instancia de TriMesh |
Métodos
| Método | Descripción |
|---|---|
| addTriangle(int a, int b, int c) | Agregar un nuevo triángulo |
| beginVertex() | Comenzar a agregar vértice |
| copyFrom(TriMesh input, VertexDeclaration vd) | Copiar el TriMesh de la entrada con una nueva disposición de vértices |
| endVertex() | Terminar de agregar vértice |
| equals(Object arg0) | |
| findProperty(String propertyName) | Busca la propiedad. |
| fromMesh(Mesh mesh) | Crear un TriMesh a partir del objeto de malla proporcionado, la declaración de vértices se basa en la estructura de la malla de entrada. |
| fromMesh(Mesh mesh, boolean useFloat) | Crear un TriMesh a partir del objeto de malla proporcionado, la declaración de vértices se basa en la estructura de la malla de entrada. |
| fromMesh(VertexDeclaration declaration, Mesh mesh) | Crear un TriMesh a partir del objeto de malla proporcionado con la disposición de vértices especificada. |
| fromRawData(VertexDeclaration vd, byte[] vertices, int[] indices, boolean generateVertexMapping) | Crear TriMesh a partir de datos sin procesar |
| getBoundingBox() | Obtiene el cuadro delimitador de la entidad actual en su sistema de coordenadas de espacio de objetos. |
| getCapacity() | La capacidad de los vértices preasignados. |
| getClass() | |
| getEntityRendererKey() | Obtiene la clave del renderizador de entidad registrado en el renderizador |
| getExcluded() | Obtiene si se debe excluir esta entidad durante la exportación. |
| getIndicesCount() | El recuento de índices en este TriMesh |
| getIntIndices() | Convertir los índices a una matriz de enteros de 32 bits |
| getName() | Obtiene el nombre. |
| getParentNode() | Obtiene el primer nodo padre; si se establece el primer nodo padre, esta entidad se separará de los demás nodos padres. |
| getParentNodes() | Obtiene todos los nodos padres; una entidad puede estar adjunta a varios nodos padres para instanciación de geometría. |
| getProperties() | Obtiene la colección de todas las propiedades. |
| getProperty(String property) | Obtiene el valor de la propiedad especificada |
| getScene() | Obtiene la escena a la que pertenece este objeto. |
| getShortIndices() | Convertir los índices a una matriz de enteros de 16 bits |
| getUnmergedVerticesCount() | El recuento de vértices no fusionados que se pasaron mediante beginVertex y endVertex. |
| getVertexDeclaration() | La disposición de vértices del TriMesh. |
| getVerticesCount() | El recuento de vértices en este TriMesh |
| getVerticesSizeInBytes() | El tamaño total de todos los vértices en bytes |
| hashCode() | |
| indicesToArray(int[][] result) | Convertir los índices a una matriz de enteros de 32 bits |
| indicesToArray(short[][] result) | Convertir los índices a una matriz de enteros de 16 bits |
| iterator() | Obtener el enumerador para enumerar Vertex |
| loadVerticesFromBytes(byte[] verticesInBytes) | Cargar vértices desde bytes, la longitud de los bytes debe ser un múltiplo entero del tamaño del vértice. |
| notify() | |
| notifyAll() | |
| readDouble(int idx, VertexField field) | Leer el campo double |
| readFVector2(int idx, VertexField field) | Leer el campo vector2 |
| readFVector3(int idx, VertexField field) | Leer el campo vector3 |
| readFVector4(int idx, VertexField field) | Leer el campo vector4 |
| readFloat(int idx, VertexField field) | Leer el campo float |
| readVector2(int idx, VertexField field) | Leer el campo vector2 |
| readVector3(int idx, VertexField field) | Leer el campo vector3 |
| readVector4(int idx, VertexField field) | Leer el campo vector4 |
| removeProperty(Property property) | Elimina una propiedad dinámica. |
| removeProperty(String property) | Elimina la propiedad especificada identificada por nombre. |
| setExcluded(boolean value) | Establece si se debe excluir esta entidad durante la exportación. |
| setName(String value) | Establece el nombre. |
| setParentNode(Node value) | Establece el primer nodo padre; si se establece el primer nodo padre, esta entidad se separará de los demás nodos padres. |
| setProperty(String property, Object value) | Establece el valor de la propiedad especificada. |
| toString() | Obtiene la representación en cadena de TriMesh |
| verticesToArray() | Convertir los datos de los vértices a una matriz de bytes |
| wait() | |
| wait(long arg0) | |
| wait(long arg0, int arg1) | |
| write16bIndicesTo(Stream stream) | Escribir los datos de índices como entero de 16 bits al flujo Example: |
| write16bIndicesTo(OutputStream stream) | Escribir los datos de índices como entero de 16 bits al flujo |
| write32bIndicesTo(Stream stream) | Escribir los datos de índices como entero de 32 bits al flujo Example: |
| write32bIndicesTo(OutputStream stream) | Escribir los datos de índices como entero de 32 bits al flujo |
| writeVerticesTo(Stream stream) | Escribir los datos de vértices al flujo especificado |
| writeVerticesTo(OutputStream stream) | Escribir los datos de vértices al flujo especificado |
TriMesh(String name, VertexDeclaration declaration)
public TriMesh(String name, VertexDeclaration declaration)
Inicializa una instancia de TriMesh
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| nombre | java.lang.String | El nombre de este TriMesh |
| declaration | VertexDeclaration | La declaración del vértice |
addTriangle(int a, int b, int c)
public void addTriangle(int a, int b, int c)
Agregar un nuevo triángulo
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| a | int | El índice del primer vértice |
| b | int | El índice del segundo vértice |
| c | int | El índice del tercer vértice |
beginVertex()
public Vertex beginVertex()
Comenzar a agregar vértice
Returns: Vertex - The reference of internal vertex object in type Vertex
copyFrom(TriMesh input, VertexDeclaration vd)
public static TriMesh copyFrom(TriMesh input, VertexDeclaration vd)
Copiar el TriMesh de la entrada con una nueva disposición de vértices
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| input | TriMesh | El TriMesh de entrada para copiar |
| vd | VertexDeclaration | La nueva declaración de vértice del TriMesh de salida |
Returns: TriMesh - A new TriMesh instance with new vertex declaration. Example:
//Define a vertex declaration as {FVector3 Position; FVector3 Normal; FVector2 UV}
VertexDeclaration vd = new VertexDeclaration();
vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.NORMAL);
vd.addField(VertexFieldDataType.F_VECTOR2, VertexFieldSemantic.UV);
//convert a mesh to TriMesh, the layout is automatically inferred from input mesh
var oldTriMesh = TriMesh.fromMesh((new Sphere()).toMesh());
//now create a new TriMesh from old TriMesh, using explicit memory layout defined by vd
var newTriMesh = TriMesh.copyFrom(oldTriMesh, vd);
endVertex()
public int endVertex()
Terminar de agregar vértice
Returns: int
equals(Object arg0)
public boolean equals(Object arg0)
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| arg0 | java.lang.Object |
Returns: boolean
findProperty(String propertyName)
public Property findProperty(String propertyName)
Busca la propiedad. Puede ser una propiedad dinámica (Creada por CreateDynamicProperty/SetProperty) o una propiedad nativa (Identificada por su nombre)
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| propertyName | java.lang.String | Nombre de la propiedad. |
Returns: Property - The property.
fromMesh(Mesh mesh)
public static TriMesh fromMesh(Mesh mesh)
Crear un TriMesh a partir del objeto de malla proporcionado, la declaración de vértices se basa en la estructura de la malla de entrada.
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| mesh | Mesh |
Returns: TriMesh - The TriMesh generated from given Mesh Example: The following code shows how to create a TriMesh with custom memory layout, and export it to file.
//Define a vertex declaration as {FVector3 Position; FVector3 Normal; FVector2 UV}
VertexDeclaration vd = new VertexDeclaration();
vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.NORMAL);
vd.addField(VertexFieldDataType.F_VECTOR2, VertexFieldSemantic.UV);
//convert a mesh to tri-mesh using specified memory layout
var mesh = (new Sphere()).toMesh();
var triMesh = TriMesh.fromMesh(vd, mesh);
//save it to a stream, 115 vertices * 32bytes per vertex
try(var s = new FileOutputStream("output.bin")) {
triMesh.writeVerticesTo(s);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write16bIndicesTo(s);
}
fromMesh(Mesh mesh, boolean useFloat)
public static TriMesh fromMesh(Mesh mesh, boolean useFloat)
Crear un TriMesh a partir del objeto de malla proporcionado, la declaración de vértices se basa en la estructura de la malla de entrada.
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| mesh | Mesh | |
| useFloat | boolean | Usar tipo float en lugar de tipo double para cada componente del elemento del vértice. |
Returns: TriMesh - The TriMesh generated from given Mesh Example: The following code shows how to create a TriMesh with custom memory layout, and export it to file.
//Define a vertex declaration as {FVector3 Position; FVector3 Normal; FVector2 UV}
VertexDeclaration vd = new VertexDeclaration();
vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.NORMAL);
vd.addField(VertexFieldDataType.F_VECTOR2, VertexFieldSemantic.UV);
//convert a mesh to tri-mesh using specified memory layout
var mesh = (new Sphere()).toMesh();
var triMesh = TriMesh.fromMesh(vd, mesh);
//save it to a stream, 115 vertices * 32bytes per vertex
try(var s = new FileOutputStream("output.bin")) {
triMesh.writeVerticesTo(s);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write16bIndicesTo(s);
}
fromMesh(VertexDeclaration declaration, Mesh mesh)
public static TriMesh fromMesh(VertexDeclaration declaration, Mesh mesh)
Crear un TriMesh a partir del objeto de malla proporcionado con la disposición de vértices especificada.
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| declaration | VertexDeclaration | Definición de tipo del vértice, o disposición de memoria |
| mesh | Mesh | Malla fuente |
Returns: TriMesh - Instance of TriMesh converted from input mesh with specified vertex’s memory layout Example: The following code shows how to create a TriMesh with custom memory layout, and export it to file.
//Define a vertex declaration as {FVector3 Position; FVector3 Normal; FVector2 UV}
VertexDeclaration vd = new VertexDeclaration();
vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.NORMAL);
vd.addField(VertexFieldDataType.F_VECTOR2, VertexFieldSemantic.UV);
//convert a mesh to tri-mesh using specified memory layout
var mesh = (new Sphere()).toMesh();
var triMesh = TriMesh.fromMesh(vd, mesh);
//save it to a stream, 115 vertices * 32bytes per vertex
try(var s = new FileOutputStream("output.bin")) {
triMesh.writeVerticesTo(s);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write16bIndicesTo(s);
}
fromRawData(VertexDeclaration vd, byte[] vertices, int[] indices, boolean generateVertexMapping)
public static TriMesh fromRawData(VertexDeclaration vd, byte[] vertices, int[] indices, boolean generateVertexMapping)
Crear TriMesh a partir de datos sin procesar
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| vd | VertexDeclaration | Declaración de vértice, debe contener al menos un campo. |
| vértices | byte[] | Los datos de vértice de entrada, la longitud mínima de los vértices debe ser mayor o igual al tamaño de la declaración de vértice |
| índices | int[] | Los índices del triángulo |
| generateVertexMapping | boolean | Generar Vertex para cada vértice, lo cual no es necesario solo para serialización/deserialización. |
Returns: TriMesh - The TriMesh instance that encapsulated the input byte array. Remarks: The returned TriMesh will not copy the input byte array for performance, external changes on the array will be reflected to this instance. Example: The following code shows how to construct a TriMesh from raw bytes, this is useful when build your own 3D format
var indices = new int[] { 0, 1, 2 };
var 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, 0The string representation,
0, 0, 0, 63
};
VertexDeclaration vd = new VertexDeclaration();
vd.AddField(VertexFieldDataType.FVector3, VertexFieldSemantic.Position);
var triMesh = TriMesh.FromRawData(vd, vertices, indices, true);
getBoundingBox()
public BoundingBox getBoundingBox()
Obtiene el cuadro delimitador de la entidad actual en su sistema de coordenadas de espacio de objetos.
Returns: BoundingBox - the bounding box of current entity in its object space coordinate system. Example: The following code shows how to calculate the bounding box of a shape
Entity entity = new Sphere();
entity.setRadius(10);
var bbox = entity.getBoundingBox();
System.out.printf("The bounding box of the entity is %s ~ %s", bbox.getMinimum(), bbox.getMaximum());
getCapacity()
public int getCapacity()
La capacidad de los vértices preasignados.
Returns: int - La capacidad de los vértices preasignados.
getClass()
public final native Class<?> getClass()
Returns: java.lang.Class
getEntityRendererKey()
public EntityRendererKey getEntityRendererKey()
Obtiene la clave del renderizador de entidad registrado en el renderizador
Returns: EntityRendererKey - the key of the entity renderer registered in the renderer
getExcluded()
public boolean getExcluded()
Obtiene si se debe excluir esta entidad durante la exportación.
Returns: boolean - si se debe excluir esta entidad durante la exportación.
getIndicesCount()
public int getIndicesCount()
El recuento de índices en este TriMesh
Returns: int - El recuento de índices en este TriMesh
getIntIndices()
public int[] getIntIndices()
Convertir los índices a una matriz de enteros de 32 bits
Returns: int[]
getName()
public String getName()
Obtiene el nombre.
Returns: java.lang.String - el nombre.
getParentNode()
public Node getParentNode()
Obtiene el primer nodo padre; si se establece el primer nodo padre, esta entidad se separará de los demás nodos padres.
Returns: Node - the first parent node, if set the first parent node, this entity will be detached from other parent nodes.
getParentNodes()
public ArrayList<Node> getParentNodes()
Obtiene todos los nodos padres; una entidad puede estar adjunta a varios nodos padres para instanciación de geometría.
Returns: java.util.ArrayList<com.aspose.threed.Node> - todos los nodos padre, una entidad puede estar adjunta a varios nodos padre para instanciación de geometría
getProperties()
public PropertyCollection getProperties()
Obtiene la colección de todas las propiedades.
Returns: PropertyCollection - the collection of all properties.
getProperty(String property)
public Object getProperty(String property)
Obtiene el valor de la propiedad especificada
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| propiedad | java.lang.String | Nombre de la propiedad |
Returns: java.lang.Object - El valor de la propiedad encontrada
getScene()
public Scene getScene()
Obtiene la escena a la que pertenece este objeto.
Returns: Scene - the scene that this object belongs to
getShortIndices()
public short[] getShortIndices()
Convertir los índices a una matriz de enteros de 16 bits
Returns: short[]
getUnmergedVerticesCount()
public int getUnmergedVerticesCount()
El recuento de vértices no fusionados que se pasaron mediante beginVertex y endVertex.
Returns: int - El recuento de vértices no fusionados que se pasaron mediante beginVertex y endVertex.
getVertexDeclaration()
public VertexDeclaration getVertexDeclaration()
La disposición de vértices del TriMesh.
Returns: VertexDeclaration - The vertex layout of the TriMesh.
getVerticesCount()
public int getVerticesCount()
El recuento de vértices en este TriMesh
Returns: int - El recuento de vértices en este TriMesh
getVerticesSizeInBytes()
public int getVerticesSizeInBytes()
El tamaño total de todos los vértices en bytes
Returns: int - El tamaño total de todos los vértices en bytes
hashCode()
public native int hashCode()
Returns: int
indicesToArray(int[][] result)
public void indicesToArray(int[][] result)
Convertir los índices a una matriz de enteros de 32 bits
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| resultado | int[][] |
indicesToArray(short[][] result)
public void indicesToArray(short[][] result)
Convertir los índices a una matriz de enteros de 16 bits
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| resultado | short[][] |
iterator()
public Iterator<Vertex> iterator()
Obtener el enumerador para enumerar Vertex
Returns: java.util.Iterator<com.aspose.threed.Vertex>
loadVerticesFromBytes(byte[] verticesInBytes)
public void loadVerticesFromBytes(byte[] verticesInBytes)
Cargar vértices desde bytes, la longitud de los bytes debe ser un múltiplo entero del tamaño del vértice. Ejemplo: El siguiente código muestra cómo crear un TriMesh vacío y cargar manualmente los vértices desde bytes sin procesar.
var indices = new int[] { 0, 1, 2 };
var 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.FVector3, VertexFieldSemantic.Position);
//create an empty TriMesh with specified vertex declaration
var triMesh = new TriMesh("", vd);
//load vertices directly from bytes
triMesh.LoadVerticesFromBytes(vertices);
triMesh.AddTriangle(0, 1, 2);
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);
//create an empty TriMesh with specified vertex declaration
var triMesh = new TriMesh("", vd);
//load vertices directly from bytes
triMesh.loadVerticesFromBytes(vertices);
triMesh.addTriangle(0, 1, 2);
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| verticesInBytes | byte[] |
notify()
public final native void notify()
notifyAll()
public final native void notifyAll()
readDouble(int idx, VertexField field)
public double readDouble(int idx, VertexField field)
Leer el campo double
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| idx | int | El índice del vértice a leer |
| field | VertexField | El campo con un tipo de datos compatible con float/double |
Returns: double - Valor double del campo del vértice especificado
readFVector2(int idx, VertexField field)
public FVector2 readFVector2(int idx, VertexField field)
Leer el campo vector2
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| idx | int | El índice del vértice a leer |
| field | VertexField | El campo con un tipo de datos Vector2/FVector2 |
Returns: FVector2 - FVector2 of specified vertex’s field
readFVector3(int idx, VertexField field)
public FVector3 readFVector3(int idx, VertexField field)
Leer el campo vector3
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| idx | int | El índice del vértice a leer |
| field | VertexField | El campo con un tipo de datos Vector3/FVector3 |
Returns: FVector3
readFVector4(int idx, VertexField field)
public FVector4 readFVector4(int idx, VertexField field)
Leer el campo vector4
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| idx | int | El índice del vértice a leer |
| field | VertexField | El campo con un tipo de datos Vector4/FVector4 |
Returns: FVector4
readFloat(int idx, VertexField field)
public float readFloat(int idx, VertexField field)
Leer el campo float
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| idx | int | El índice del vértice a leer |
| field | VertexField | El campo con un tipo de datos compatible con float/double |
Returns: float - Valor float del campo del vértice especificado
readVector2(int idx, VertexField field)
public Vector2 readVector2(int idx, VertexField field)
Leer el campo vector2
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| idx | int | El índice del vértice a leer |
| field | VertexField | El campo con un tipo de datos Vector2/FVector2 |
Returns: Vector2 - Vector2 of specified vertex’s field
readVector3(int idx, VertexField field)
public Vector3 readVector3(int idx, VertexField field)
Leer el campo vector3
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| idx | int | El índice del vértice a leer |
| field | VertexField | El campo con un tipo de datos Vector3/FVector3 |
Returns: Vector3
readVector4(int idx, VertexField field)
public Vector4 readVector4(int idx, VertexField field)
Leer el campo vector4
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| idx | int | El índice del vértice a leer |
| field | VertexField | El campo con un tipo de datos Vector4/FVector4 |
Returns: Vector4
removeProperty(Property property)
public boolean removeProperty(Property property)
Elimina una propiedad dinámica.
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| property | Property | Qué propiedad eliminar |
Returns: boolean - verdadero si la propiedad se elimina correctamente
removeProperty(String property)
public boolean removeProperty(String property)
Elimina la propiedad especificada identificada por nombre.
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| propiedad | java.lang.String | Qué propiedad eliminar |
Returns: boolean - verdadero si la propiedad se elimina correctamente
setExcluded(boolean value)
public void setExcluded(boolean value)
Establece si se debe excluir esta entidad durante la exportación.
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| valor | boolean | Nuevo valor |
setName(String value)
public void setName(String value)
Establece el nombre.
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| valor | java.lang.String | Nuevo valor |
setParentNode(Node value)
public void setParentNode(Node value)
Establece el primer nodo padre; si se establece el primer nodo padre, esta entidad se separará de los demás nodos padres.
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| value | Node | Nuevo valor |
setProperty(String property, Object value)
public void setProperty(String property, Object value)
Establece el valor de la propiedad especificada.
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| propiedad | java.lang.String | Nombre de la propiedad |
| valor | java.lang.Object | El valor de la propiedad |
toString()
public String toString()
Obtiene la representación en cadena de TriMesh
Returns: java.lang.String - La representación en cadena
verticesToArray()
public byte[] verticesToArray()
Convertir los datos de los vértices a una matriz de bytes
Returns: byte[]
wait()
public final void wait()
wait(long arg0)
public final void wait(long arg0)
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| arg0 | long |
wait(long arg0, int arg1)
public final void wait(long arg0, int arg1)
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| arg0 | long | |
| arg1 | int |
write16bIndicesTo(Stream stream)
public void write16bIndicesTo(Stream stream)
Escribir los datos de índices como entero de 16 bits al flujo Example:
//convert a mesh to TriMesh, the layout is automatically inferred from input mesh
var mesh = (new Sphere()).toMesh();
var triMesh = TriMesh.fromMesh(mesh);
//save it to a stream, 115 vertices * 32bytes per vertex
var stream = new ByteArrayOutputStream();
try(var s = Stream.wrap(stream)) {
triMesh.writeVerticesTo(s);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write16bIndicesTo(s);
}
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| stream | Stream |
write16bIndicesTo(OutputStream stream)
public void write16bIndicesTo(OutputStream stream)
Escribir los datos de índices como entero de 16 bits al flujo
Parameters:
| Parámetro | Tipo | Descripción |
|---|---|---|
| flujo | java.io.OutputStream |
//convert a mesh to TriMesh, the layout is automatically inferred from input mesh
var mesh = (new Sphere()).toMesh();
var triMesh = TriMesh.fromMesh(mesh);
//save it to a stream, 115 vertices * 32bytes per vertex
var stream = new ByteArrayOutputStream();
triMesh.writeVerticesTo(stream);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write16bIndicesTo(stream);
``` |
### write32bIndicesTo(Stream stream) {#write32bIndicesTo-com.aspose.threed.Stream-}
public void write32bIndicesTo(Stream stream)
Escribir los datos de índices como entero de 32 bits al flujo **Example:**
//convert a mesh to TriMesh, the layout is automatically inferred from input mesh var mesh = (new Sphere()).toMesh(); var triMesh = TriMesh.fromMesh(mesh); //save it to a stream, 115 vertices * 32bytes per vertex var stream = new ByteArrayOutputStream(); try(var s = Stream.wrap(stream)) { triMesh.writeVerticesTo(s); //save indices as ushort to stream, 504 indices * 2 bytes per index triMesh.write32bIndicesTo(s); }
**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| stream | [Stream](../../com.aspose.threed/stream) | |
### write32bIndicesTo(OutputStream stream) {#write32bIndicesTo-java.io.OutputStream-}
public void write32bIndicesTo(OutputStream stream)
Escribir los datos de índices como entero de 32 bits al flujo
**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| | flujo | java.io.OutputStream | **Ejemplo:** |
//convert a mesh to TriMesh, the layout is automatically inferred from input mesh
var mesh = (new Sphere()).toMesh();
var triMesh = TriMesh.fromMesh(mesh);
//save it to a stream, 115 vertices * 32bytes per vertex
var stream = new ByteArrayOutputStream();
triMesh.writeVerticesTo(stream);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write32bIndicesTo(stream);
### writeVerticesTo(Stream stream) {#writeVerticesTo-com.aspose.threed.Stream-}
public void writeVerticesTo(Stream stream)
Escribir los datos de vértices al flujo especificado
**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| | stream | [Stream](../../com.aspose.threed/stream) | El flujo al que se escribirán los datos de los vértices **Ejemplo:** |
//convert a mesh to TriMesh, the layout is automatically inferred from input mesh var mesh = (new Sphere()).toMesh(); var triMesh = TriMesh.fromMesh(mesh); //save it to a stream, 115 vertices * 32bytes per vertex var stream = new ByteArrayOutputStream(); try(var s = Stream.wrap(stream)) { triMesh.writeVerticesTo(s); //save indices as ushort to stream, 504 indices * 2 bytes per index triMesh.write16bIndicesTo(s); }
### writeVerticesTo(OutputStream stream) {#writeVerticesTo-java.io.OutputStream-}
public void writeVerticesTo(OutputStream stream)
Escribir los datos de vértices al flujo especificado
**Parameters:**
| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| | flujo | java.io.OutputStream | El flujo al que se escribirán los datos de los vértices **Ejemplo:** |
//convert a mesh to TriMesh, the layout is automatically inferred from input mesh
var mesh = (new Sphere()).toMesh();
var triMesh = TriMesh.fromMesh(mesh);
//save it to a stream, 115 vertices * 32bytes per vertex
var stream = new ByteArrayOutputStream();
triMesh.writeVerticesTo(stream);
//save indices as ushort to stream, 504 indices * 2 bytes per index
triMesh.write16bIndicesTo(stream);