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
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Semantischer Typ dieses Elements (schreibgeschützt). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Steuert, welchem Primitive jeder Wert zugeordnet wird. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Steuert, wie Werte indiziert werden. |
indices | List<Integer> | getIndices() | – | Index-Array (verwendet, wenn der Referenzmodus ist INDEX_TO_DIRECT). |
name | String | getName() | 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
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<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
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<Vector2> | getData() | UV‑Koordinatenpaare. |
VertexElementVertexColor
Speichert pro Scheitelpunkt oder pro Ecke RGBA‑Farbdaten als Vector4 (r, g, b, a im Bereich 0–1).
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<Vector4> | getData() | RGBA‑Farbwerte. |
VertexElementType Aufzählung
Identifiziert die semantische Rolle einer Vertex‑Element‑Ebene.
import com.aspose.threed.*;| Methods | Methods |
|---|---|
NORMAL | Oberflächen‑Normalenvektoren. |
UV | Textur-UV-Koordinaten. |
VERTEX_COLOR | RGBA-Farbe pro Vertex. |
TANGENT | Tangentialvektoren für Normal Mapping. |
BINORMAL | Binormale (Bitangente)-Vektoren. |
MATERIAL | Materialindex pro Polygon. |
POLYGON_GROUP | Polygon-Gruppierungsindex. |
VERTEX_CREASE | Knickgewichte für Unterteilungs-Vertexen. |
EDGE_CREASE | Knickgewichte für Unterteilungs-Kanten. |
USER_DATA | Beliebige benutzerdefinierte Daten. |
VISIBILITY | Sichtbarkeitsflags pro Element. |
SPECULAR | Specularfarbe oder -intensität. |
WEIGHT | Blend‑Gewichte für das Skinning. |
HOLE | Polygon‑Loch‑Flags. |
MappingMode Aufzählung
Steuert, welchem Geometrie‑Primitive jeder Vertex‑Element‑Wert zugeordnet ist.
| Methods | Methods |
|---|---|
CONTROL_POINT | Ein Wert pro Kontrollpunkt (Vertex). |
POLYGON_VERTEX | Ein Wert pro Polygon‑Ecke (Face‑Vertex). |
POLYGON | Ein Wert pro Polygon. |
ReferenceMode Aufzählung
Steuert, wie das Datenarray des Vertex‑Elements indiziert wird.
| Methods | Methods |
|---|---|
DIRECT | Daten werden sequenziell ohne ein separates Index‑Array abgerufen. |
INDEX | Daten werden über ein separates Index‑Array abgerufen. |
INDEX_TO_DIRECT | Ein 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());
}
}
}