VertexElement

VertexElement — Aspose.3D FOSS for Java

חבילה: com.aspose.threed (aspose-3d-foss 26.1.0)

VertexElement היא מחלקת הבסיס המופשטת לשכבות נתונים לכל קודקוד (או לכל מצולע, לכל קצה) המחוברות ל‑ Mesh.כל תת‑מחלקה מאחסנת סוג ספציפי של תכונה גאומטרית – נורמליות, קואורדינטות UV, צבעי קודקוד, או קבוצות החלקה.


Example

Example

ExampleExampleExampleExampleExample
vertexElementTypeVertexElementTypegetVertexElementType()המשמעות הסמנטית של אלמנט זה (קריאה בלבד).
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)שולט באיזה פרימיטיב כל ערך ממופה.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)שולט באופן שבו ערכים מאונדקסים.
indicesList<Integer>getIndices()מערך אינדקסים (משמש כאשר מצב ההתייחסות הוא INDEX_TO_DIRECT).
nameStringgetName()setName(String)שם אופציונלי של שכבת אלמנט הקודקוד הזו.

VertexElementNormal

אוחסן וקטור נורמל אחד לכל קודקוד או לכל פינת מצולע, בהתאם ל‑ getMappingMode(). ערכי הנתונים הם Vector4 מופעים עם w לא בשימוש.

import com.aspose.threed.*;

VertexElement normals = mesh.createElement(
    VertexElementType.NORMAL,
    MappingMode.CONTROL_POINT,
    ReferenceMode.DIRECT
);

Example

ExampleExampleExampleExample
dataList<Vector4>getData()וקטורי נורמל. ה‑ w המרכיב אינו בשימוש (בדרך כלל 0.0).

מחזיר: VertexElementUV

אוחסן זוגות קואורדינטות מרקם (Vector2) לכל קודקוד או לכל פינה של פוליגון. רשת mesh עשויה לשאת שכבות UV מרובות לערוצי מרקם שונים.


VertexElementUV uv = mesh.createElementUV(
    TextureMapping.DIFFUSE,
    MappingMode.POLYGON_VERTEX,
    ReferenceMode.INDEX_TO_DIRECT
);

Example

ExampleExampleExampleExample
dataList<Vector2>getData()זוגות קואורדינטות UV.

VertexElementVertexColor

אוחסן נתוני צבע RGBA לכל קודקוד או לכל פינה כ Vector4 (r, g, b, a בטווח 0–1).

Example

ExampleExampleExampleExample
dataList<Vector4>getData()ערכי צבע RGBA.

הצבה VertexElementType

מזהה את התפקיד הסמנטי של שכבת אלמנט קודקוד.

import com.aspose.threed.*;
ExampleExample
NORMALוקטורי נורמל של פני השטח.
UVקואורדינטות UV של מרקם.
VERTEX_COLORצבע RGBA לכל קודקוד.
TANGENTוקטורי טנגנט למיפוי נורמל.
BINORMALוקטורי בינורמל (ביטנגנט).
MATERIALאינדקס חומר לכל פוליגון.
POLYGON_GROUPאינדקס קיבוץ פוליגונים.
VERTEX_CREASEמשקלי קימורים של קודקודי תת‑חלוקה.
EDGE_CREASEמשקלי קימורים של קצוות תת‑חלוקה.
USER_DATAנתונים מותאמים למשתמש באופן שרירותי.
VISIBILITYדגלי נראות לכל אלמנט.
SPECULARצבע או עוצמת השתקפות.
WEIGHTמשקלי מיזוג ל‑skinning.
HOLEדגלי חורים בפוליגון.

הצבה MappingMode

שולט באיזה פרימיטיב גאומטרי משוייך כל ערך של אלמנט קודקוד.

ExampleExample
CONTROL_POINTערך אחד לכל נקודת שליטה (קודקוד).
POLYGON_VERTEXערך אחד לכל פינת מצולע (פאה‑קודקוד).
POLYGONערך אחד לכל מצולע.

הצבה ReferenceMode

שולט באופן שבו מערך נתוני אלמנט הקודקוד מאונדקס.

ExampleExample
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());
        }
    }
}

ראה גם

 עברית