VertexElement — Aspose.3D FOSS for Java
Paket: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement je apstraktna osnovna klasa za slojeve podataka po vrhu (ili po poligonu, po rubu) koji su pričvršćeni na Mesh.Svaka podklasa pohranjuje određenu vrstu geometrijskog atributa – normale, UV koordinate, boje vrhova ili grupe zaglađivanja.
Enumerations
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Semantički tip ovog elementa (samo za čitanje). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Upravlja kojem primitivnom svaki vrijednost pripada. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Upravlja načinom indeksiranja vrijednosti. |
indices | List<Integer> | getIndices() | – | Polje indeksa (koristi se kada je način referencije INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Opcionalno ime ovog sloja elementa vrha. |
VertexElementNormal
Pohranjuje jedan vektor normale po vrhu ili po kutu poligona, ovisno o getMappingMode(). Vrijednosti podataka su Vector4 instance s w neiskorišteno.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | Vektori normale. The w komponenta nije korištena (obično 0.0). |
Vraća: VertexElementUV
Pohranjuje parove teksturnih koordinata (Vector2) po vrhu ili po uglu poligona. Mreža može imati više UV slojeva za različite teksturne kanale.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector2> | getData() | Parovi UV koordinata. |
VertexElementVertexColor
Pohranjuje podatke o boji RGBA po vrhu ili po uglu kao Vector4 (r, g, b, a u rasponu 0–1).
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | RGBA vrijednosti boje. |
Enumeracija VertexElementType
Identificira semantičku ulogu sloja elementa vrha.
import com.aspose.threed.*;| Enumerations | Enumerations |
|---|---|
NORMAL | Vektori površinskih normala. |
UV | UV koordinate teksture. |
VERTEX_COLOR | RGBA boja po vrhu. |
TANGENT | Tangencijalni vektori za normal mapiranje. |
BINORMAL | Binormalni (bitangent) vektori. |
MATERIAL | Indeks materijala po poligonu. |
POLYGON_GROUP | Indeks grupiranja poligona. |
VERTEX_CREASE | Težine nabora vrha podjele. |
EDGE_CREASE | Težine nabora rubova podjele. |
USER_DATA | Proizvoljni podaci definirani od strane korisnika. |
VISIBILITY | Zastavice vidljivosti po elementu. |
SPECULAR | Specularna boja ili intenzitet. |
WEIGHT | Težine blendanja za skinning. |
HOLE | Zastavice rupa u poligonu. |
Enumeracija MappingMode
Upravlja kojim geometrijskim primitivom je svaka vrijednost elementa vrha povezana.
| Enumerations | Enumerations |
|---|---|
CONTROL_POINT | Jedna vrijednost po kontrolnoj točki (vrhu). |
POLYGON_VERTEX | Jedna vrijednost po kutu poligona (vrh‑lica). |
POLYGON | Jedna vrijednost po poligonu. |
Enumeracija ReferenceMode
Upravlja načinom indeksiranja niza podataka elementa vrha.
| Enumerations | Enumerations |
|---|---|
DIRECT | Podaci se pristupaju sekvencijalno bez zasebnog niza indeksa. |
INDEX | Podaci se pristupaju putem zasebnog niza indeksa. |
INDEX_TO_DIRECT | Niz indeksa mapira svaki primitiv mapiranja na položaj u nizu podataka. |
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());
}
}
}