Node
Methods
Methods Node class は Aspose.3D シーン グラフ内の名前付き要素を表します。各ノードは 1 つ保持できます Entity (例えば Mesh, Camera,、または Light), 他のノードとの親子関係を維持し、ローカルトランスフォームを保持します。ノードはシーン階層内で 3D オブジェクトを整理する主な方法です。.
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 constructor はオプションの名前でノードを初期化します。.
| 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: not children |
parent_node | `Node | None` |
parent_nodes | list[Node] | すべての親ノード(継承元 Entity; インスタンシングをサポート) |
visible | bool | Methods False,、ノードとそのサブツリーは可視性を尊重するビューアで非表示になります。. |
excluded | bool | Methods True,、このノードはレンダリングから除外されます |
transform | Transform | ローカルトランスフォーム(translation, rotation, scale) |
global_transform | GlobalTransform | ワールド空間変換行列 |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | このノードに添付されたCustom properties |
Methods
| Methods | 戻り値の型 | Methods |
|---|---|---|
create_child_node(name) | Node | 指定された名前で新しい子ノードを作成し、添付します |
create_child_node(name, entity) | Node | 子ノードを作成し、entityを割り当てます |
add_child_node(node) | None | 既存のノードをこのノードの子として追加します |
get_child(name) | Optional[Node] | 名前で直接の子ノードを検索します |
add_entity(entity) | None | このノードに追加のentityを添付します |
merge(node) | None | 別のノードの子とentityをこのノードにマージします |
evaluate_global_transform(with_geometric_transform) | Matrix4 | ワールド空間の変換行列を返します;パス True ジオメトリオフセットを含めるために |
get_bounding_box() | BoundingBox | ノードのワールド空間で軸に平行なバウンディングボックスを計算します |
get_property(name) | Any | 名前でプロパティ値を取得します |
find_property(name) | Optional[Property] | 名前でプロパティを検索します |
Methods
シーンを作成し、メッシュをノードにアタッチして、シーングラフを走査します::
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}")