VertexElement

VertexElement — Aspose.3D FOSS for Java

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

VertexElement é a classe base abstrata para camadas de dados por vértice (ou por polígono, por aresta) anexadas a Mesh.Cada subclasse armazena um tipo específico de atributo geométrico – normais, coordenadas UV, cores de vértice ou grupos de suavização.


Enumerations

Enumerations

EnumerationsEnumerationsEnumerationsEnumerationsEnumerations
vertexElementTypeVertexElementTypegetVertexElementType()Tipo semântico deste elemento (somente leitura).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)Controla a qual primitiva cada valor está mapeado.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)Controla como os valores são indexados.
indicesList<Integer>getIndices()Array de índices (usado quando o modo de referência é INDEX_TO_DIRECT).
nameStringgetName()setName(String)Nome opcional desta camada de elemento de vértice.

VertexElementNormal

Armazena um vetor normal por vértice ou por canto de polígono, dependendo de getMappingMode(). Os valores de dados são Vector4 instâncias com w não usado.

import com.aspose.threed.*;

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

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
dataList<Vector4>getData()Vetores normais. O w componente não é usado (tipicamente 0.0).

Returns: VertexElementUV

Armazena pares de coordenadas de textura (Vector2) por vértice ou por canto do polígono. Uma malha pode conter várias camadas UV para diferentes canais de textura.


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

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
dataList<Vector2>getData()Pares de coordenadas UV.

VertexElementVertexColor

Armazena dados de cor RGBA por vértice ou por canto como Vector4 (r, g, b, a no intervalo 0–1).

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
dataList<Vector4>getData()Valores de cor RGBA.

Enumeração VertexElementType

Identifica a função semântica de uma camada de elemento de vértice.

import com.aspose.threed.*;
EnumerationsEnumerations
NORMALVetores normais de superfície.
UVCoordenadas UV da textura.
VERTEX_COLORCor RGBA por vértice.
TANGENTVetores tangentes para mapeamento normal.
BINORMALVetores binormais (bitangentes).
MATERIALÍndice de material por polígono.
POLYGON_GROUPÍndice de agrupamento de polígonos.
VERTEX_CREASEPesos de dobra de vértice na subdivisão.
EDGE_CREASEPesos de dobra de aresta na subdivisão.
USER_DATADados arbitrários definidos pelo usuário.
VISIBILITYFlags de visibilidade por elemento.
SPECULARCor ou intensidade especular.
WEIGHTPesos de mistura para skinning.
HOLEFlags de furos de polígonos.

Enumeração MappingMode

Controla a qual primitiva geométrica cada valor de elemento de vértice está associado.

EnumerationsEnumerations
CONTROL_POINTUm valor por ponto de controle (vértice).
POLYGON_VERTEXUm valor por canto do polígono (face-vertex).
POLYGONUm valor por polígono.

Enumeração ReferenceMode

Controla como o array de dados do elemento de vértice é indexado.

EnumerationsEnumerations
DIRECTOs dados são acessados sequencialmente sem um array de índices separado.
INDEXOs dados são acessados via um array de índices separado.
INDEX_TO_DIRECTUm array de índices mapeia cada primitiva de mapeamento para uma posição no array de dados.

Enumerations

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

Veja também

 Português