Node

Methods

Methods Node الفئة تمثل عنصرًا مسمىً في مخطط المشهد Aspose.3D. يمكن لكل عقدة أن تحمل واحدة Entity (مثل Mesh, Camera,، أو Light، تحافظ على علاقات الأب-ابن مع العقد الأخرى، وتحمل تحويلًا محليًا. العقد هي الطريقة الأساسية لتنظيم الكائنات ثلاثية الأبعاد في هيكل المشهد.

from aspose.threed import Scene, Node

scene = Scene()

# Access the root node: root_node is a property on Scene
root = scene.root_node

# Create a child node
child = root.create_child_node("my_node")

# child_nodes is a property: access without parentheses
for node in root.child_nodes:
    print(node.name)

Methods

Methods Node المُنشئ يهيئ عقدةً باسم اختياري.

MethodsMethodsMethods
namestrاسم اختياري للعقدة

Methods

جميع سمات العقدة أدناه هي خصائص; يمكن الوصول إليها دون أقواس.

MethodsMethodsMethods
namestrمعرّف قابل للقراءة البشرية للعقدة
entity`EntityNone`
entitieslist[Entity]جميع الكيانات المرفقة بهذه العقدة (للقراءة فقط). قد تشير العقدة إلى أكثر من كيان.
material`MaterialNone`
materialslist[Material]جميع المواد المعينة لهذه العقدة (للقراءة فقط).
child_nodeslist[Node]قائمة العقد الفرعية. استخدم child_nodes: ليس children
parent_node`NodeNone`
parent_nodeslist[Node]جميع العقد الأب (الموروثة من Entity; يدعم النسخ المثيل)
visibleboolMethods False, العقدة وشجرتها الفرعية مخفيتان في العارضات التي تحترم الرؤية.
excludedboolMethods True, هذه العقدة مستبعدة من العرض
transformTransformالتحويل المحلي (الإزاحة، الدوران، المقياس)
global_transformGlobalTransformمصفوفة التحويل في الفضاء العالمي
asset_info`AssetInfoNone`
propertiesPropertyCollectionالخصائص المخصصة المرفقة بهذه العقدة

Methods

Methodsنوع الإرجاعMethods
create_child_node(name)Nodeينشئ ويربط عقدة فرعية جديدة بالاسم المعطى
create_child_node(name, entity)Nodeينشئ عقدة فرعية ويُعيّن كيانًا لها
add_child_node(node)Noneيضيف عقدة موجودة كفرع لهذه العقدة
get_child(name)Optional[Node]يجد عقدة فرعية مباشرة بالاسم
add_entity(entity)Noneيرفق كيانًا إضافيًا بهذه العقدة
merge(node)Noneيدمج أطفال وعناصر عقدة أخرى في هذه العقدة
evaluate_global_transform(with_geometric_transform)Matrix4يرجع مصفوفة التحويل في الفضاء العالمي؛ مرّر True لإدراج الإزاحات الهندسية
get_bounding_box()BoundingBoxيحسب الـ axis-aligned bounding box للعقدة في الفضاء العالمي
get_property(name)Anyيحصل على قيمة الخاصية بالاسم
find_property(name)Optional[Property]يجد خاصية بالاسم

Methods

أنشئ مشهدًا، وأرفق Mesh بعقدة، وتجوّل في رسم المشهد:

from aspose.threed import Scene, Node
from aspose.threed.entities import Mesh
from aspose.threed.utilities import Vector4

scene = Scene()
mesh = Mesh()
# Use _control_points to mutate the backing list (control_points returns a copy)
mesh._control_points.append(Vector4(0, 0, 0, 1))
mesh._control_points.append(Vector4(1, 0, 0, 1))
mesh._control_points.append(Vector4(0.5, 1, 0, 1))
mesh.create_polygon(0, 1, 2)

# Attach mesh to a child node
node = scene.root_node.create_child_node("triangle", mesh)

# Traverse child_nodes (property, not a method)
for child in scene.root_node.child_nodes:
    entity = child.entity
    if entity is not None:
        print(f"Node '{child.name}': {type(entity).__name__}")
        # excluded is a property
        print(f"  Excluded: {entity.excluded}")

انظر أيضًا

 العربية