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