VertexElement

VertexElement — Aspose.3D FOSS for Java

Balíček: com.aspose.threed (aspose-3d-foss 26.1.0)

VertexElement je abstraktní základní třída pro per-vertex (or per-polygon, per-edge) datové vrstvy připojené k Mesh.Každá podtřída ukládá konkrétní typ geometrického atributu – normály, UV souřadnice, barvy vrcholů nebo skupiny vyhlazování.


Methods

Methods

MethodsMethodsMethodsMethodsMethods
vertexElementTypeVertexElementTypegetVertexElementType()Sémantický typ tohoto prvku (pouze pro čtení).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Určuje, ke kterému primitivu se každá hodnota mapuje.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Určuje, jak jsou hodnoty indexovány.
indicesList<Integer>getIndices()Pole indexů (používá se, když je režim reference INDEX_TO_DIRECT).
nameStringgetName()setName(String)Volitelný název této vrstvy vrcholového prvku.

VertexElementNormal

Ukládá jeden normálový vektor na vrchol nebo na roh polygonu, v závislosti na getMappingMode(). Datové hodnoty jsou Vector4 instance s w nepoužité.

import com.aspose.threed.*;

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

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()Normálové vektory. The w komponenta je nepoužita (typicky 0.0).

Vrací: VertexElementUV

Ukládá páry texturovacích souř koordinát (Vector2) na vrchol nebo na roh polygonu. Síť může nést více UV vrstev pro různé texturové kanály.


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

Methods

MethodsMethodsMethodsMethods
dataList<Vector2>getData()Páry UV souřadnic.

VertexElementVertexColor

Ukládá data barvy RGBA na vrchol nebo na roh jako Vector4 (r, g, b, a v rozsahu 0–1).

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()RGBA hodnoty barev.

Výčet VertexElementType

Identifikuje sémantickou roli vrstvy elementu vrcholu.

import com.aspose.threed.*;
MethodsMethods
NORMALVektory normál povrchu.
UVUV souřadnice textury.
VERTEX_COLORRGBA barva na vrcholu.
TANGENTTangenciální vektory pro normální mapování.
BINORMALBinormální (bitangenciální) vektory.
MATERIALIndex materiálu na polygonu.
POLYGON_GROUPIndex seskupení polygonů.
VERTEX_CREASEVáhy záhybů vrcholů při dělení.
EDGE_CREASEVáhy záhybů hran při dělení.
USER_DATALibovolná uživatelem definovaná data.
VISIBILITYPříznaky viditelnosti na prvcích.
SPECULARBarva nebo intenzita odlesku.
WEIGHTVáhy míchání pro skinning.
HOLEPříznaky děr v polygonu.

Výčet MappingMode

Řídí, ke kterému geometrickému primitivu je každá hodnota elementu vrcholu přiřazena.

MethodsMethods
CONTROL_POINTJedna hodnota na řídící bod (vrchol).
POLYGON_VERTEXJedna hodnota na každý roh polygonu (face-vertex).
POLYGONJedna hodnota na polygon.

Výčet ReferenceMode

Řídí, jak je indexováno pole dat elementu vrcholu.

MethodsMethods
DIRECTData jsou přistupována sekvenčně bez samostatného pole indexů.
INDEXData jsou přistupována přes samostatné pole indexů.
INDEX_TO_DIRECTPole indexů mapuje každý primitivní mapovací prvek na pozici v datovém poli.

Methods

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

Viz také

 Čeština