Skip to content
导览

Class: NodeOperator

节点操作接口

Details

主要用来设置节点的显示,隐藏,颜色;获取包围盒,坐标值。

Examples

js
let sceManager =await cloud.getSceneManager();
let operator =  await sceManager.getNodeOperator();
var node = sceManager.getRootNode3D()
await operator.showOutLine(node!,true)
let sceManager =await cloud.getSceneManager();
let operator =  await sceManager.getNodeOperator();
var node = sceManager.getRootNode3D()
await operator.showOutLine(node!,true)

Hierarchy

  • Callable

    NodeOperator

Methods

setState

setState(nodes, state): Promise<boolean>

设置节点状态

Examples

js
const sceManager = await cloud.getSceneManager()
const ope = await sceManager.getNodeOperator()
const node = await sceManager.getRootNode3D()
const state: NodeState = {
  color: 'rgb(122,111,452)',
  opacity: 100,
  show: false,
}
await ope.setState([node!], state)
const sceManager = await cloud.getSceneManager()
const ope = await sceManager.getNodeOperator()
const node = await sceManager.getRootNode3D()
const state: NodeState = {
  color: 'rgb(122,111,452)',
  opacity: 100,
  show: false,
}
await ope.setState([node!], state)

Parameters

NameTypeDescription
nodesNode[]节点数组
stateNodeState节点的一些状态,目前包括节点的颜色(color)、透明度(opacity)、是否展示(show)。

Returns

Promise<boolean>


setIdsState

setIdsState(snowIdList, state): Promise<boolean>

设置节点状态,支持先设置状态再加载数据,(只追加数据),自身覆盖了setState相关功能

Examples

js
const sceManager = await cloud.getSceneManager()
const ope = await sceManager.getNodeOperator()
const state: NodeState = {
  color: 'rgb(122,111,452)',
  opacity: 100,
  show: false,
}
await ope.setIdsState(["7256854545455485455"], state)
const sceManager = await cloud.getSceneManager()
const ope = await sceManager.getNodeOperator()
const state: NodeState = {
  color: 'rgb(122,111,452)',
  opacity: 100,
  show: false,
}
await ope.setIdsState(["7256854545455485455"], state)

Parameters

NameTypeDescription
snowIdListstring[]-
stateNodeState节点的一些状态,目前包括节点的颜色(color)、透明度(opacity)、是否展示(show)。

Returns

Promise<boolean>


unsetIdsState

unsetIdsState(snowIdList, state): Promise<boolean>

恢复节点状态,同 setIdsState 为逆

Examples

js
const sceManager = await cloud.getSceneManager()
const ope = await sceManager.getNodeOperator()
const state = ['color','opacity','show']
await ope.unsetIdsState(["7256854545455485455"], state)
const sceManager = await cloud.getSceneManager()
const ope = await sceManager.getNodeOperator()
const state = ['color','opacity','show']
await ope.unsetIdsState(["7256854545455485455"], state)

Parameters

NameTypeDescription
snowIdListstring[]-
stateUnsetNodeState节点的一些状态,目前包括节点的颜色(color)、透明度(opacity)、是否展示(show)。

Returns

Promise<boolean>


getState

getState(node): Promise<NodeState>

获取节点状态

Examples

js
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = sceManager.getRootNode3D()
var nodeState = await ope.getState(node)
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = sceManager.getRootNode3D()
var nodeState = await ope.getState(node)

Parameters

NameTypeDescription
nodeNode节点

Returns

Promise<NodeState>


unsetState

unsetState(nodes, stateArr): Promise<boolean>

恢复节点状态为节点的初始状态

Examples

js
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
const state = ['color','opacity','show']
await ope.unsetState([node!],state)
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
const state = ['color','opacity','show']
await ope.unsetState([node!],state)

Parameters

NameTypeDescription
nodesNode[]节点数组
stateArrUnsetNodeState节点状态

节点要恢复的状态。包括节点的颜色(color)、透明度(opacity)、显示状态(show)。

当传['color']时,则重置节点颜色的初始状态。

当传['opacity']时,则重置节点透明度的初始状态。

当传['show']时,则重置节点的显隐初始状态。

当传['color','opacity','show']时,则重置节点的颜色和透明度和现因为初始状态。

Returns

Promise<boolean>


getAttribute

getAttribute(node): Promise<NodeAttributes>

获取节点属性

Examples

js
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
var nodeAtt = await ope.getAttribute(node)
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
var nodeAtt = await ope.getAttribute(node)

Parameters

NameTypeDescription
nodeNode节点

Returns

Promise<NodeAttributes>


showOutLine

showOutLine(node, isShow): Promise<boolean>

显示节点轮廓线

Examples

js
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
await ope.showOutLine(node!,true)
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
await ope.showOutLine(node!,true)

Parameters

NameTypeDescription
nodeNode节点
isShowboolean是否显示

Returns

Promise<boolean>


getLocalBox

getLocalBox(node): Promise<Box3>

获取节点Local包围盒

Examples

js
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
var nodeBox = await ope.getLocalBox(node!)
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
var nodeBox = await ope.getLocalBox(node!)

Parameters

NameTypeDescription
nodeNode节点

Returns

Promise<Box3>


getSceneBox

getSceneBox(node): Promise<Box3>

获取节点Scene包围盒

Examples

js
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
var nodeBox = await ope.getSceneBox(node!)
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
var nodeBox = await ope.getSceneBox(node!)

Parameters

NameTypeDescription
nodeNode节点

Returns

Promise<Box3>


getLocalTransform

getLocalTransform(node): Promise<Transform>

获取节点LocalTransform

Examples

js
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
var nodeTrans = await ope.getLocalTransform(node!)
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
var nodeTrans = await ope.getLocalTransform(node!)

Parameters

NameTypeDescription
nodeNode节点

Returns

Promise<Transform>


setLocalTransform

setLocalTransform(node, trans): Promise<boolean>

设置节点LocalTransform

Examples

js
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
const translation1 = new Vector3(1, 1, 1)
const eulerAngle1 = new Euler(90, 90, 90)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
await ope.setLocalTransform(node!, trans)
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
var node = await sceManager.getRootNode3D()
const translation1 = new Vector3(1, 1, 1)
const eulerAngle1 = new Euler(90, 90, 90)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
await ope.setLocalTransform(node!, trans)

Parameters

NameTypeDescription
nodeNode节点
transTransform变换信息Transform

Returns

Promise<boolean>


transformRotateByAxis

transformRotateByAxis(trans, pos, direct, degree): Promise<Transform>

获取绕任意轴旋转后的transform

Brief

使用calculateTransformAfterRotation替代该方法

Examples

js
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
const translation = new Vector3(1, 1, 1)
const eulerAngle = new Euler(90, 90, 90)
const scaling = new Vector3(1, 1, 1)
const trans = new Transform(translation, eulerAngle, scaling)
const pos = new Vector3(1, 0, 0)
const direct = new Vector3(0, 1, 0)
const degree=90
const newTransform = await ope.transformRotateByAxis(trans, pos, direct,degree)
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
const translation = new Vector3(1, 1, 1)
const eulerAngle = new Euler(90, 90, 90)
const scaling = new Vector3(1, 1, 1)
const trans = new Transform(translation, eulerAngle, scaling)
const pos = new Vector3(1, 0, 0)
const direct = new Vector3(0, 1, 0)
const degree=90
const newTransform = await ope.transformRotateByAxis(trans, pos, direct,degree)

Parameters

NameTypeDescription
transTransform初始tranformTransform
posVector3坐标轴位置Vector3
directVector3坐标轴方向Vector3
degreenumber旋转角度

Returns

Promise<Transform>


calculateTransformAfterRotation

calculateTransformAfterRotation(trans, pos, direct, degree): Promise<Transform>

计算绕任意轴旋转后的transform

Examples

js
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
const translation = new Vector3(1, 1, 1)
const eulerAngle = new Euler(90, 90, 90)
const scaling = new Vector3(1, 1, 1)
const trans = new Transform(translation, eulerAngle, scaling)
const pos = new Vector3(1, 0, 0)
const direct = new Vector3(0, 1, 0)
const degree=90
const newTransform = await ope.calculateTransformAfterRotation(trans, pos, direct,degree)
let sceManager =await cloud.getSceneManager();
let ope =  await sceManager.getNodeOperator();
const translation = new Vector3(1, 1, 1)
const eulerAngle = new Euler(90, 90, 90)
const scaling = new Vector3(1, 1, 1)
const trans = new Transform(translation, eulerAngle, scaling)
const pos = new Vector3(1, 0, 0)
const direct = new Vector3(0, 1, 0)
const degree=90
const newTransform = await ope.calculateTransformAfterRotation(trans, pos, direct,degree)

Parameters

NameTypeDescription
transTransform初始tranformTransform
posVector3坐标轴位置Vector3
directVector3坐标轴方向Vector3
degreenumber旋转角度

Returns

Promise<Transform>