VertexElement

VertexElement — Aspose.3D FOSS for Java

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

VertexElement ir abstrakta pamata klase per-virsotnes (vai per-poliģona, per-malā) datu slāņiem, kas pievienoti a Mesh.Katrs apakšklase saglabā konkrētu ģeometriskā atribūta veidu — normāles, UV koordinātas, virsotnes krāsas vai gludināšanas grupas.


Methods

Methods

MethodsMethodsMethodsMethodsMethods
vertexElementTypeVertexElementTypegetVertexElementType()Semantiskais šī elementa tips (tikai lasāms).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Nosaka, kuram primitīvam katra vērtība tiek piesaistīta.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Nosaka, kā vērtības tiek indeksētas.
indicesList<Integer>getIndices()Indeksu masīvs (izmanto, kad atsauces režīms ir INDEX_TO_DIRECT).
nameStringgetName()setName(String)Pēc izvēles nosaukums šim virsotnes elementa slānim.

VertexElementNormal

Saglabā vienu normāles vektoru uz virsotnes vai uz poliģona stūra, atkarībā no getMappingMode(). Datu vērtības ir Vector4 instances ar w neizmantots.

import com.aspose.threed.*;

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

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()Normāles vektori. w komponents nav izmantots (parasti 0.0).

Atgriež: VertexElementUV

Saglabā tekstūras koordinātu pārus (Vector2) uz virsotnes vai uz daudzstūra stūra. Tīkls var saturēt vairākus UV slāņus dažādiem tekstūras kanāliem.


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

Methods

MethodsMethodsMethodsMethods
dataList<Vector2>getData()UV koordinātu pāri.

VertexElementVertexColor

Saglabā uz virsotnes vai uz stūra RGBA krāsu datus kā Vector4 (r, g, b, a diapazonā 0–1).

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()RGBA krāsu vērtības.

VertexElementType uzskaitījums

Identificē semantisko lomu virsotnes elementa slānim.

import com.aspose.threed.*;
MethodsMethods
NORMALVirsmu normālu vektori.
UVTekstūras UV koordinātas.
VERTEX_COLORKatras virsotnes RGBA krāsa.
TANGENTTangentu vektori normālu kartēšanai.
BINORMALBinormālie (bitangentu) vektori.
MATERIALKatras daudzstūra materiāla indekss.
POLYGON_GROUPDaudzstūru grupēšanas indekss.
VERTEX_CREASEApakšdalījuma virsotnes saliekuma svari.
EDGE_CREASEApakšdalījuma malas saliekuma svari.
USER_DATAPatvaļīgi lietotāja definēti dati.
VISIBILITYKatras elementa redzamības karogi.
SPECULARSpoguļgaismas krāsa vai intensitāte.
WEIGHTSapludināšanas svarus skinningam.
HOLEPoligona caurumu karogi.

MappingMode uzskaitījums

Nosaka, kuram ģeometrijas primitīvam ir piesaistīta katra virsotnes elementa vērtība.

MethodsMethods
CONTROL_POINTViena vērtība katram vadības punktam (virsotnei).
POLYGON_VERTEXViena vērtība katram daudzstūra stūrim (sejas-virsotnei).
POLYGONViena vērtība katram daudzstūrim.

ReferenceMode uzskaitījums

Nosaka, kā tiek indeksēts virsotnes elementa datu masīvs.

MethodsMethods
DIRECTDati tiek piekļūti secīgi bez atsevišķa indeksu masīva.
INDEXDati tiek piekļūti, izmantojot atsevišķu indeksu masīvu.
INDEX_TO_DIRECTIndeksu masīvs kartē katru kartēšanas primitīvu uz pozīciju datu masīvā.

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

Skatīt arī

 Latviešu