VertexElement

VertexElement — Aspose.3D FOSS for Java

Paket: com.aspose.threed (aspose-3d-foss 26.1.0)

VertexElement ist die abstrakte Basisklasse für pro-Vertex (oder pro-Polygon, pro-Kante) Datenebenen, die an ein Mesh.Jede Unterklasse speichert eine bestimmte Art von geometrischem Attribut – Normalen, UV-Koordinaten, Vertex-Farben oder Glättungsgruppen.


Methods

Methods

MethodsMethodsMethodsMethodsMethods
vertexElementTypeVertexElementTypegetVertexElementType()Semantischer Typ dieses Elements (schreibgeschützt).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Steuert, welchem Primitive jeder Wert zugeordnet wird.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Steuert, wie Werte indiziert werden.
indicesList<Integer>getIndices()Index-Array (verwendet, wenn der Referenzmodus ist INDEX_TO_DIRECT).
nameStringgetName()setName(String)Optionaler Name dieser Vertex-Elementebene.

VertexElementNormal

Speichert einen Normalenvektor pro Vertex oder pro Polygon-Ecke, abhängig von getMappingMode(). Datenwerte sind Vector4 Instanzen mit w ungenutzt.

import com.aspose.threed.*;

VertexElement normals = mesh.createElement(
    VertexElementType.NORMAL,
    MappingMode.CONTROL_POINT,
    ReferenceMode.DIRECT
);

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()Normalenvektoren. Der w Komponente ist ungenutzt (typischerweise 0.0).

Rückgabe: VertexElementUV

Speichert Texturkoordinatenpaare (Vector2) pro Scheitelpunkt oder pro Polygon‑Ecke. Ein Mesh kann mehrere UV‑Layer für verschiedene Texturkanäle enthalten.


VertexElementUV uv = mesh.createElementUV(
    TextureMapping.DIFFUSE,
    MappingMode.POLYGON_VERTEX,
    ReferenceMode.INDEX_TO_DIRECT
);

Methods

MethodsMethodsMethodsMethods
dataList<Vector2>getData()UV‑Koordinatenpaare.

VertexElementVertexColor

Speichert pro Scheitelpunkt oder pro Ecke RGBA‑Farbdaten als Vector4 (r, g, b, a im Bereich 0–1).

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()RGBA‑Farbwerte.

VertexElementType Aufzählung

Identifiziert die semantische Rolle einer Vertex‑Element‑Ebene.

import com.aspose.threed.*;
MethodsMethods
NORMALOberflächen‑Normalenvektoren.
UVTextur-UV-Koordinaten.
VERTEX_COLORRGBA-Farbe pro Vertex.
TANGENTTangentialvektoren für Normal Mapping.
BINORMALBinormale (Bitangente)-Vektoren.
MATERIALMaterialindex pro Polygon.
POLYGON_GROUPPolygon-Gruppierungsindex.
VERTEX_CREASEKnickgewichte für Unterteilungs-Vertexen.
EDGE_CREASEKnickgewichte für Unterteilungs-Kanten.
USER_DATABeliebige benutzerdefinierte Daten.
VISIBILITYSichtbarkeitsflags pro Element.
SPECULARSpecularfarbe oder -intensität.
WEIGHTBlend‑Gewichte für das Skinning.
HOLEPolygon‑Loch‑Flags.

MappingMode Aufzählung

Steuert, welchem Geometrie‑Primitive jeder Vertex‑Element‑Wert zugeordnet ist.

MethodsMethods
CONTROL_POINTEin Wert pro Kontrollpunkt (Vertex).
POLYGON_VERTEXEin Wert pro Polygon‑Ecke (Face‑Vertex).
POLYGONEin Wert pro Polygon.

ReferenceMode Aufzählung

Steuert, wie das Datenarray des Vertex‑Elements indiziert wird.

MethodsMethods
DIRECTDaten werden sequenziell ohne ein separates Index‑Array abgerufen.
INDEXDaten werden über ein separates Index‑Array abgerufen.
INDEX_TO_DIRECTEin Index‑Array ordnet jedes Mapping‑Primitive einer Position im Daten‑Array zu.

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());
        }
    }
}

Siehe auch

 Deutsch