VertexElement — Aspose.3D FOSS for Java
Balíček: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement je abstraktní základní třída pro per-vertex (or per-polygon, per-edge) datové vrstvy připojené k Mesh.Každá podtřída ukládá konkrétní typ geometrického atributu – normály, UV souřadnice, barvy vrcholů nebo skupiny vyhlazování.
Methods
Methods
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Sémantický typ tohoto prvku (pouze pro čtení). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Určuje, ke kterému primitivu se každá hodnota mapuje. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Určuje, jak jsou hodnoty indexovány. |
indices | List<Integer> | getIndices() | – | Pole indexů (používá se, když je režim reference INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Volitelný název této vrstvy vrcholového prvku. |
VertexElementNormal
Ukládá jeden normálový vektor na vrchol nebo na roh polygonu, v závislosti na getMappingMode(). Datové hodnoty jsou Vector4 instance s w nepoužité.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<Vector4> | getData() | Normálové vektory. The w komponenta je nepoužita (typicky 0.0). |
Vrací: VertexElementUV
Ukládá páry texturovacích souř koordinát (Vector2) na vrchol nebo na roh polygonu. Síť může nést více UV vrstev pro různé texturové kanály.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<Vector2> | getData() | Páry UV souřadnic. |
VertexElementVertexColor
Ukládá data barvy RGBA na vrchol nebo na roh jako Vector4 (r, g, b, a v rozsahu 0–1).
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
data | List<Vector4> | getData() | RGBA hodnoty barev. |
Výčet VertexElementType
Identifikuje sémantickou roli vrstvy elementu vrcholu.
import com.aspose.threed.*;| Methods | Methods |
|---|---|
NORMAL | Vektory normál povrchu. |
UV | UV souřadnice textury. |
VERTEX_COLOR | RGBA barva na vrcholu. |
TANGENT | Tangenciální vektory pro normální mapování. |
BINORMAL | Binormální (bitangenciální) vektory. |
MATERIAL | Index materiálu na polygonu. |
POLYGON_GROUP | Index seskupení polygonů. |
VERTEX_CREASE | Váhy záhybů vrcholů při dělení. |
EDGE_CREASE | Váhy záhybů hran při dělení. |
USER_DATA | Libovolná uživatelem definovaná data. |
VISIBILITY | Příznaky viditelnosti na prvcích. |
SPECULAR | Barva nebo intenzita odlesku. |
WEIGHT | Váhy míchání pro skinning. |
HOLE | Příznaky děr v polygonu. |
Výčet MappingMode
Řídí, ke kterému geometrickému primitivu je každá hodnota elementu vrcholu přiřazena.
| Methods | Methods |
|---|---|
CONTROL_POINT | Jedna hodnota na řídící bod (vrchol). |
POLYGON_VERTEX | Jedna hodnota na každý roh polygonu (face-vertex). |
POLYGON | Jedna hodnota na polygon. |
Výčet ReferenceMode
Řídí, jak je indexováno pole dat elementu vrcholu.
| Methods | Methods |
|---|---|
DIRECT | Data jsou přistupována sekvenčně bez samostatného pole indexů. |
INDEX | Data jsou přistupována přes samostatné pole indexů. |
INDEX_TO_DIRECT | Pole indexů mapuje každý primitivní mapovací prvek na pozici v datovém poli. |
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());
}
}
}