VertexElement

VertexElement — Aspose.3D FOSS for Java

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

VertexElement er den abstrakte basisklassen for per-vertex (eller per-polygon, per-edge) datalag festet til en Mesh.Hver underklasse lagrer en spesifikk type geometrisk attributt – normaler, UV-koordinater, vertex-farger eller smoothing-grupper.


Enumerations

Enumerations

EnumerationsEnumerationsEnumerationsEnumerationsEnumerations
vertexElementTypeVertexElementTypegetVertexElementType()Semantisk type for dette elementet (kun lesing).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Styrer hvilken primitive hver verdi kartlegges til.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Styrer hvordan verdier indekseres.
indicesList<Integer>getIndices()Indeksarray (brukt når referansemodus er INDEX_TO_DIRECT).
nameStringgetName()setName(String)Valgfritt navn på dette vertex-elementlaget.

VertexElementNormal

Lagrer én normalvektor per vertex eller per polygonhjørne, avhengig av getMappingMode(). Dataverdier er Vector4 instanser med w ubrukt.

import com.aspose.threed.*;

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

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
dataList<Vector4>getData()Normalvektorer. Den w komponenten er ubrukt (vanligvis 0.0).

Returnerer: VertexElementUV

Lagrer teksturkoordinatpar (Vector2) per vertex eller per polygonhjørne. Et mesh kan ha flere UV-lag for ulike teksturkanaler.


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

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
dataList<Vector2>getData()UV-koordinatpar.

VertexElementVertexColor

Lagrer per-vertex eller per-hjørne RGBA-fargedata som Vector4 (r, g, b, a i området 0–1).

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
dataList<Vector4>getData()RGBA-fargeverdier.

VertexElementType‑enumerasjon

Identifiserer den semantiske rollen til et vertex‑elementlag.

import com.aspose.threed.*;
EnumerationsEnumerations
NORMALNormalvektorer for overflaten.
UVUV-koordinater for tekstur.
VERTEX_COLORPer-vertex RGBA-farge.
TANGENTTangentvektorer for normalkartlegging.
BINORMALBinormale (bitangent) vektorer.
MATERIALMaterialindeks per polygon.
POLYGON_GROUPPolygon-grupperingsindeks.
VERTEX_CREASEKrefteverdier for vertex-krøller ved underdeling.
EDGE_CREASEKrefteverdier for kant-krøller ved underdeling.
USER_DATAArbitrær brukerdefinert data.
VISIBILITYSynlighetsflagg per element.
SPECULARSpekulær farge eller intensitet.
WEIGHTBlandingsvekter for skinning.
HOLEPolygon-hullflagg.

MappingMode‑enumerasjon

Styrer hvilken geometrisk primitive hver vertex‑elementverdi er knyttet til.

EnumerationsEnumerations
CONTROL_POINTÉn verdi per kontrollpunkt (vertex).
POLYGON_VERTEXÉn verdi per polygonhjørne (face-vertex).
POLYGONÉn verdi per polygon.

ReferenceMode‑enumerasjon

Styrer hvordan vertex‑elementdatamatrisen indekseres.

EnumerationsEnumerations
DIRECTData blir aksessert sekvensielt uten en separat indices array.
INDEXData blir aksessert via en separat indices array.
INDEX_TO_DIRECTEt indeksarray kartlegger hver kartleggingsprimitive til en posisjon i dataarrayet.

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

Se også

 Norsk