VertexElement — Aspose.3D FOSS for Java
Pakiet: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement jest abstrakcyjną klasą bazową dla warstw danych per-vertex (lub per-polygon, per-edge) dołączonych do a Mesh.Każda podklasa przechowuje określony rodzaj atrybutu geometrycznego – normalne, współrzędne UV, kolory wierzchołków lub grupy wygładzania.
Enumerations
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | Semantyczny typ tego elementu (tylko do odczytu). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | Kontroluje, do którego prymitywu mapuje się każda wartość. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | Kontroluje sposób indeksowania wartości. |
indices | List<Integer> | getIndices() | – | Tablica indeksów (używana, gdy tryb referencji jest INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | Opcjonalna nazwa tej warstwy elementu wierzchołka. |
VertexElementNormal
Przechowuje jeden wektor normalny na wierzchołek lub na róg wielokąta, w zależności od getMappingMode(). Wartości danych są Vector4 instancje z w nieużywane.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | Wektory normalne. Ten w składnik jest nieużywany (zazwyczaj 0.0). |
Returns: VertexElementUV
Przechowuje pary współrzędnych tekstury (Vector2) na wierzchołek lub na róg wielokąta. Siatka może zawierać wiele warstw UV dla różnych kanałów tekstur.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector2> | getData() | Pary współrzędnych UV. |
VertexElementVertexColor
Przechowuje dane koloru RGBA na wierzchołek lub na róg jako Vector4 (r, g, b, a w zakresie 0–1).
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
data | List<Vector4> | getData() | Wartości koloru RGBA. |
Wyliczenie VertexElementType
Określa semantyczną rolę warstwy elementu wierzchołka.
import com.aspose.threed.*;| Enumerations | Enumerations |
|---|---|
NORMAL | Wektory normalne powierzchni. |
UV | Współrzędne UV tekstury. |
VERTEX_COLOR | Kolor RGBA na wierzchołek. |
TANGENT | Wektory styczne do mapowania normalnych. |
BINORMAL | Wektory binormalne (bitangent). |
MATERIAL | Indeks materiału per-polygon. |
POLYGON_GROUP | Indeks grupowania wielokątów. |
VERTEX_CREASE | Wagi załamań wierzchołków podziału. |
EDGE_CREASE | Wagi załamań krawędzi podziału. |
USER_DATA | Dowolne dane definiowane przez użytkownika. |
VISIBILITY | Flagi widoczności per-element. |
SPECULAR | Kolor lub intensywność odbicia. |
WEIGHT | Wagi mieszania dla skinowania. |
HOLE | Flagi otworów wielokąta. |
Wyliczenie MappingMode
Kontroluje, z którym prymitywem geometrycznym powiązana jest każda wartość elementu wierzchołka.
| Enumerations | Enumerations |
|---|---|
CONTROL_POINT | Jedna wartość na punkt kontrolny (wierzchołek). |
POLYGON_VERTEX | Jedna wartość na róg wielokąta (face-vertex). |
POLYGON | Jedna wartość na wielokąt. |
Wyliczenie ReferenceMode
Kontroluje sposób indeksowania tablicy danych elementu wierzchołka.
| Enumerations | Enumerations |
|---|---|
DIRECT | Dane są dostępne kolejno, bez osobnej tablicy indeksów. |
INDEX | Dane są dostępne za pośrednictwem osobnej tablicy indeksów. |
INDEX_TO_DIRECT | Tablica indeksów mapuje każdy prymityw mapowania na pozycję w tablicy danych. |
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());
}
}
}