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 はオプションの名前でノードを初期化します。.

MethodsMethodsMethods
namestrノードのオプション名

Methods

以下のすべてのノード属性は プロパティ; 括弧なしでアクセスできます。.

MethodsMethodsMethods
namestrノードの人間が読める識別子
entity`EntityNone`
entitieslist[Entity]このノードに添付されているすべてのエンティティ(読み取り専用)。ノードは複数のエンティティを参照できる場合があります。.
material`MaterialNone`
materialslist[Material]このノードに割り当てられたすべてのマテリアル(読み取り専用)。.
child_nodeslist[Node]子ノードのリスト。使用 child_nodes: not children
parent_node`NodeNone`
parent_nodeslist[Node]すべての親ノード(継承元 Entity; インスタンシングをサポート)
visibleboolMethods False,、ノードとそのサブツリーは可視性を尊重するビューアで非表示になります。.
excludedboolMethods True,、このノードはレンダリングから除外されます
transformTransformローカルトランスフォーム(translation, rotation, scale)
global_transformGlobalTransformワールド空間変換行列
asset_info`AssetInfoNone`
propertiesPropertyCollectionこのノードに添付された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}")

関連項目

 日本語