الفئة Node

Node class

يمثل عنصرًا في رسم المشهد. رسم المشهد هو شجرة من كائنات Node. خدمات إدارة الشجرة مدمجة في هذه الفئة. لاحظ أن Aspose.3D SDK لا يتحقق من صحة رسم المشهد المُنشأ. تقع مسؤولية التأكد من عدم إنشاء رسومات بيانية دورية في تسلسل الهرمي للعقد على عاتق المتصل. بالإضافة إلى إدارة الشجرة، تُعرّف هذه الفئة جميع الخصائص المطلوبة لوصف موضع الكائن في المشهد. تشمل هذه المعلومات الخصائص الأساسية للترجمة (Translation)، والدوران (Rotation)، والتحجيم (Scaling) بالإضافة إلى الخيارات المتقدمة للمحاور، والحدود، وخصائص مفاصل الـ IK مثل الصلابة والتخميد. عندما يتم إنشاؤه لأول مرة، يكون كائن Node “فارغًا” (أي: هو كائن بدون أي تمثيل رسومي يحتوي فقط على معلومات الموضع). في هذه الحالة، يمكن استخدامه لتمثيل الآباء في بنية شجرة العقد ولكن ليس أكثر من ذلك. الاستخدام العادي لهذا النوع من الكائنات هو إضافة كيان يخصص العقدة (انظر “Entity”). الكيان هو كائن بحد ذاته ومربوط بـ Node. وهذا يعني أيضًا أن نفس الكيان يمكن مشاركته بين عدة عقد. الكاميرا، الإضاءة، Mesh، إلخ… كلها كيانات وتُشتق جميعها من الفئة الأساسية Entity.

public class Node : SceneObject

المُنشئات

الاسمالوصف
Node()ينشئ مثالًا جديدًا من الفئة Node.
Node(string)ينشئ مثالًا جديدًا من الفئة Node.
Node(string, Entity)ينشئ مثالًا جديدًا من الفئة Node.

الخصائص

الاسمالوصف
AssetInfo { get; set; }معلومات الأصل لكل عقدة
ChildNodes { get; }يحصل على عقد الأطفال.
Entities { get; }يحصل على جميع كيانات العقدة.
Entity { get; set; }يحصل أو يعيّن الكيان الأول المرفق بهذه العقدة، إذا تم التعيين، سيُمسح الكيانات الأخرى.
Excluded { get; set; }يحصل أو يعيّن ما إذا كان يجب استبعاد هذه العقدة وجميع العقد/الكيانات الفرعية أثناء التصدير.
GlobalTransform { get; }يحصل على التحويل العالمي.
Material { get; set; }يحصل أو يعيّن المادة الأولى المرتبطة بهذه العقدة، إذا تم التعيين، سيُمسح المواد الأخرى
Materials { get; }يحصل على المواد المرتبطة بهذه العقدة.
MetaDatas { get; }يحصل على البيانات الوصفية المعرفة في هذه العقدة.
virtual Name { get; set; }يحصل أو يعيّن الاسم.
ParentNode { get; set; }يحصل أو يعيّن عقدة الأصل.
Properties { get; }يحصل على مجموعة جميع الخصائص.
Scene { get; }يحصل على المشهد الذي ينتمي إليه هذا الكائن
Transform { get; }يحصل على التحويل المحلي.
Visible { get; set; }الحصول أو الضبط لإظهار العقدة

الطرق

الاسمالوصف
Accept(NodeVisitor)يتجول عبر جميع العقد التابعة (بما في ذلك العقدة الحالية) ويستدعي الزائر مع العقدة. يمكن للزائر إيقاف التجول بإرجاع false
AddChildNode(Node)إضافة عقدة فرعية إلى هذه العقدة
AddEntity(Entity)إضافة كيان إلى العقدة.
CreateChildNode()ينشئ عقدة فرعية
CreateChildNode(Entity)إنشاء عقدة فرعية جديدة مع إرفاق الكيان المحدد
CreateChildNode(string)إنشاء عقدة فرعية جديدة بالاسم المحدد للعقدة
CreateChildNode(string, Entity)إنشاء عقدة فرعية جديدة بالاسم المحدد للعقدة
CreateChildNode(string, Entity, Material)إنشاء عقدة فرعية جديدة بالاسم المحدد للعقدة، وإرفاق الكيان المحدد ومادة
EvaluateGlobalTransform(bool)تقييم التحويل العالمي، تضمين التحويل الهندسي أم لا.
FindProperty(string)يجد الخاصية. يمكن أن تكون خاصية ديناميكية (Created by CreateDynamicProperty/SetProperty) أو خاصية أصلية (Identified by its name)
GetBoundingBox()حساب صندوق الحدود للعقدة
GetChild(int)الحصول على العقدة الفرعية عند الفهرس المحدد.
GetChild(string)الحصول على العقدة الفرعية بالاسم المحدد
GetEntity<T>()
GetProperty(string)احصل على قيمة الخاصية المحددة
Merge(Node)فصل كل شيء تحت العقدة وإرفاقه إلى العقدة الحالية.
RemoveProperty(Property)يزيل خاصية ديناميكية.
RemoveProperty(string)إزالة الخاصية المحددة بالاسم
SelectObjects(string)اختيار عدة كائنات تحت العقدة الحالية باستخدام صياغة استعلام شبيهة بـ XPath.
SelectSingleObject(string)اختيار كائن واحد تحت العقدة الحالية باستخدام صياغة استعلام شبيهة بـ XPath.
SetProperty(string, object)يضبط قيمة الخاصية المحددة
override ToString()الحصول على تمثيل النص لهذه العقدة.

انظر أيضًا