VertexElement

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

EnumerationsEnumerationsEnumerationsEnumerationsEnumerations
vertexElementTypeVertexElementTypegetVertexElementType()Jenis semantik elemen ini (baca-sahaja).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Mengawal primitif mana setiap nilai dipetakan.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Mengawal cara nilai diindeks.
indicesList<Integer>getIndices()Array indeks (digunakan apabila mod rujukan ialah INDEX_TO_DIRECT).
nameStringgetName()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

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

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

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

Enumerasi VertexElementType

Mengenal pasti peranan semantik lapisan elemen vertex.

import com.aspose.threed.*;
EnumerationsEnumerations
NORMALvektor normal permukaan.
UVkoordinat UV tekstur.
VERTEX_COLORwarna RGBA per-vertex.
TANGENTvektor tangen untuk pemetaan normal.
BINORMALVektor binormal (bitangent).
MATERIALIndeks bahan per-poligon.
POLYGON_GROUPIndeks pengelompokan poligon.
VERTEX_CREASEBerat lipatan simpul subdivisi.
EDGE_CREASEBerat lipatan tepi subdivisi.
USER_DATAData yang ditakrifkan pengguna secara sewenang-wenang.
VISIBILITYBendera kebolehlihatan per-elemen.
SPECULARWarna atau intensiti spekular.
WEIGHTBerat gabungan untuk skinning.
HOLEBendera lubang poligon.

Enumerasi MappingMode

Mengawal primitif geometri mana yang setiap nilai elemen vertex dikaitkan.

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

Enumerasi ReferenceMode

Mengawal cara susunan data elemen vertex diindeks.

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

Lihat Juga

 Bahasa Melayu