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
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Bu öğenin anlamsal türü (salt okunur). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Her değerin hangi primitive’ye eşlendiğini kontrol eder. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Değerlerin nasıl indekslendiğini kontrol eder. |
indices | List<Integer> | getIndices() | – | İndeks dizisi (referans modu … olduğunda kullanılır INDEX_TO_DIRECT). |
name | String | getName() | 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
| Example | Example | Example | Example |
|---|---|---|---|
data | List<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
| Example | Example | Example | Example |
|---|---|---|---|
data | List<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
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | RGBA renk değerleri. |
VertexElementType Sayımı
Bir vertex öğesi katmanının anlamsal rolünü tanımlar.
import com.aspose.threed.*;| Example | Example |
|---|---|
NORMAL | Yüzey normal vektörleri. |
UV | Doku UV koordinatları. |
VERTEX_COLOR | Köşe başına RGBA rengi. |
TANGENT | Normal haritalama için teğet vektörleri. |
BINORMAL | Binormal (bitangent) vektörleri. |
MATERIAL | Poligon başına malzeme indeksi. |
POLYGON_GROUP | Poligon gruplama indeksi. |
VERTEX_CREASE | Alt bölme köşe kıvrım ağırlıkları. |
EDGE_CREASE | Alt bölme kenar kıvrım ağırlıkları. |
USER_DATA | Keyfi kullanıcı tanımlı veri. |
VISIBILITY | Öğe başına görünürlük bayrakları. |
SPECULAR | Specular renk veya yoğunluk. |
WEIGHT | Skinning için blend ağırlıkları. |
HOLE | Polygon delik bayrakları. |
MappingMode Sayımı
Her vertex öğesi değerinin hangi geometri ilkel öğesiyle ilişkilendirileceğini kontrol eder.
| Example | Example |
|---|---|
CONTROL_POINT | Kontrol noktası (vertex) başına bir değer. |
POLYGON_VERTEX | Poligon köşesi (face-vertex) başına bir değer. |
POLYGON | Polygon başına bir değer. |
ReferenceMode Sayımı
Vertex öğesi veri dizisinin nasıl indeksleneceğini kontrol eder.
| Example | Example |
|---|---|
DIRECT | Veri, ayrı bir indices array olmadan sıralı olarak erişilir. |
INDEX | Veri, ayrı bir indices array aracılığıyla erişilir. |
INDEX_TO_DIRECT | Bir 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());
}
}
}