RelationshipComponent()

RelationshipComponent关系控制器

new RelationshipComponent()

关系组件,用于管理对象间的关系。

Extends

Members

active :boolean

激活或停用组件。
Overrides:

app :THING.App

获取应用程序。
Overrides:

object :THING.BaseObject

获取对象。
Overrides:

onActiveChange :OnActiveChangeComponentCallback

活动状态改变时的回调函数。
Overrides:

onAfterAdd :OnAfterAddComponentCallback

添加之后。
Overrides:

onAfterAddChild :OnAddChildComponentCallback

添加子对象之后的回调函数。
Overrides:

onAfterRemove :OnAfterRemoveComponentCallback

移除之后。
Overrides:

onAfterRemoveChild :OnRemoveChildComponentCallback

移除子对象之后的回调函数。
Overrides:

onBeforeAdd :OnBeforeAddComponentCallback

添加之前。
Overrides:

onBeforeAddChild :OnAddChildComponentCallback

添加子对象之前的回调函数。
Overrides:

onBeforeRemove :OnBeforeRemoveComponentCallback

移除之前。
Overrides:

onBeforeRemoveChild :OnRemoveChildComponentCallback

移除子对象之前的回调函数。
Overrides:

onCopy :OnCopyComponentCallback

复制时的回调函数。
Overrides:

onExport :OnExportComponentCallback

导出数据时。
Overrides:

onImport :OnImportComponentCallback

导入数据时。
Overrides:

onInit :OnInitComponentCallback

初始化时的回调函数。
Overrides:

onLoadResource :OnLoadResourceComponentCallback

加载资源时的回调函数。
Overrides:

onParentChange :OnParentChangeComponentCallback

改变父对象时的回调函数。
Overrides:

onRefresh :OnRefreshComponentCallback

刷新时的回调函数。
Overrides:

onResize :OnResizeComponentCallback

调整大小时的回调函数。
Overrides:

onUnloadResource :OnUnloadResourceComponentCallback

卸载资源时的回调函数。
Overrides:

onUpdate :OnUpdateComponentCallback

更新时的回调函数。
Overrides:

onVisibleChange :OnVisibleChangeComponentCallback

可见性改变时的回调函数。
Overrides:

Methods

onAdd(object)

当添加组件时。
Parameters:
Name Type Description
object THING.BaseObject 对象。
Overrides:

onRemove()

当移除组件时。
Overrides:

query(options) → {THING.Selector}

通过关系查询相关对象。
Parameters:
Name Type Description
options object
Properties
Name Type Description
type string 关系的类型。
name string 关系的名称。
queryDirection RelationshipDirection 查询方向。
Returns:
THING.Selector
Example
let source = new THING.Object3D();
let target = new THING.Object3D();
let rel = new THING.Relationship({
     type: 'control',
     source,
     target
})
let result = source.relationship.query({type: 'control'});
// @expect(result[0] == target)

queryByName(name, queryDirection) → {THING.Selector}

通过关系名称查询相关对象。
Parameters:
Name Type Description
name string 关系的名称。
queryDirection RelationshipDirection 查询方向。
Returns:
THING.Selector
Example
let source = new THING.Object3D();
let target = new THING.Object3D();
let rel = new THING.Relationship({
     name: 'myControl',
     type: 'control',
     source,
     target
})
let result = source.relationship.queryByName('myControl');
// @expect(result[0] == target)

queryByType(type, queryDirection) → {THING.Selector}

通过关系类型查询相关对象。
Parameters:
Name Type Description
type string 关系的类型。
queryDirection RelationshipDirection 查询方向。
Returns:
THING.Selector
Example
let source = new THING.Object3D();
let target = new THING.Object3D();
let rel = new THING.Relationship({
     type: 'control',
     source,
     target
})
let result = source.relationship.queryByType('control');
// @expect(result[0] == target)