VertexElement

VertexElement — Aspose.3D FOSS for Java

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

VertexElement est la classe de base abstraite pour les calques de données par sommet (ou par polygone, par arête) attachés à un Mesh.Chaque sous‑classe stocke un type spécifique d’attribut géométrique – normales, coordonnées UV, couleurs de sommet ou groupes de lissage.


Methods

Methods

MethodsMethodsMethodsMethodsMethods
vertexElementTypeVertexElementTypegetVertexElementType()Type sémantique de cet élément (lecture seule).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Contrôle à quelle primitive chaque valeur est associée.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Contrôle la façon dont les valeurs sont indexées.
indicesList<Integer>getIndices()Tableau d’index (utilisé lorsque le mode de référence est INDEX_TO_DIRECT).
nameStringgetName()setName(String)Nom optionnel de ce calque d’élément de sommet.

VertexElementNormal

Stocke un vecteur normal par sommet ou par coin de polygone, selon getMappingMode(). Les valeurs de données sont Vector4 instances avec w non utilisé.

import com.aspose.threed.*;

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

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()Vecteurs normaux. Le w le composant n’est pas utilisé (généralement 0.0).

Renvoie : VertexElementUV

Stocke les paires de coordonnées de texture (Vector2) par sommet ou par coin de polygone. Un maillage peut contenir plusieurs calques UV pour différents canaux de texture.


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

Methods

MethodsMethodsMethodsMethods
dataList<Vector2>getData()Paires de coordonnées UV.

VertexElementVertexColor

Stocke les données de couleur RGBA par sommet ou par coin sous forme de Vector4 (r, g, b, a dans la plage 0–1).

Methods

MethodsMethodsMethodsMethods
dataList<Vector4>getData()Valeurs de couleur RGBA.

Énumération VertexElementType

Identifie le rôle sémantique d’un calque d’élément de sommet.

import com.aspose.threed.*;
MethodsMethods
NORMALVecteurs normaux de surface.
UVCoordonnées UV de la texture.
VERTEX_COLORCouleur RGBA par sommet.
TANGENTVecteurs tangents pour le mappage normal.
BINORMALVecteurs binormaux (bitangents).
MATERIALIndice de matériau par polygone.
POLYGON_GROUPIndice de groupement de polygones.
VERTEX_CREASEPoids de pliage des sommets de subdivision.
EDGE_CREASEPoids de pliage des arêtes de subdivision.
USER_DATADonnées arbitraires définies par l’utilisateur.
VISIBILITYDrapeaux de visibilité par élément.
SPECULARCouleur ou intensité spéculaire.
WEIGHTPoids de mélange pour le skinning.
HOLEDrapeaux de trou de polygone.

Énumération MappingMode

Contrôle à quel primitive géométrique chaque valeur d’élément de sommet est associée.

MethodsMethods
CONTROL_POINTUne valeur par point de contrôle (sommets).
POLYGON_VERTEXUne valeur par coin de polygone (face-vertex).
POLYGONUne valeur par polygone.

Énumération ReferenceMode

Contrôle la façon dont le tableau de données d’élément de sommet est indexé.

MethodsMethods
DIRECTLes données sont accédées séquentiellement sans tableau d’indices séparé.
INDEXLes données sont accédées via un tableau d’indices séparé.
INDEX_TO_DIRECTUn tableau d’indices associe chaque primitive de mappage à une position dans le tableau de données.

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

Voir aussi

 Français