VertexElement — Aspose.3D FOSS for Java
Balík: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement je abstraktná základná trieda pre vrstvy dát priradené k vrcholom (alebo polygónom, hranám) pripojené k Mesh.Každá podtrieda ukladá konkrétny typ geometrického atribútu – normály, UV súradnice, farby vrcholov alebo skupiny vyhladzovania.
Example
Example
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Sémantický typ tohto prvku (iba na čítanie). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Určuje, ku ktorému primitívu sa každá hodnota mapuje. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Určuje, ako sú hodnoty indexované. |
indices | List<Integer> | getIndices() | – | Pole indexov (používa sa, keď je režim referencie INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Voliteľný názov tejto vrstvy vrcholového prvku. |
VertexElementNormal
Ukladá jeden normálový vektor na vrchol alebo na roh polygónu, v závislosti od getMappingMode(). Hodnoty dát sú Vector4 inštancie s w nepoužité.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | Normálové vektory. The w komponent je nepoužitý (typicky 0.0). |
Vráti: VertexElementUV
Ukladá páry textúrových súradníc (Vector2) na vrchol alebo na roh polygonu. Mriežka môže obsahovať viacero UV vrstiev pre rôzne textúrovacie kanály.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector2> | getData() | Páry UV súradníc. |
VertexElementVertexColor
Ukladá dáta farby RGBA na vrchol alebo na roh ako Vector4 (r, g, b, a v rozsahu 0–1).
Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | RGBA farebné hodnoty. |
Enumerácia VertexElementType
Identifikuje sémantickú úlohu vrstvy vertex elementu.
import com.aspose.threed.*;| Example | Example |
|---|---|
NORMAL | Normálové vektory povrchu. |
UV | UV súradnice textúry. |
VERTEX_COLOR | RGBA farba na vrchole. |
TANGENT | Tangenciálne vektory pre normálové mapovanie. |
BINORMAL | Binormálne (bitangenciálne) vektory. |
MATERIAL | Index materiálu na polygóne. |
POLYGON_GROUP | Index zoskupenia polygonov. |
VERTEX_CREASE | Váhy záhybov vrcholov pri subdivízii. |
EDGE_CREASE | Váhy záhybov hrán pri subdivízii. |
USER_DATA | Ľubovoľné používateľom definované dáta. |
VISIBILITY | Príznaky viditeľnosti na elemente. |
SPECULAR | Špeculárna farba alebo intenzita. |
WEIGHT | Váhy miešania pre skinning. |
HOLE | Príznaky dier v polygóne. |
Enumerácia MappingMode
Určuje, s ktorým geometrickým primitívom je každá hodnota vertex elementu spojená.
| Example | Example |
|---|---|
CONTROL_POINT | Jedna hodnota na kontrolný bod (vrchol). |
POLYGON_VERTEX | Jedna hodnota na každý roh polygonu (face-vertex). |
POLYGON | Jedna hodnota na polygon. |
Enumerácia ReferenceMode
Určuje, ako je indexované pole dát vertex elementu.
| Example | Example |
|---|---|
DIRECT | Údaje sa pristupuje sekvenčne bez samostatného poľa indexov. |
INDEX | Údaje sa pristupuje prostredníctvom samostatného poľa indexov. |
INDEX_TO_DIRECT | Pole indexov mapuje každý mapovací primitív na pozíciu v poli dát. |
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());
}
}
}