VertexElement

VertexElement — Aspose.3D FOSS for Java

Paket: com.aspose.threed (aspose-3d-foss 26.1.0)

VertexElement bir …‘ye eklenen per-vertex (veya per-polygon, per-edge) veri katmanları için soyut temel sınıftır Mesh.Her alt sınıf, belirli bir geometrik öznitelik türünü depolar – normaller, UV koordinatları, vertex renkleri veya yumuşatma grupları.


Example

Example

ExampleExampleExampleExampleExample
vertexElementTypeVertexElementTypegetVertexElementType()Bu öğenin anlamsal türü (salt okunur).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Her değerin hangi primitive’ye eşlendiğini kontrol eder.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Değerlerin nasıl indekslendiğini kontrol eder.
indicesList<Integer>getIndices()İndeks dizisi (referans modu … olduğunda kullanılır INDEX_TO_DIRECT).
nameStringgetName()setName(String)Bu vertex öğe katmanının isteğe bağlı adı.

VertexElementNormal

Vertex başına ya da poligon köşesi başına bir normal vektör depolar, …‘a bağlı olarak getMappingMode(). Veri değerleri Vector4 örnekleri ile w kullanılmıyor.

import com.aspose.threed.*;

VertexElement normals = mesh.createElement(
    VertexElementType.NORMAL,
    MappingMode.CONTROL_POINT,
    ReferenceMode.DIRECT
);

Example

ExampleExampleExampleExample
dataList<Vector4>getData()Normal vektörler. The w bileşen kullanılmıyor (genellikle 0.0).

Döndürür: VertexElementUV

Doku-koordinat çiftlerini depolar (Vector2) her köşe başına ya da çokgen köşesine. Bir ağ, farklı doku kanalları için birden fazla UV katmanı taşıyabilir.


VertexElementUV uv = mesh.createElementUV(
    TextureMapping.DIFFUSE,
    MappingMode.POLYGON_VERTEX,
    ReferenceMode.INDEX_TO_DIRECT
);

Example

ExampleExampleExampleExample
dataList<Vector2>getData()UV koordinat çiftleri.

VertexElementVertexColor

Her köşe başına ya da köşeye göre RGBA renk verilerini şu biçimde depolar Vector4 (r, g, b, a 0–1 aralığında).

Example

ExampleExampleExampleExample
dataList<Vector4>getData()RGBA renk değerleri.

VertexElementType Sayımı

Bir vertex öğesi katmanının anlamsal rolünü tanımlar.

import com.aspose.threed.*;
ExampleExample
NORMALYüzey normal vektörleri.
UVDoku UV koordinatları.
VERTEX_COLORKöşe başına RGBA rengi.
TANGENTNormal haritalama için teğet vektörleri.
BINORMALBinormal (bitangent) vektörleri.
MATERIALPoligon başına malzeme indeksi.
POLYGON_GROUPPoligon gruplama indeksi.
VERTEX_CREASEAlt bölme köşe kıvrım ağırlıkları.
EDGE_CREASEAlt bölme kenar kıvrım ağırlıkları.
USER_DATAKeyfi kullanıcı tanımlı veri.
VISIBILITYÖğe başına görünürlük bayrakları.
SPECULARSpecular renk veya yoğunluk.
WEIGHTSkinning için blend ağırlıkları.
HOLEPolygon delik bayrakları.

MappingMode Sayımı

Her vertex öğesi değerinin hangi geometri ilkel öğesiyle ilişkilendirileceğini kontrol eder.

ExampleExample
CONTROL_POINTKontrol noktası (vertex) başına bir değer.
POLYGON_VERTEXPoligon köşesi (face-vertex) başına bir değer.
POLYGONPolygon başına bir değer.

ReferenceMode Sayımı

Vertex öğesi veri dizisinin nasıl indeksleneceğini kontrol eder.

ExampleExample
DIRECTVeri, ayrı bir indices array olmadan sıralı olarak erişilir.
INDEXVeri, ayrı bir indices array aracılığıyla erişilir.
INDEX_TO_DIRECTBir indeks dizisi, her eşleme ilkesini veri dizisindeki bir konuma eşler.

Example

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());
        }
    }
}

Ayrıca Bakınız

 Türkçe