VertexElement — Aspose.3D FOSS for Java
חבילה: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement היא מחלקת הבסיס המופשטת לשכבות נתונים לכל קודקוד (או לכל מצולע, לכל קצה) המחוברות ל‑ Mesh.כל תת‑מחלקה מאחסנת סוג ספציפי של תכונה גאומטרית – נורמליות, קואורדינטות UV, צבעי קודקוד, או קבוצות החלקה.
Example
Example
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | המשמעות הסמנטית של אלמנט זה (קריאה בלבד). |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | שולט באיזה פרימיטיב כל ערך ממופה. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | שולט באופן שבו ערכים מאונדקסים. |
indices | List<Integer> | getIndices() | – | מערך אינדקסים (משמש כאשר מצב ההתייחסות הוא INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | שם אופציונלי של שכבת אלמנט הקודקוד הזו. |
VertexElementNormal
אוחסן וקטור נורמל אחד לכל קודקוד או לכל פינת מצולע, בהתאם ל‑ getMappingMode(). ערכי הנתונים הם Vector4 מופעים עם w לא בשימוש.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | וקטורי נורמל. ה‑ w המרכיב אינו בשימוש (בדרך כלל 0.0). |
מחזיר: VertexElementUV
אוחסן זוגות קואורדינטות מרקם (Vector2) לכל קודקוד או לכל פינה של פוליגון. רשת mesh עשויה לשאת שכבות UV מרובות לערוצי מרקם שונים.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector2> | getData() | זוגות קואורדינטות UV. |
VertexElementVertexColor
אוחסן נתוני צבע RGBA לכל קודקוד או לכל פינה כ Vector4 (r, g, b, a בטווח 0–1).
Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | ערכי צבע RGBA. |
הצבה VertexElementType
מזהה את התפקיד הסמנטי של שכבת אלמנט קודקוד.
import com.aspose.threed.*;| Example | Example |
|---|---|
NORMAL | וקטורי נורמל של פני השטח. |
UV | קואורדינטות UV של מרקם. |
VERTEX_COLOR | צבע RGBA לכל קודקוד. |
TANGENT | וקטורי טנגנט למיפוי נורמל. |
BINORMAL | וקטורי בינורמל (ביטנגנט). |
MATERIAL | אינדקס חומר לכל פוליגון. |
POLYGON_GROUP | אינדקס קיבוץ פוליגונים. |
VERTEX_CREASE | משקלי קימורים של קודקודי תת‑חלוקה. |
EDGE_CREASE | משקלי קימורים של קצוות תת‑חלוקה. |
USER_DATA | נתונים מותאמים למשתמש באופן שרירותי. |
VISIBILITY | דגלי נראות לכל אלמנט. |
SPECULAR | צבע או עוצמת השתקפות. |
WEIGHT | משקלי מיזוג ל‑skinning. |
HOLE | דגלי חורים בפוליגון. |
הצבה MappingMode
שולט באיזה פרימיטיב גאומטרי משוייך כל ערך של אלמנט קודקוד.
| Example | Example |
|---|---|
CONTROL_POINT | ערך אחד לכל נקודת שליטה (קודקוד). |
POLYGON_VERTEX | ערך אחד לכל פינת מצולע (פאה‑קודקוד). |
POLYGON | ערך אחד לכל מצולע. |
הצבה ReferenceMode
שולט באופן שבו מערך נתוני אלמנט הקודקוד מאונדקס.
| Example | Example |
|---|---|
DIRECT | הנתונים נגישים באופן רציף ללא מערך אינדקסים נפרד. |
INDEX | הנתונים נגישים דרך מערך אינדקסים נפרד. |
INDEX_TO_DIRECT | מערך אינדקסים ממפה כל פרימיטיב מיפוי למיקום במערך הנתונים. |
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());
}
}
}