VertexElement

VertexElement — Aspose.3D FOSS for Java

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

VertexElement on abstrakti perusluokka per-vertex (tai per-polygon, per-edge) -tietokerroksille, jotka on liitetty a Mesh.Jokainen aliluokka tallentaa tietyn tyyppisen geometrisen attribuutin – normaalit, UV-koordinaatit, vertex-värit tai tasoitusryhmät.


Methods

Methods

MethodsMethodsMethodsMethodsMethods
vertexElementTypeVertexElementTypegetVertexElementType()Tämän elementin semanttinen tyyppi (vain luku).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Määrittää, mihin primitiiviin kukin arvo kartoitetaan.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Määrittää, miten arvot indeksoidaan.
indicesList<Integer>getIndices()Indeksi-taulukko (käytetään, kun viitemoodi on INDEX_TO_DIRECT).
nameStringgetName()setName(String)Valinnainen nimi tälle vertex-elementtikerrokselle.

VertexElementNormal

Tallentaa yhden normaalivektorin per vertex tai per polygon-kulma, riippuen getMappingMode(). Tietojen arvot ovat Vector4 instansseja, joilla on w ei käytössä.

import com.aspose.threed.*;

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

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()Normaalivektorit. The w komponentti on käyttämättömänä (tyypillisesti 0.0).

Returns: VertexElementUV

Tallentaa tekstuurikoordinaattipareja (Vector2) per vertex tai per polygon corner. Mesh voi sisältää useita UV-kerroksia eri tekstuurikanaville.


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

Methods

MethodsMethodsMethodsMethods
dataList<Vector2>getData()UV-koordinaattiparit.

VertexElementVertexColor

Tallentaa per-vertex tai per-corner RGBA colour -data muodossa Vector4 (r, g, b, a välillä 0–1).

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()RGBA-väriarvot.

VertexElementType-luettelo

Määrittää vertex-elementtikerroksen semanttisen roolin.

import com.aspose.threed.*;
MethodsMethods
NORMALPinnan normaalivektorit.
UVTekstuurin UV-koordinaatit.
VERTEX_COLORVertex-kohtainen RGBA-väri.
TANGENTTangentin vektorit normaalikartoitukseen.
BINORMALBinormaalivektorit (bitangent).
MATERIALPolygonikohtainen materiaalin indeksi.
POLYGON_GROUPPolygoniryhmän indeksi.
VERTEX_CREASEAlijakoituksen vertex-ryppyjen painot.
EDGE_CREASEAlijakoituksen reunan ryppyjen painot.
USER_DATAMielivaltainen käyttäjän määrittelemä data.
VISIBILITYJokaiselle elementille näkyvyysliput.
SPECULARHeijastuksen väri tai intensiteetti.
WEIGHTLuupauksen sekoituspainot.
HOLEPolygoni-aukko -liput.

MappingMode-luettelo

Määrittää, mihin geometrinen primitiiviin kukin vertex-elementin arvo liitetään.

MethodsMethods
CONTROL_POINTYksi arvo per ohjauspiste (solmu).
POLYGON_VERTEXYksi arvo per polygoni kulma (kasvo-solmu).
POLYGONYksi arvo per polygoni.

ReferenceMode-luettelo

Määrittää, miten vertex-elementin data-taulukko indeksoidaan.

MethodsMethods
DIRECTDataa haetaan peräkkäin ilman erillistä indeksitaulukkoa.
INDEXDataa haetaan erillisen indeksitaulukon kautta.
INDEX_TO_DIRECTIndeksitaulukko kartoittaa jokaisen kartoitusprimitivin sijaintiin data-taulukossa.

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

Katso myös

 Suomi