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 المُنشئ يهيئ عقدةً باسم اختياري.
| Methods | Methods | Methods |
|---|---|---|
name | str | اسم اختياري للعقدة |
Methods
جميع سمات العقدة أدناه هي خصائص; يمكن الوصول إليها دون أقواس.
| Methods | Methods | Methods |
|---|---|---|
name | str | معرّف قابل للقراءة البشرية للعقدة |
entity | `Entity | None` |
entities | list[Entity] | جميع الكيانات المرفقة بهذه العقدة (للقراءة فقط). قد تشير العقدة إلى أكثر من كيان. |
material | `Material | None` |
materials | list[Material] | جميع المواد المعينة لهذه العقدة (للقراءة فقط). |
child_nodes | list[Node] | قائمة العقد الفرعية. استخدم child_nodes: ليس children |
parent_node | `Node | None` |
parent_nodes | list[Node] | جميع العقد الأب (الموروثة من Entity; يدعم النسخ المثيل) |
visible | bool | Methods False, العقدة وشجرتها الفرعية مخفيتان في العارضات التي تحترم الرؤية. |
excluded | bool | Methods True, هذه العقدة مستبعدة من العرض |
transform | Transform | التحويل المحلي (الإزاحة، الدوران، المقياس) |
global_transform | GlobalTransform | مصفوفة التحويل في الفضاء العالمي |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | الخصائص المخصصة المرفقة بهذه العقدة |
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}")