类 Node

Node class

表示场景图中的一个元素。场景图是由 Node 对象组成的树。树的管理服务封装在此类中。请注意,Aspose.3D SDK 不会验证构建的场景图的有效性。调用者有责任确保不会在节点层次结构中生成循环图。除了树管理外,此类还定义了描述对象在场景中位置所需的所有属性。这些信息包括基本的平移、旋转和缩放属性,以及枢轴、限制和 IK 关节属性等更高级的选项,如刚度和阻尼。首次创建时,Node 对象是 “empty”(即:它是一个没有任何图形表示、仅包含位置信息的对象)。在此状态下,它可用于表示节点树结构中的父节点,但功能有限。此类对象的常规用法是为其添加一个实体以专化该节点(参见 “Entity”)。实体本身是一个对象,并与 Node 关联。这也意味着同一实体可以在多个节点之间共享。Camera、Light、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)查找属性。它可以是动态属性(由 CreateDynamicProperty/SetProperty 创建)或本地属性(通过其名称识别)
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()获取此节点的字符串表示。

另请参见