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)يتحكم في أي primitive يطابق كل قيمة.
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) لكل رأس أو لكل زاوية مضلع. قد يحمل النموذج عدة طبقات 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متجهات الباينورمال (bitangent).
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());
        }
    }
}

انظر أيضًا

 العربية