VertexElement — Aspose.3D FOSS for Java
Paketas: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement yra abstrakti bazinė klasė, skirta viršūnės (arba daugiakampio, krašto) duomenų sluoksniams, priskirtiems prie Mesh.Kiekviena išvestinė klasė saugo konkretų geometrinį atributą – normalės, UV koordinatės, viršūnių spalvos arba glotninimo grupės.
Example
Example
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Semantinis šio elemento tipas (tik skaitymui). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Valdo, kuriam primityvui priskiriama kiekviena reikšmė. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Valdo, kaip indeksuojamos reikšmės. |
indices | List<Integer> | getIndices() | – | Indeksų masyvas (naudojamas, kai nuorodos režimas yra INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Nebūtinas šio viršūnės elemento sluoksnio pavadinimas. |
VertexElementNormal
Saugo po vieną normalės vektorių kiekvienai viršūnei arba daugiakampio kampui, priklausomai nuo getMappingMode(). Duomenų reikšmės yra Vector4 instancijos su w nenaudojama.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | Normalės vektoriai. w komponentas nenaudojamas (dažniausiai 0.0). |
Returns: VertexElementUV
Saugo tekstūros koordinatų poras (Vector2) vienam viršūnės taškui arba poligono kampui. Tinklas gali turėti kelis UV sluoksnius skirtingiems tekstūros kanalams.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector2> | getData() | UV koordinatų poros. |
VertexElementVertexColor
Saugo vienam viršūnei arba kampui RGBA spalvų duomenis kaip Vector4 (r, g, b, a intervale 0–1).
Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | RGBA spalvų reikšmės. |
VertexElementType enumeracija
Nustato semantinį viršūnės elemento sluoksnio vaidmenį.
import com.aspose.threed.*;| Example | Example |
|---|---|
NORMAL | Paviršiaus normalių vektoriai. |
UV | Tekstūros UV koordinatės. |
VERTEX_COLOR | Kiekvienos viršūnės RGBA spalva. |
TANGENT | Tangentiniai vektoriai normal mappingui. |
BINORMAL | Binormaliniai (bitangent) vektoriai. |
MATERIAL | Kiekvieno daugiakampio medžiagos indeksas. |
POLYGON_GROUP | Daugiakampio grupavimo indeksas. |
VERTEX_CREASE | Subdivision viršūnės įlenkimo svoriai. |
EDGE_CREASE | Subdivision krašto įlenkimo svoriai. |
USER_DATA | Bet kokie vartotojo apibrėžti duomenys. |
VISIBILITY | Vienos elemento matomumo vėliavos. |
SPECULAR | Spinduliuojanti spalva arba intensyvumas. |
WEIGHT | Maišymo svoriai skinningui. |
HOLE | Poligono skylės vėliavos. |
MappingMode enumeracija
Valdo, su kuriuo geometriniu primityvu susijusi kiekviena viršūnės elemento reikšmė.
| Example | Example |
|---|---|
CONTROL_POINT | Viena reikšmė kiekvienam valdymo taškui (viršūnei). |
POLYGON_VERTEX | Viena reikšmė kiekvienam poligono kampui (veido-viršūnei). |
POLYGON | Viena reikšmė kiekvienam poligonui. |
ReferenceMode enumeracija
Valdo, kaip indeksuojamas viršūnės elemento duomenų masyvas.
| Example | Example |
|---|---|
DIRECT | Duomenys pasiekiami nuosekliai be atskiros indeksų matricos. |
INDEX | Duomenys pasiekiami per atskirą indeksų matricą. |
INDEX_TO_DIRECT | Indeksų masyvas susieja kiekvieną susiejimo primityvą su pozicija duomenų masyve. |
Example
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());
}
}
}