VertexElement — Aspose.3D FOSS for Java
Paket: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement adalah kelas dasar abstrak untuk lapisan data per-vertex (atau per-polygon, per-edge) yang terlampir pada sebuah Mesh.Setiap subclass menyimpan jenis atribut geometrik tertentu – normal, koordinat UV, warna vertex, atau grup smoothing.
Enumerations
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Tipe semantik elemen ini (hanya-baca). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Mengontrol primitif mana yang dipetakan oleh setiap nilai. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Mengontrol cara nilai diindeks. |
indices | List<Integer> | getIndices() | – | Array indeks (digunakan ketika mode referensi adalah INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Nama opsional untuk lapisan elemen vertex ini. |
VertexElementNormal
Menyimpan satu vektor normal per vertex atau per sudut polygon, tergantung pada getMappingMode(). Nilai data adalah Vector4 instance dengan w tidak terpakai.
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 terpakai (biasanya 0.0). |
Mengembalikan: VertexElementUV
Menyimpan pasangan koordinat tekstur (Vector2) per vertex atau per sudut poligon. Sebuah mesh dapat membawa beberapa lapisan UV untuk saluran tekstur yang berbeda.
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 rentang 0–1).
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | nilai warna RGBA. |
Enumerasi VertexElementType
Mengidentifikasi peran semantik dari 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 tangent untuk normal mapping. |
BINORMAL | Vektor binormal (bitangent). |
MATERIAL | Indeks material per-poligon. |
POLYGON_GROUP | Indeks pengelompokan poligon. |
VERTEX_CREASE | Bobot crease vertex subdivisi. |
EDGE_CREASE | Bobot crease edge subdivisi. |
USER_DATA | Data yang ditentukan pengguna secara arbitrer. |
VISIBILITY | Bendera visibilitas per‑elemen. |
SPECULAR | Warna atau intensitas spekular. |
WEIGHT | Bobot pencampuran untuk skinning. |
HOLE | Bendera lubang poligon. |
Enumerasi MappingMode
Mengontrol primitif geometri mana yang terkait dengan setiap nilai elemen vertex.
| Enumerations | Enumerations |
|---|---|
CONTROL_POINT | Satu nilai per titik kontrol (vertex). |
POLYGON_VERTEX | Satu nilai per sudut poligon (face-vertex). |
POLYGON | Satu nilai per poligon. |
Enumerasi ReferenceMode
Mengontrol cara pengindeksan array data elemen vertex.
| Enumerations | Enumerations |
|---|---|
DIRECT | Data diakses secara berurutan tanpa array indeks terpisah. |
INDEX | Data diakses melalui array indeks terpisah. |
INDEX_TO_DIRECT | Array indeks memetakan setiap primitif pemetaan ke posisi dalam array 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());
}
}
}