Node

Node class

表示场景图中的一个元素。 场景图是 Node 对象的树。树管理服务是自包含在这个类中的。 注意Aspose.3D SDK不测试构建的场景图的有效性。调用者有责任确保它不会在节点层次结构中生成循环图。 除了树管理之外,该类还定义了描述场景中对象位置所需的所有属性。此信息包括基本的平移、旋转和缩放属性以及枢轴、限制和 IK 关节属性(如刚度和阻尼)的更高级选项。 当它第一次创建时,节点对象是“空的”(即:它是一个没有任何图形表示,只包含位置信息的对象)。在这种状态下,它可以用来表示节点树结构中的父节点,但仅此而已。此类对象的正常使用是为它们添加一个实体,该实体将专门用于节点(参见“实体”)。 实体本身就是一个对象,并连接到节点。这也意味着同一个实体可以在多个节点之间共享。相机、灯光、网格等……都是实体,它们都派生自基类 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() 获取此节点的字符串表示形式。

也可以看看