VertexElement

VertexElement — Aspose.3D FOSS for Java

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

VertexElement és la classe base abstracta per a capes de dades per vèrtex (o per polígon, per aresta) adjuntades a un Mesh.Cada subclasse emmagatzema un tipus específic d’atribut geomètric – normals, coordenades UV, colors de vèrtex o grups d’allisat.


Methods

Methods

MethodsMethodsMethodsMethodsMethods
vertexElementTypeVertexElementTypegetVertexElementType()Tipus semàntic d’aquest element (només lectura).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Controla a quina primitiva correspon cada valor.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Controla com s’indexen els valors.
indicesList<Integer>getIndices()Matriu d’índexs (s’utilitza quan el mode de referència és INDEX_TO_DIRECT).
nameStringgetName()setName(String)Nom opcional d’aquesta capa d’element de vèrtex.

VertexElementNormal

Emmagatzema un vector normal per vèrtex o per cantonada de polígon, segons getMappingMode(). Els valors de dades són Vector4 instàncies amb w no utilitzat.

import com.aspose.threed.*;

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

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()Vectors normals. El w el component no s’utilitza (normalment 0.0).

Retorna: VertexElementUV

Emmagatzema parelles de coordenades de textura (Vector2) per vèrtex o per cantonada de polígon. Una malla pot portar múltiples capes UV per a diferents canals de textura.


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

Methods

MethodsMethodsMethodsMethods
dataList<Vector2>getData()Parelles de coordenades UV.

VertexElementVertexColor

Emmagatzema dades de color RGBA per vèrtex o per cantonada com a Vector4 (r, g, b, a en el rang 0–1).

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()Valors de color RGBA.

Enumeració VertexElementType

Identifica el paper semàntic d’una capa d’element de vèrtex.

import com.aspose.threed.*;
MethodsMethods
NORMALVectors normals de superfície.
UVCoordenades UV de la textura.
VERTEX_COLORColor RGBA per vèrtex.
TANGENTVectors tangent per al mapatge de normals.
BINORMALVectors binormals (bitangent).
MATERIALÍndex de material per polígon.
POLYGON_GROUPÍndex d’agrupació de polígons.
VERTEX_CREASEPesos de plec de vèrtex per subdivisió.
EDGE_CREASEPesos de plec d’aresta per subdivisió.
USER_DATADades arbitràries definides per l’usuari.
VISIBILITYIndicadors de visibilitat per element.
SPECULARColor o intensitat especular.
WEIGHTPesos de mescla per a la skinning.
HOLEIndicadors de forats de polígon.

Enumeració MappingMode

Controla amb quina primitiva geomètrica s’associa cada valor d’element de vèrtex.

MethodsMethods
CONTROL_POINTUn valor per punt de control (vèrtex).
POLYGON_VERTEXUn valor per cantonada de polígon (vèrtex de cara).
POLYGONUn valor per polígon.

Enumeració ReferenceMode

Controla com s’indexa la matriu de dades de l’element de vèrtex.

MethodsMethods
DIRECTLes dades s’accedeixen seqüencialment sense una matriu d’índexs separada.
INDEXLes dades s’accedeixen a través d’una matriu d’índexs separada.
INDEX_TO_DIRECTUna matriu d’índexs assigna cada primitiva de mapatge a una posició a la matriu de dades.

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

Vegeu també

 Català