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‑ivici) koji su prikačeni na Mesh.Svaka podklasa čuva određenu vrstu geometrijskog atributa – normale, UV koordinate, boje vrhova ili grupe za izgladjivanje.
Example
Example
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Semantički tip ovog elementa (samo za čitanje). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Kontroliše kojem primitivnom svaka vrednost mapira. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Kontroliše kako su vrednosti indeksirane. |
indices | List<Integer> | getIndices() | – | Niz indeksa (koristi se kada je režim referencije je) INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Opcionalno ime ovog sloja elementa vrha. |
VertexElementNormal
Čuva jedan normalni vektor po vrhu ili po uglu poligona, u zavisnosti od getMappingMode(). Vrednosti podataka su Vector4 instance sa w neiskorišćeno.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | Normalni vektori. w komponenta nije upotrebljena (obično 0.0). |
Vraća: VertexElementUV
Čuva 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
);Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector2> | getData() | Parovi UV koordinata. |
VertexElementVertexColor
Čuva podatke o RGBA boji po vrhu ili po uglu kao Vector4 (r, g, b, a u opsegu 0–1).
Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | RGBA vrednosti boje. |
Enumeracija VertexElementType
Identifikuje semantičku ulogu sloja elementa vrha.
import com.aspose.threed.*;| Example | Example |
|---|---|
NORMAL | Vektori normalnih površina. |
UV | UV koordinate teksture. |
VERTEX_COLOR | RGBA boja po vrhu. |
TANGENT | Tangencijalni vektori za normal mapiranje. |
BINORMAL | Binormalni (bitangencijalni) vektori. |
MATERIAL | Indeks materijala po poligonu. |
POLYGON_GROUP | Indeks grupisanja poligona. |
VERTEX_CREASE | Težine nabora vrha poddeljivanja. |
EDGE_CREASE | Težine nabora ivice poddeljivanja. |
USER_DATA | Proizvoljni podaci definisani od strane korisnika. |
VISIBILITY | Zastavice vidljivosti po elementu. |
SPECULAR | Specularna boja ili intenzitet. |
WEIGHT | Težine blendovanja za skinning. |
HOLE | Zastavice rupa poligona. |
Enumeracija MappingMode
Kontroliše kojem geometrijskom primitivu je svaka vrednost elementa vrha dodeljena.
| Example | Example |
|---|---|
CONTROL_POINT | Jedna vrednost po kontrolnoj tački (vrh). |
POLYGON_VERTEX | Jedna vrednost po uglu poligona (vrh‑lice). |
POLYGON | Jedna vrednost po poligonu. |
Enumeracija ReferenceMode
Kontroliše kako je indeksiran niz podataka elementa vrha.
| Example | Example |
|---|---|
DIRECT | Podaci se pristupaju sekvencijalno bez zasebnog niza indeksa. |
INDEX | Podaci se pristupaju putem zasebnog niza indeksa. |
INDEX_TO_DIRECT | Niz indeksa mapira svaki primitivni mapiranje na poziciju u nizu podataka. |
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());
}
}
}