VertexElement — Aspose.3D FOSS for Java
Pakke: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement er den abstrakte basisklassen for per-vertex (eller per-polygon, per-edge) datalag festet til en Mesh.Hver underklasse lagrer en spesifikk type geometrisk attributt – normaler, UV-koordinater, vertex-farger eller smoothing-grupper.
Enumerations
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Semantisk type for dette elementet (kun lesing). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Styrer hvilken primitive hver verdi kartlegges til. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Styrer hvordan verdier indekseres. |
indices | List<Integer> | getIndices() | – | Indeksarray (brukt når referansemodus er INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Valgfritt navn på dette vertex-elementlaget. |
VertexElementNormal
Lagrer én normalvektor per vertex eller per polygonhjørne, avhengig av getMappingMode(). Dataverdier er Vector4 instanser med w ubrukt.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | Normalvektorer. Den w komponenten er ubrukt (vanligvis 0.0). |
Returnerer: VertexElementUV
Lagrer teksturkoordinatpar (Vector2) per vertex eller per polygonhjørne. Et mesh kan ha flere UV-lag for ulike teksturkanaler.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector2> | getData() | UV-koordinatpar. |
VertexElementVertexColor
Lagrer per-vertex eller per-hjørne RGBA-fargedata som Vector4 (r, g, b, a i området 0–1).
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | RGBA-fargeverdier. |
VertexElementType‑enumerasjon
Identifiserer den semantiske rollen til et vertex‑elementlag.
import com.aspose.threed.*;| Enumerations | Enumerations |
|---|---|
NORMAL | Normalvektorer for overflaten. |
UV | UV-koordinater for tekstur. |
VERTEX_COLOR | Per-vertex RGBA-farge. |
TANGENT | Tangentvektorer for normalkartlegging. |
BINORMAL | Binormale (bitangent) vektorer. |
MATERIAL | Materialindeks per polygon. |
POLYGON_GROUP | Polygon-grupperingsindeks. |
VERTEX_CREASE | Krefteverdier for vertex-krøller ved underdeling. |
EDGE_CREASE | Krefteverdier for kant-krøller ved underdeling. |
USER_DATA | Arbitrær brukerdefinert data. |
VISIBILITY | Synlighetsflagg per element. |
SPECULAR | Spekulær farge eller intensitet. |
WEIGHT | Blandingsvekter for skinning. |
HOLE | Polygon-hullflagg. |
MappingMode‑enumerasjon
Styrer hvilken geometrisk primitive hver vertex‑elementverdi er knyttet til.
| Enumerations | Enumerations |
|---|---|
CONTROL_POINT | Én verdi per kontrollpunkt (vertex). |
POLYGON_VERTEX | Én verdi per polygonhjørne (face-vertex). |
POLYGON | Én verdi per polygon. |
ReferenceMode‑enumerasjon
Styrer hvordan vertex‑elementdatamatrisen indekseres.
| Enumerations | Enumerations |
|---|---|
DIRECT | Data blir aksessert sekvensielt uten en separat indices array. |
INDEX | Data blir aksessert via en separat indices array. |
INDEX_TO_DIRECT | Et indeksarray kartlegger hver kartleggingsprimitive til en posisjon i dataarrayet. |
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());
}
}
}