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
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Tipus semàntic d’aquest element (només lectura). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Controla a quina primitiva correspon cada valor. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Controla com s’indexen els valors. |
indices | List<Integer> | getIndices() | – | Matriu d’índexs (s’utilitza quan el mode de referència és INDEX_TO_DIRECT). |
name | String | getName() | 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
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<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
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<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
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<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.*;| Methods | Methods |
|---|---|
NORMAL | Vectors normals de superfície. |
UV | Coordenades UV de la textura. |
VERTEX_COLOR | Color RGBA per vèrtex. |
TANGENT | Vectors tangent per al mapatge de normals. |
BINORMAL | Vectors binormals (bitangent). |
MATERIAL | Índex de material per polígon. |
POLYGON_GROUP | Índex d’agrupació de polígons. |
VERTEX_CREASE | Pesos de plec de vèrtex per subdivisió. |
EDGE_CREASE | Pesos de plec d’aresta per subdivisió. |
USER_DATA | Dades arbitràries definides per l’usuari. |
VISIBILITY | Indicadors de visibilitat per element. |
SPECULAR | Color o intensitat especular. |
WEIGHT | Pesos de mescla per a la skinning. |
HOLE | Indicadors de forats de polígon. |
Enumeració MappingMode
Controla amb quina primitiva geomètrica s’associa cada valor d’element de vèrtex.
| Methods | Methods |
|---|---|
CONTROL_POINT | Un valor per punt de control (vèrtex). |
POLYGON_VERTEX | Un valor per cantonada de polígon (vèrtex de cara). |
POLYGON | Un valor per polígon. |
Enumeració ReferenceMode
Controla com s’indexa la matriu de dades de l’element de vèrtex.
| Methods | Methods |
|---|---|
DIRECT | Les dades s’accedeixen seqüencialment sense una matriu d’índexs separada. |
INDEX | Les dades s’accedeixen a través d’una matriu d’índexs separada. |
INDEX_TO_DIRECT | Una 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());
}
}
}