الفئة Mesh

Mesh class

الشبكة تتكون من العديد من المضلع ذات n أضلاع.

public class Mesh : Geometry, IEnumerable<int[]>, IMeshConvertible

المُنشئات

الاسمالوصف
Mesh()يُنشئ مثيلًا جديدًا للفئة Mesh.
Mesh(string)يُنشئ مثيلًا جديدًا للفئة Mesh.
Mesh(TextureData)أنشئ شبكة باستخدام خريطة الارتفاع المحددة، إذا كان تنسيق بكسل خريطة الارتفاع يحتوي على مكونات متعددة، سيتم استخدام المكون الأول (عادةً الأحمر) كقيمة الارتفاع (z). مكونات إحداثيات x و y لنقطة التحكم هي إحداثيات بكسل مُطَبَّقة.
Mesh(TextureData, Matrix4)أنشئ شبكة باستخدام خريطة الارتفاع المحددة، إذا كان تنسيق بكسل خريطة الارتفاع يحتوي على مكونات متعددة، سيتم استخدام المكون الأول (عادةً الأحمر) كقيمة الارتفاع (z). مكونات إحداثيات x و y لنقطة التحكم هي إحداثيات بكسل مُطَبَّقة.
Mesh(TextureData, bool, Matrix4)أنشئ شبكة باستخدام خريطة الارتفاع المحددة، إذا كان تنسيق بكسل خريطة الارتفاع يحتوي على مكونات متعددة، سيتم استخدام المكون الأول (عادةً الأحمر) كقيمة الارتفاع (z). مكونات إحداثيات x و y لنقطة التحكم هي إحداثيات بكسل مُطَبَّقة.

الخصائص

الاسمالوصف
CastShadows { get; set; }يحصل أو يضبط ما إذا كان هذا الشكل الهندسي يمكنه إلقاء الظل
ControlPoints { get; }يحصل على جميع نقاط التحكم
Deformers { get; }يحصل على جميع المغيرات المرتبطة بهذا الشكل الهندسي.
Edges { get; }يحصل على حواف الشبكة. الحافة اختيارية في الشبكة، لذا يمكن أن تكون فارغة.
Excluded { get; set; }يحصل أو يضبط ما إذا كان يجب استبعاد هذا الكيان أثناء التصدير.
virtual Name { get; set; }يحصل أو يعيّن الاسم.
ParentNode { get; set; }يحصل أو يعيّن العقدة الأصلية الأولى، إذا تم تعيين العقدة الأصلية الأولى، سيتم فصل هذا الكيان عن العقد الأصلية الأخرى.
ParentNodes { get; }يحصل على جميع العقد الأصلية، يمكن إرفاق كيان بعدة عقد أصلية لتكرار الهندسة.
PolygonCount { get; }يحصل على عدد المضلعات
Polygons { get; }يحصل على تعريف المضلعات للشبكة
Properties { get; }يحصل على مجموعة جميع الخصائص.
ReceiveShadows { get; set; }يحصل أو يعيّن ما إذا كانت هذه الهندسة يمكنها استقبال الظل.
Scene { get; }يحصل على المشهد الذي ينتمي إليه هذا الكائن
VertexElements { get; }يحصل على جميع عناصر الرأس
Visible { get; set; }يحصل أو يعيّن ما إذا كانت الهندسة مرئية

الطرق

الاسمالوصف
static DoBoolean(BooleanOperation, Mesh, Matrix4?, Mesh, Matrix4?)
AddElement(VertexElement)يضيف عنصر رأس موجود إلى الهندسة الحالية
CreateElement(VertexElementType)ينشئ عنصر رأس بالنوع المحدد ويضيفه إلى الهندسة.
CreateElement(VertexElementType, MappingMode, ReferenceMode)ينشئ عنصر رأس بالنوع المحدد ويضيفه إلى الهندسة.
CreateElementUV(TextureMapping)ينشئ VertexElementUV بنوع تخطيط القوام المعطى.
CreateElementUV(TextureMapping, MappingMode, ReferenceMode)ينشئ VertexElementUV بنوع تخطيط القوام المعطى.
CreatePolygon(int[])ينشئ مضلعًا جديدًا بجميع الرؤوس المعرفة في indices. لإنشاء مضلع رأسًا برأس، يرجى استخدام PolygonBuilder.
CreatePolygon(int, int, int)إنشاء مضلع بـ 3 رؤوس (مثلث)
CreatePolygon(int[], int, int)ينشئ مضلعًا جديدًا بجميع الرؤوس المعرفة في indices. لإنشاء مضلع رأسًا برأس، يرجى استخدام PolygonBuilder.
CreatePolygon(int, int, int, int)إنشاء مضلع بـ 4 رؤوس (رباعي)
FindProperty(string)يجد الخاصية. يمكن أن تكون خاصية ديناميكية (Created by CreateDynamicProperty/SetProperty) أو خاصية أصلية (Identified by its name)
GetBoundingBox()يحصل على صندوق الحدود للكيان الحالي في نظام إحداثيات مساحة الكائن الخاصة به.
GetDeformers<T>()
GetElement(VertexElementType)يحصل على عنصر رأس بالنوع المحدد
virtual GetEntityRendererKey()يحصل على مفتاح عارض الكيان المسجل في العارض
GetEnumerator()يحصل على المُعدد لكل المضلعات الداخلية.
GetPolygonSize(int)يحصل على عدد رؤوس المضلع المحدد.
GetProperty(string)احصل على قيمة الخاصية المحددة
GetVertexElementOfUV(TextureMapping)يحصل على نسخة من VertexElementUV بالنوع المعطى لتخطيط القوام
IsManifold()تحقق مما إذا كانت الشبكة الحالية شبكة متعددة السطوح. هذه الدالة لن تخزن نتيجة حساب التعددية في الذاكرة المؤقتة.
Optimize(bool)حسّن استخدام الذاكرة للشبكة عن طريق إزالة نقاط التحكم المكررة
Optimize(bool, float, float, float)حسّن استخدام الذاكرة للشبكة عن طريق إزالة نقاط التحكم المكررة
RemoveProperty(Property)يزيل خاصية ديناميكية.
RemoveProperty(string)إزالة الخاصية المحددة بالاسم
SetProperty(string, object)يضبط قيمة الخاصية المحددة
ToMesh()يحصل على نسخة الـ Mesh من الكيان الحالي.
Triangulate()إرجاع شبكة مُثلثة
operator &احسب تقاطع شبكتين
operator |احسب اتحاد شبكتين
operator -احسب الفرق بين شبكتين

أمثلة

لإضافة مضلع في الشبكة:

Mesh mesh = new Mesh();
int[] indices = new int[] {0, 1, 2};
mesh.CreatePolygon(indices);

التنقل عبر جميع المضلعات في الشبكة:

Mesh mesh = new Mesh();
foreach(int[] polygon in mesh)
{
    //التعامل مع المضلع
}

انظر أيضًا