VertexElement

VertexElement — Aspose.3D FOSS for Java

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

VertexElement az absztrakt ősosztály a csúcsonkénti (vagy poligononkénti, élonkénti) adatrétegekhez, amelyek egy Mesh.Minden alosztály egy adott típusú geometriai attribútumot tárol – normálvektorokat, UV koordinátákat, csúcs színeket vagy simítási csoportokat.


Enumerations

Enumerations

EnumerationsEnumerationsEnumerationsEnumerationsEnumerations
vertexElementTypeVertexElementTypegetVertexElementType()Az elem szemantikai típusa (csak olvasható).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Szabályozza, hogy melyik primitívhez tartozik az egyes érték.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Szabályozza, hogyan vannak indexelve az értékek.
indicesList<Integer>getIndices()Index tömb (használva, amikor a hivatkozási mód INDEX_TO_DIRECT).
nameStringgetName()setName(String)Ennek a csúcs elem rétegnek az opcionális neve.

VertexElementNormal

Egy normálvektort tárol csúcsonként vagy poligon sarokként, attól függően, hogy getMappingMode(). Az adatértékek Vector4 példányok a w nem használt.

import com.aspose.threed.*;

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

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
dataList<Vector4>getData()Normálvektorok. A w komponens nem használt (általában 0.0).

Visszatér: VertexElementUV

Textúra-koordináta párokat tárol (Vector2) csúcsonként vagy sokszög-sarokként. Egy háló több UV réteget is tartalmazhat különböző textúra csatornákhoz.


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

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
dataList<Vector2>getData()UV koordináta párok.

VertexElementVertexColor

Tárolja csúcsonként vagy sarokként az RGBA szín adatokat mint Vector4 (r, g, b, a a 0–1 tartományban).

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
dataList<Vector4>getData()RGBA színértékek.

VertexElementType felsorolás

Azonosítja egy vertex elem réteg szemantikai szerepét.

import com.aspose.threed.*;
EnumerationsEnumerations
NORMALFelület normálvektorok.
UVTextúra UV koordináták.
VERTEX_COLORVertexenkénti RGBA szín.
TANGENTTangens vektorok a normálleképezéshez.
BINORMALBinormál (bitangens) vektorok.
MATERIALPoligononkénti anyagindex.
POLYGON_GROUPPoligon csoportosítási index.
VERTEX_CREASEAlosztályozási vertex redő súlyok.
EDGE_CREASEAlosztályozási él redő súlyok.
USER_DATATetszőleges felhasználó által definiált adatok.
VISIBILITYElemekenkénti láthatósági jelzők.
SPECULARFénysugaras szín vagy intenzitás.
WEIGHTBlend súlyok a skinninghez.
HOLEPoligon lyuk jelzők.

MappingMode felsorolás

Szabályozza, hogy a geometriai primitív melyikhez kapcsolódik az egyes vertex elem érték.

EnumerationsEnumerations
CONTROL_POINTEgy érték vezérlőpontonként (vertex).
POLYGON_VERTEXEgy érték minden sokszög sarkához (face-vertex).
POLYGONEgy érték minden sokszögre.

ReferenceMode felsorolás

Szabályozza, hogyan indexelik a vertex elem adat tömböt.

EnumerationsEnumerations
DIRECTAz adatot sorban érjük el külön index tömb nélkül.
INDEXAz adatot egy külön index tömbön keresztül érjük el.
INDEX_TO_DIRECTAz index tömb minden leképezési primitívet a data tömb egy pozíciójához rendel.

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

Lásd még

 Magyar