VertexElement — Aspose.3D FOSS for Java
Paquete: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement es la clase base abstracta para capas de datos por vértice (o por polígono, por arista) adjuntas a un Mesh.Cada subclase almacena un tipo específico de atributo geométrico — normales, coordenadas UV, colores de vértice o grupos de suavizado.
Methods
Methods
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Tipo semántico de este elemento (solo lectura). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Controla a qué primitiva se asigna cada valor. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Controla cómo se indexan los valores. |
indices | List<Integer> | getIndices() | – | Matriz de índices (usada cuando el modo de referencia es INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Nombre opcional de esta capa de elemento de vértice. |
VertexElementNormal
Almacena un vector normal por vértice o por esquina de polígono, según getMappingMode(). Los valores de datos son Vector4 instancias con w no usado.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<Vector4> | getData() | Vectores normales. El w el componente no se usa (típicamente 0.0). |
Returns: VertexElementUV
Almacena pares de coordenadas de textura (Vector2) por vértice o por esquina de polígono. Una malla puede contener múltiples capas UV para diferentes canales de textura.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<Vector2> | getData() | Pares de coordenadas UV. |
VertexElementVertexColor
Almacena datos de color RGBA por vértice o por esquina como Vector4 (r, g, b, a en el rango 0–1).
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<Vector4> | getData() | Valores de color RGBA. |
Enumeración VertexElementType
Identifica el rol semántico de una capa de elemento de vértice.
import com.aspose.threed.*;| Methods | Methods |
|---|---|
NORMAL | Vectores normales de superficie. |
UV | Coordenadas UV de la textura. |
VERTEX_COLOR | Color RGBA por vértice. |
TANGENT | Vectores tangentes para mapeo normal. |
BINORMAL | Vectores binormales (bitangentes). |
MATERIAL | Índice de material por polígono. |
POLYGON_GROUP | Índice de agrupación de polígonos. |
VERTEX_CREASE | Pesos de pliegue de vértice en subdivisión. |
EDGE_CREASE | Pesos de pliegue de arista en subdivisión. |
USER_DATA | Datos arbitrarios definidos por el usuario. |
VISIBILITY | Banderas de visibilidad por elemento. |
SPECULAR | Color o intensidad especular. |
WEIGHT | Pesos de mezcla para skinning. |
HOLE | Banderas de huecos de polígonos. |
Enumeración MappingMode
Controla a qué primitiva geométrica está asociado cada valor del elemento de vértice.
| Methods | Methods |
|---|---|
CONTROL_POINT | Un valor por punto de control (vértice). |
POLYGON_VERTEX | Un valor por esquina de polígono (face-vertex). |
POLYGON | Un valor por polígono. |
Enumeración ReferenceMode
Controla cómo se indexa la matriz de datos del elemento de vértice.
| Methods | Methods |
|---|---|
DIRECT | Los datos se acceden secuencialmente sin una matriz de índices separada. |
INDEX | Los datos se acceden mediante una matriz de índices separada. |
INDEX_TO_DIRECT | Una matriz de índices asigna cada primitiva de mapeo a una posición en la matriz de datos. |
Methods
import com.aspose.threed.Scene;
import com.aspose.threed.*;
Scene scene = Scene.fromFile("model.obj");
for (Node node : scene.getRootNode().getChildNodes()) {
if (node.getEntity() instanceof Mesh) {
Mesh mesh = (Mesh) node.getEntity();
for (VertexElement ve : mesh.getVertexElements()) {
System.out.println(" Element: " + ve.getVertexElementType()
+ " mapping=" + ve.getMappingMode()
+ " ref=" + ve.getReferenceMode());
}
}
}