Class: AdvancedOperations
高级操作接口
Examples
const advancedOpe = await cloud.getAdvancedOperations();
const advancedOpe = await cloud.getAdvancedOperations();
Hierarchy
Callable
↳
AdvancedOperations
Methods
inverseSelection
▸ inverseSelection(selectionNode
, root
): Promise
<VirtualNode
>
反选节点
Examples
let advancedOpe =await cloud.getAdvancedOperations();
let sceneNode=await advancedOpe.inverseSelection(selectionNode,root);
let advancedOpe =await cloud.getAdvancedOperations();
let sceneNode=await advancedOpe.inverseSelection(selectionNode,root);
Parameters
Name | Type | Description |
---|---|---|
selectionNode | VirtualNode | 被选择虚拟节点 |
root | Node | 模型3d根节点 |
Returns
Promise
<VirtualNode
>
isolatedDisplay
▸ isolatedDisplay(isolatedNode
, transparent
): void
隔离展示
Examples
let advancedOpe =await cloud.getAdvancedOperations();
advancedOpe.isolatedDisplay(selectionNode,50);
let advancedOpe =await cloud.getAdvancedOperations();
advancedOpe.isolatedDisplay(selectionNode,50);
Parameters
Name | Type | Description |
---|---|---|
isolatedNode | Node [] | VirtualNode | 传入节点 |
transparent | number | 透明度 范围在0-100 如果透明度为0,则其他节点隐藏 |
Returns
void
boxSelection
▸ boxSelection(isopen
): Promise
<any
>
是否开启框选
Examples
let advancedOpe =await cloud.getAdvancedOperations();
advancedOpe.boxSelection(true);
let advancedOpe =await cloud.getAdvancedOperations();
advancedOpe.boxSelection(true);
Parameters
Name | Type | Description |
---|---|---|
isopen | boolean | true为开启 false为关闭 |
Returns
Promise
<any
>
setBoxSelectionCallback
▸ setBoxSelectionCallback(fn
): void
Details
设置框选完成的回调函数
Examples
function BoxSelection(node: VirtualNode) {
console.log(node)
}
let advancedOpe =await cloud.getAdvancedOperations();
advancedOpe.setBoxSelectionCallback(BoxSelection);
function BoxSelection(node: VirtualNode) {
console.log(node)
}
let advancedOpe =await cloud.getAdvancedOperations();
advancedOpe.setBoxSelectionCallback(BoxSelection);
Parameters
Name | Type | Description |
---|---|---|
fn | (node : VirtualNode ) => void | 回调函数,node为回调数据 |
Returns
void
openNodeTransform
▸ openNodeTransform(node
, bOpen
): Promise
<any
> | <T>(reason?
: any
) => Promise
<T
>
Details
开启坐标转换
Examples
调用示例:
//设置双击回调
const nodeOper = await cloud.getSceneManager()
nodeOper.setPickNodeCallback(pickNode)
async function pickNode(node: Node | null) {
// eslint-disable-next-line no-console
console.log(node)
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.openNodeTransform(node, true)
}
//设置双击回调
const nodeOper = await cloud.getSceneManager()
nodeOper.setPickNodeCallback(pickNode)
async function pickNode(node: Node | null) {
// eslint-disable-next-line no-console
console.log(node)
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.openNodeTransform(node, true)
}
Parameters
Name | Type | Description |
---|---|---|
node | null | Node | 选中节点 |
bOpen | boolean | 是否操作 |
Returns
Promise
<any
> | <T>(reason?
: any
) => Promise
<T
>
无
setTransChanged
▸ setTransChanged(fn
): void
Details
设置节点转换完成的回调函数
Examples
调用示例:
function TransChanged(localAxisPos: Vector3, degree: number | null, axis: Vector3 | null) {
console.log(localAxisPos)
if(degree)
console.log(degree)
if(axis)
console.log(axis)
}
const advancedOperationsManager = await cloud.getAdvancedOperations()
advancedOperationsManager.setTransChanged(TransChanged)
function TransChanged(localAxisPos: Vector3, degree: number | null, axis: Vector3 | null) {
console.log(localAxisPos)
if(degree)
console.log(degree)
if(axis)
console.log(axis)
}
const advancedOperationsManager = await cloud.getAdvancedOperations()
advancedOperationsManager.setTransChanged(TransChanged)
Parameters
Name | Type | Description |
---|---|---|
fn | (localAxisPos : Vector3 , degree : null | number , axis : null | Vector3 ) => void | 回调函数 localAxisPos:坐标轴位置 degree:旋转角度 axis:轴法线 仅当degree和axis不为空时是旋转 |
Returns
void
setGlowEffect
▸ setGlowEffect(nodes
, color
, strength
): Promise
<any
>
设置节点自发光
Example
调用示例:
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.setGlowEffect([nodes], '0xffff0000', 70);
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.setGlowEffect([nodes], '0xffff0000', 70);
Parameters
Name | Type | Description |
---|---|---|
nodes | Node [] | 节点组 |
color | string | 颜色 |
strength | number | 强度 |
Returns
Promise
<any
>
clearGlowEffect
▸ clearGlowEffect(nodes
): Promise
<any
>
清除节点自发光
Example
调用示例:
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.clearGlowEffect([nodes]);
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.clearGlowEffect([nodes]);
Parameters
Name | Type | Description |
---|---|---|
nodes | Node [] | 节点 |
Returns
Promise
<any
>
setCrystalEffect
▸ setCrystalEffect(params
): Promise
<any
>
Details
设置节点水晶体效果
Example
调用示例:
const advancedOperationsManager = await cloud.getAdvancedOperations()
const info: Array<CrystalEffect> = [
{
nodes: ['9c5dd9d3f907c3e6bf4d2635640ada02', 'b344b7c003ec4aa734c1645d4a18393e'],
color: '7d00ff00',
glow: true,
},
{
nodes: ['855dcff0a06cf2f9ed0bb6020aac8bd8'],
color: '7d0000ff',
glow: true,
},
];
await advancedOperationsManager.setCrystalEffect(info);
const advancedOperationsManager = await cloud.getAdvancedOperations()
const info: Array<CrystalEffect> = [
{
nodes: ['9c5dd9d3f907c3e6bf4d2635640ada02', 'b344b7c003ec4aa734c1645d4a18393e'],
color: '7d00ff00',
glow: true,
},
{
nodes: ['855dcff0a06cf2f9ed0bb6020aac8bd8'],
color: '7d0000ff',
glow: true,
},
];
await advancedOperationsManager.setCrystalEffect(info);
Parameters
Name | Type | Description |
---|---|---|
params | CrystalEffect [] | 水晶体效果参数(推荐浅色水晶color 644aa9b5,深色水晶color 6405416e) |
Returns
Promise
<any
>
setCrystalEffectByUrl
▸ setCrystalEffectByUrl(url
): Promise
<any
>
Details
通过url传入json设置节点水晶体效果(推荐浅色水晶color 644aa9b5,深色水晶color 6405416e)
Example
调用示例:
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.setCrystalEffectByUrl('http://127.0.0.1:8080/222');
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.setCrystalEffectByUrl('http://127.0.0.1:8080/222');
Parameters
Name | Type | Description |
---|---|---|
url | string | 水晶体参数文件地址 文件json格式如下 { "params": [{ "nodes": ["9c5dd9d3f907c3e6bf4d2635640ada02", "b344b7c003ec4aa734c1645d4a18393e"], "color": "7d00ff00", "glow": true }, { "nodes": ["855dcff0a06cf2f9ed0bb6020aac8bd8"], "color": "7d0000ff", "glow": true } ]} |
Returns
Promise
<any
>
clearCrystalEffect
▸ clearCrystalEffect(): Promise
<any
>
Details
清除节点水晶体效果
Example
调用示例:
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.clearCrystalEffect();
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.clearCrystalEffect();
Returns
Promise
<any
>