VertexElement — Aspose.3D FOSS for Java
Pacchetto: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement è la classe base astratta per i layer di dati per-vertice (o per-poligono, per-bordo) collegati a un Mesh.Ogni sottoclasse memorizza un tipo specifico di attributo geometrico – normali, coordinate UV, colori dei vertici o gruppi di smoothing.
Enumerations
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Tipo semantico di questo elemento (sola lettura). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Controlla a quale primitiva è mappato ciascun valore. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Controlla come i valori sono indicizzati. |
indices | List<Integer> | getIndices() | – | Array di indici (usato quando la modalità di riferimento è INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Nome opzionale di questo layer di elementi del vertice. |
VertexElementNormal
Memorizza un vettore normale per vertice o per angolo del poligono, a seconda di getMappingMode(). I valori dei dati sono Vector4 istanze con w non utilizzato.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | Vettori normali. Il w componente è non utilizzato (tipicamente 0.0). |
Restituisce: VertexElementUV
Memorizza coppie di coordinate di texture (Vector2) per vertice o per angolo del poligono. Una mesh può contenere più livelli UV per diversi canali di texture.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector2> | getData() | Coppie di coordinate UV. |
VertexElementVertexColor
Memorizza i dati di colore RGBA per-vertex o per-corner come Vector4 (r, g, b, a nell’intervallo 0–1).
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | Valori di colore RGBA. |
Enumerazione VertexElementType
Identifica il ruolo semantico di un layer di elemento vertice.
import com.aspose.threed.*;| Enumerations | Enumerations |
|---|---|
NORMAL | Vettori normali di superficie. |
UV | Coordinate UV della texture. |
VERTEX_COLOR | Colore RGBA per-vertex. |
TANGENT | Vettori tangente per il normal mapping. |
BINORMAL | Vettori binormali (bitangent). |
MATERIAL | Indice materiale per-polygon. |
POLYGON_GROUP | Indice di raggruppamento dei poligoni. |
VERTEX_CREASE | Pesi delle pieghe dei vertici di suddivisione. |
EDGE_CREASE | Pesi delle pieghe dei bordi di suddivisione. |
USER_DATA | Dati arbitrari definiti dall’utente. |
VISIBILITY | Flag di visibilità per-elemento. |
SPECULAR | Colore o intensità speculare. |
WEIGHT | Pesi di blend per lo skinning. |
HOLE | Flag dei buchi del poligono. |
Enumerazione MappingMode
Controlla a quale primitiva geometrica è associato ciascun valore dell’elemento vertice.
| Enumerations | Enumerations |
|---|---|
CONTROL_POINT | Un valore per punto di controllo (vertice). |
POLYGON_VERTEX | Un valore per ogni angolo del poligono (face-vertex). |
POLYGON | Un valore per poligono. |
Enumerazione ReferenceMode
Controlla come viene indicizzato l’array di dati dell’elemento vertice.
| Enumerations | Enumerations |
|---|---|
DIRECT | I dati vengono accessi in modo sequenziale senza un array di indici separato. |
INDEX | I dati vengono accessi tramite un array di indici separato. |
INDEX_TO_DIRECT | Un array di indici mappa ogni primitiva di mapping a una posizione nell’array dei dati. |
Enumerations
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());
}
}
}