VertexElement — Aspose.3D FOSS for Java
Pakej: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement adalah kelas asas abstrak untuk lapisan data per-vertex (atau per-polygon, per-edge) yang dilampirkan kepada Mesh.Setiap subkelas menyimpan jenis atribut geometri tertentu – normal, koordinat UV, warna vertex, atau kumpulan pelicinan.
Enumerations
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Jenis semantik elemen ini (baca-sahaja). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Mengawal primitif mana setiap nilai dipetakan. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Mengawal cara nilai diindeks. |
indices | List<Integer> | getIndices() | – | Array indeks (digunakan apabila mod rujukan ialah INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Nama pilihan bagi lapisan elemen vertex ini. |
VertexElementNormal
Menyimpan satu vektor normal per vertex atau per sudut polygon, bergantung pada getMappingMode(). Nilai data ialah Vector4 instans dengan w tidak digunakan.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | Vektor normal. The w komponen tidak digunakan (biasanya 0.0). |
Mengembalikan: VertexElementUV
Menyimpan pasangan koordinat tekstur (Vector2) per vertex atau per sudut poligon. Mesh boleh mempunyai pelbagai lapisan UV untuk saluran tekstur yang berbeza.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector2> | getData() | Pasangan koordinat UV. |
VertexElementVertexColor
Menyimpan data warna RGBA per-vertex atau per-sudut sebagai Vector4 (r, g, b, a dalam julat 0–1).
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | nilai warna RGBA. |
Enumerasi VertexElementType
Mengenal pasti peranan semantik lapisan elemen vertex.
import com.aspose.threed.*;| Enumerations | Enumerations |
|---|---|
NORMAL | vektor normal permukaan. |
UV | koordinat UV tekstur. |
VERTEX_COLOR | warna RGBA per-vertex. |
TANGENT | vektor tangen untuk pemetaan normal. |
BINORMAL | Vektor binormal (bitangent). |
MATERIAL | Indeks bahan per-poligon. |
POLYGON_GROUP | Indeks pengelompokan poligon. |
VERTEX_CREASE | Berat lipatan simpul subdivisi. |
EDGE_CREASE | Berat lipatan tepi subdivisi. |
USER_DATA | Data yang ditakrifkan pengguna secara sewenang-wenang. |
VISIBILITY | Bendera kebolehlihatan per-elemen. |
SPECULAR | Warna atau intensiti spekular. |
WEIGHT | Berat gabungan untuk skinning. |
HOLE | Bendera lubang poligon. |
Enumerasi MappingMode
Mengawal primitif geometri mana yang setiap nilai elemen vertex dikaitkan.
| Enumerations | Enumerations |
|---|---|
CONTROL_POINT | Satu nilai per titik kawalan (vertex). |
POLYGON_VERTEX | Satu nilai per sudut poligon (face-vertex). |
POLYGON | Satu nilai per poligon. |
Enumerasi ReferenceMode
Mengawal cara susunan data elemen vertex diindeks.
| Enumerations | Enumerations |
|---|---|
DIRECT | Data diakses secara berurutan tanpa array indeks berasingan. |
INDEX | Data diakses melalui array indeks berasingan. |
INDEX_TO_DIRECT | Satu tatasusunan indeks memetakan setiap primitif pemetaan ke kedudukan dalam tatasusunan data. |
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());
}
}
}