Class: NodeOperator
节点操作接口
Details
主要用来设置节点的显示,隐藏,颜色;获取包围盒,坐标值。
Examples
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
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
Name | Type | Description |
---|---|---|
nodes | Node [] | 节点数组 |
state | NodeState | 节点的一些状态,目前包括节点的颜色(color)、透明度(opacity)、是否展示(show)。 |
Returns
Promise
<boolean
>
setIdsState
▸ setIdsState(snowIdList
, state
): Promise
<boolean
>
设置节点状态,支持先设置状态再加载数据,(只追加数据),自身覆盖了setState相关功能
Examples
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
Name | Type | Description |
---|---|---|
snowIdList | string [] | - |
state | NodeState | 节点的一些状态,目前包括节点的颜色(color)、透明度(opacity)、是否展示(show)。 |
Returns
Promise
<boolean
>
unsetIdsState
▸ unsetIdsState(snowIdList
, state
): Promise
<boolean
>
恢复节点状态,同 setIdsState 为逆
Examples
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
Name | Type | Description |
---|---|---|
snowIdList | string [] | - |
state | UnsetNodeState | 节点的一些状态,目前包括节点的颜色(color)、透明度(opacity)、是否展示(show)。 |
Returns
Promise
<boolean
>
getState
▸ getState(node
): Promise
<NodeState
>
获取节点状态
Examples
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
Name | Type | Description |
---|---|---|
node | Node | 节点 |
Returns
Promise
<NodeState
>
unsetState
▸ unsetState(nodes
, stateArr
): Promise
<boolean
>
恢复节点状态为节点的初始状态
Examples
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
Name | Type | Description |
---|---|---|
nodes | Node [] | 节点数组 |
stateArr | UnsetNodeState | 节点状态 节点要恢复的状态。包括节点的颜色(color)、透明度(opacity)、显示状态(show)。 当传 当传 当传 当传 |
Returns
Promise
<boolean
>
getAttribute
▸ getAttribute(node
): Promise
<NodeAttributes
>
获取节点属性
Examples
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
Name | Type | Description |
---|---|---|
node | Node | 节点 |
Returns
Promise
<NodeAttributes
>
showOutLine
▸ showOutLine(node
, isShow
): Promise
<boolean
>
显示节点轮廓线
Examples
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
Name | Type | Description |
---|---|---|
node | Node | 节点 |
isShow | boolean | 是否显示 |
Returns
Promise
<boolean
>
getLocalBox
▸ getLocalBox(node
): Promise
<Box3
>
获取节点Local包围盒
Examples
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
Name | Type | Description |
---|---|---|
node | Node | 节点 |
Returns
Promise
<Box3
>
getSceneBox
▸ getSceneBox(node
): Promise
<Box3
>
获取节点Scene包围盒
Examples
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
Name | Type | Description |
---|---|---|
node | Node | 节点 |
Returns
Promise
<Box3
>
getLocalTransform
▸ getLocalTransform(node
): Promise
<Transform
>
获取节点LocalTransform
Examples
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
Name | Type | Description |
---|---|---|
node | Node | 节点 |
Returns
Promise
<Transform
>
setLocalTransform
▸ setLocalTransform(node
, trans
): Promise
<boolean
>
设置节点LocalTransform
Examples
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
Name | Type | Description |
---|---|---|
node | Node | 节点 |
trans | Transform | 变换信息Transform |
Returns
Promise
<boolean
>
transformRotateByAxis
▸ transformRotateByAxis(trans
, pos
, direct
, degree
): Promise
<Transform
>
获取绕任意轴旋转后的transform
Brief
使用calculateTransformAfterRotation替代该方法
Examples
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
Name | Type | Description |
---|---|---|
trans | Transform | 初始tranformTransform |
pos | Vector3 | 坐标轴位置Vector3 |
direct | Vector3 | 坐标轴方向Vector3 |
degree | number | 旋转角度 |
Returns
Promise
<Transform
>
calculateTransformAfterRotation
▸ calculateTransformAfterRotation(trans
, pos
, direct
, degree
): Promise
<Transform
>
计算绕任意轴旋转后的transform
Examples
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
Name | Type | Description |
---|---|---|
trans | Transform | 初始tranformTransform |
pos | Vector3 | 坐标轴位置Vector3 |
direct | Vector3 | 坐标轴方向Vector3 |
degree | number | 旋转角度 |
Returns
Promise
<Transform
>