VertexElement

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

EnumerationsEnumerationsEnumerationsEnumerationsEnumerations
vertexElementTypeVertexElementTypegetVertexElementType()Tipe semantik elemen ini (hanya-baca).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Mengontrol primitif mana yang dipetakan oleh setiap nilai.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Mengontrol cara nilai diindeks.
indicesList<Integer>getIndices()Array indeks (digunakan ketika mode referensi adalah INDEX_TO_DIRECT).
nameStringgetName()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

EnumerationsEnumerationsEnumerationsEnumerations
dataList<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

EnumerationsEnumerationsEnumerationsEnumerations
dataList<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

EnumerationsEnumerationsEnumerationsEnumerations
dataList<Vector4>getData()nilai warna RGBA.

Enumerasi VertexElementType

Mengidentifikasi peran semantik dari lapisan elemen vertex.

import com.aspose.threed.*;
EnumerationsEnumerations
NORMALvektor normal permukaan.
UVkoordinat UV tekstur.
VERTEX_COLORwarna RGBA per-vertex.
TANGENTvektor tangent untuk normal mapping.
BINORMALVektor binormal (bitangent).
MATERIALIndeks material per-poligon.
POLYGON_GROUPIndeks pengelompokan poligon.
VERTEX_CREASEBobot crease vertex subdivisi.
EDGE_CREASEBobot crease edge subdivisi.
USER_DATAData yang ditentukan pengguna secara arbitrer.
VISIBILITYBendera visibilitas per‑elemen.
SPECULARWarna atau intensitas spekular.
WEIGHTBobot pencampuran untuk skinning.
HOLEBendera lubang poligon.

Enumerasi MappingMode

Mengontrol primitif geometri mana yang terkait dengan setiap nilai elemen vertex.

EnumerationsEnumerations
CONTROL_POINTSatu nilai per titik kontrol (vertex).
POLYGON_VERTEXSatu nilai per sudut poligon (face-vertex).
POLYGONSatu nilai per poligon.

Enumerasi ReferenceMode

Mengontrol cara pengindeksan array data elemen vertex.

EnumerationsEnumerations
DIRECTData diakses secara berurutan tanpa array indeks terpisah.
INDEXData diakses melalui array indeks terpisah.
INDEX_TO_DIRECTArray 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());
        }
    }
}

Lihat Juga

 Bahasa Indonesia