VertexElement

VertexElement — Aspose.3D FOSS for Java

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

VertexElement je abstraktná základná trieda pre vrstvy dát priradené k vrcholom (alebo polygónom, hranám) pripojené k Mesh.Každá podtrieda ukladá konkrétny typ geometrického atribútu – normály, UV súradnice, farby vrcholov alebo skupiny vyhladzovania.


Example

Example

ExampleExampleExampleExampleExample
vertexElementTypeVertexElementTypegetVertexElementType()Sémantický typ tohto prvku (iba na čítanie).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Určuje, ku ktorému primitívu sa každá hodnota mapuje.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Určuje, ako sú hodnoty indexované.
indicesList<Integer>getIndices()Pole indexov (používa sa, keď je režim referencie INDEX_TO_DIRECT).
nameStringgetName()setName(String)Voliteľný názov tejto vrstvy vrcholového prvku.

VertexElementNormal

Ukladá jeden normálový vektor na vrchol alebo na roh polygónu, v závislosti od getMappingMode(). Hodnoty dát sú Vector4 inštancie s w nepoužité.

import com.aspose.threed.*;

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

Example

ExampleExampleExampleExample
dataList<Vector4>getData()Normálové vektory. The w komponent je nepoužitý (typicky 0.0).

Vráti: VertexElementUV

Ukladá páry textúrových súradníc (Vector2) na vrchol alebo na roh polygonu. Mriežka môže obsahovať viacero UV vrstiev pre rôzne textúrovacie kanály.


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

Example

ExampleExampleExampleExample
dataList<Vector2>getData()Páry UV súradníc.

VertexElementVertexColor

Ukladá dáta farby RGBA na vrchol alebo na roh ako Vector4 (r, g, b, a v rozsahu 0–1).

Example

ExampleExampleExampleExample
dataList<Vector4>getData()RGBA farebné hodnoty.

Enumerácia VertexElementType

Identifikuje sémantickú úlohu vrstvy vertex elementu.

import com.aspose.threed.*;
ExampleExample
NORMALNormálové vektory povrchu.
UVUV súradnice textúry.
VERTEX_COLORRGBA farba na vrchole.
TANGENTTangenciálne vektory pre normálové mapovanie.
BINORMALBinormálne (bitangenciálne) vektory.
MATERIALIndex materiálu na polygóne.
POLYGON_GROUPIndex zoskupenia polygonov.
VERTEX_CREASEVáhy záhybov vrcholov pri subdivízii.
EDGE_CREASEVáhy záhybov hrán pri subdivízii.
USER_DATAĽubovoľné používateľom definované dáta.
VISIBILITYPríznaky viditeľnosti na elemente.
SPECULARŠpeculárna farba alebo intenzita.
WEIGHTVáhy miešania pre skinning.
HOLEPríznaky dier v polygóne.

Enumerácia MappingMode

Určuje, s ktorým geometrickým primitívom je každá hodnota vertex elementu spojená.

ExampleExample
CONTROL_POINTJedna hodnota na kontrolný bod (vrchol).
POLYGON_VERTEXJedna hodnota na každý roh polygonu (face-vertex).
POLYGONJedna hodnota na polygon.

Enumerácia ReferenceMode

Určuje, ako je indexované pole dát vertex elementu.

ExampleExample
DIRECTÚdaje sa pristupuje sekvenčne bez samostatného poľa indexov.
INDEXÚdaje sa pristupuje prostredníctvom samostatného poľa indexov.
INDEX_TO_DIRECTPole indexov mapuje každý mapovací primitív na pozíciu v poli dát.

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

Pozri tiež

 Slovenčina