VertexElement

VertexElement — Aspose.3D FOSS for Java

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

VertexElement je apstraktna osnovna klasa za slojeve podataka po‑vrhu (ili po‑poligonu, po‑ivici) koji su prikačeni na Mesh.Svaka podklasa čuva određenu vrstu geometrijskog atributa – normale, UV koordinate, boje vrhova ili grupe za izgladjivanje.


Example

Example

ExampleExampleExampleExampleExample
vertexElementTypeVertexElementTypegetVertexElementType()Semantički tip ovog elementa (samo za čitanje).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Kontroliše kojem primitivnom svaka vrednost mapira.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Kontroliše kako su vrednosti indeksirane.
indicesList<Integer>getIndices()Niz indeksa (koristi se kada je režim referencije je) INDEX_TO_DIRECT).
nameStringgetName()setName(String)Opcionalno ime ovog sloja elementa vrha.

VertexElementNormal

Čuva jedan normalni vektor po vrhu ili po uglu poligona, u zavisnosti od getMappingMode(). Vrednosti podataka su Vector4 instance sa w neiskorišćeno.

import com.aspose.threed.*;

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

Example

ExampleExampleExampleExample
dataList<Vector4>getData()Normalni vektori. w komponenta nije upotrebljena (obično 0.0).

Vraća: VertexElementUV

Čuva parove teksturnih koordinata (Vector2) po vrhu ili po uglu poligona. Mreža može imati više UV slojeva za različite teksturne kanale.


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

Example

ExampleExampleExampleExample
dataList<Vector2>getData()Parovi UV koordinata.

VertexElementVertexColor

Čuva podatke o RGBA boji po vrhu ili po uglu kao Vector4 (r, g, b, a u opsegu 0–1).

Example

ExampleExampleExampleExample
dataList<Vector4>getData()RGBA vrednosti boje.

Enumeracija VertexElementType

Identifikuje semantičku ulogu sloja elementa vrha.

import com.aspose.threed.*;
ExampleExample
NORMALVektori normalnih površina.
UVUV koordinate teksture.
VERTEX_COLORRGBA boja po vrhu.
TANGENTTangencijalni vektori za normal mapiranje.
BINORMALBinormalni (bitangencijalni) vektori.
MATERIALIndeks materijala po poligonu.
POLYGON_GROUPIndeks grupisanja poligona.
VERTEX_CREASETežine nabora vrha poddeljivanja.
EDGE_CREASETežine nabora ivice poddeljivanja.
USER_DATAProizvoljni podaci definisani od strane korisnika.
VISIBILITYZastavice vidljivosti po elementu.
SPECULARSpecularna boja ili intenzitet.
WEIGHTTežine blendovanja za skinning.
HOLEZastavice rupa poligona.

Enumeracija MappingMode

Kontroliše kojem geometrijskom primitivu je svaka vrednost elementa vrha dodeljena.

ExampleExample
CONTROL_POINTJedna vrednost po kontrolnoj tački (vrh).
POLYGON_VERTEXJedna vrednost po uglu poligona (vrh‑lice).
POLYGONJedna vrednost po poligonu.

Enumeracija ReferenceMode

Kontroliše kako je indeksiran niz podataka elementa vrha.

ExampleExample
DIRECTPodaci se pristupaju sekvencijalno bez zasebnog niza indeksa.
INDEXPodaci se pristupaju putem zasebnog niza indeksa.
INDEX_TO_DIRECTNiz indeksa mapira svaki primitivni mapiranje na poziciju u nizu podataka.

Example

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

Vidi takođe

 Српски