OMNode()

针对OM场景中的节点,除了node对象的存在父子关系外, data数据也存在着父子关系,所以在此类中重写了add, remove 方法,可以处理data数据的包含关系

new OMNode()

Members

id :int

OMNode 在此场景中的 id

Methods

add(node)

添加子物体,不但可以完成结点本身的父子关系,还可以将子物体的data数据 存放到父物体data数据的children中。从而实现,结点与数据双重的添加
Parameters:
Name Type Description
node OMNode OMNode实例

addScript()

添加脚本 scriptData: { name, data, [class] } || name

getAncestor() → {object}

如果结点已经创建了实体(entity), 则可以得到此结点在场景中的包括关系, 即此结点是属于哪个建筑的哪个楼层
Returns:
object - {buildingID: string, floorNumber: int, building: OMBuilding, floor: OMFloor}

getScriptByName()

通过脚本名称得到脚本实例

invokeScript()

调用脚本中的方法

remove(node, clear)

移除子物体,不但可以完成结点之前的父子关系解除,还可以将子物体的data数据 从父物体的data.children字段中移除
Parameters:
Name Type Default Description
node OMNode OMNode实例
clear boolean true 是否将子物体彻底的清除

removeAllScriptInstance()

remove script instance, remain script data

removeScript()

移除指定名称的脚本对象, {name, data, [class]}

setPosition(arr)

设置几何体的位置
Parameters:
Name Type Description
arr Array.<float> 位置坐标数组, [x, y, z]

setRotation(arr)

设置几何体的旋转角度
Parameters:
Name Type Description
arr Array.<float> 三个轴向上的 *角度值* , [x, y, z]

setScale(arr)

设置几何体的缩放
Parameters:
Name Type Description
arr Array.<float> 三个轴向上的缩放大小

setTransform(transform)

从data.transform设置物体的变换, data -> node
Parameters:
Name Type Description
transform object 变换
Properties
Name Type Description
position Array.<float> 位置数组,[x, y, z]
rotation Array.<float> 三个轴向上的旋转角度, [x, y, z]
scale Array.<float> 三个轴向上的缩放比例, [x, y, z]

updateTransform()

因为改变了父子关系,子物体 transform 会发行变化,所以需要更新一下 node -> data