Skip to content
导览

Class: AdvancedOperations

高级操作接口

Examples

js
const advancedOpe = await cloud.getAdvancedOperations();
const advancedOpe = await cloud.getAdvancedOperations();

Hierarchy

  • Callable

    AdvancedOperations

Methods

inverseSelection

inverseSelection(selectionNode, root): Promise<VirtualNode>

反选节点

Examples

js
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

NameTypeDescription
selectionNodeVirtualNode被选择虚拟节点
rootNode模型3d根节点

Returns

Promise<VirtualNode>


isolatedDisplay

isolatedDisplay(isolatedNode, transparent): void

隔离展示

Examples

typescript
let advancedOpe =await cloud.getAdvancedOperations();
advancedOpe.isolatedDisplay(selectionNode,50);
let advancedOpe =await cloud.getAdvancedOperations();
advancedOpe.isolatedDisplay(selectionNode,50);

Parameters

NameTypeDescription
isolatedNodeNode[] | VirtualNode传入节点
transparentnumber透明度 范围在0-100 如果透明度为0,则其他节点隐藏

Returns

void


boxSelection

boxSelection(isopen): Promise<any>

是否开启框选

Examples

typescript
let advancedOpe =await cloud.getAdvancedOperations();
advancedOpe.boxSelection(true);
let advancedOpe =await cloud.getAdvancedOperations();
advancedOpe.boxSelection(true);

Parameters

NameTypeDescription
isopenbooleantrue为开启 false为关闭

Returns

Promise<any>


setBoxSelectionCallback

setBoxSelectionCallback(fn): void

Details

设置框选完成的回调函数

Examples

typescript
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

NameTypeDescription
fn(node: VirtualNode) => void回调函数,node为回调数据

Returns

void


openNodeTransform

openNodeTransform(node, bOpen): Promise<any> | <T>(reason?: any) => Promise<T>

Details

开启坐标转换

Examples

调用示例:

js
//设置双击回调
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

NameTypeDescription
nodenull | Node选中节点
bOpenboolean是否操作

Returns

Promise<any> | <T>(reason?: any) => Promise<T>


setTransChanged

setTransChanged(fn): void

Details

设置节点转换完成的回调函数

Examples

调用示例:

js
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

NameTypeDescription
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

调用示例:

ts
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.setGlowEffect([nodes], '0xffff0000', 70);
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.setGlowEffect([nodes], '0xffff0000', 70);

Parameters

NameTypeDescription
nodesNode[]节点组
colorstring颜色
strengthnumber强度

Returns

Promise<any>


clearGlowEffect

clearGlowEffect(nodes): Promise<any>

清除节点自发光

Example

调用示例:

ts
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.clearGlowEffect([nodes]);
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.clearGlowEffect([nodes]);

Parameters

NameTypeDescription
nodesNode[]节点

Returns

Promise<any>


setCrystalEffect

setCrystalEffect(params): Promise<any>

Details

设置节点水晶体效果

Example

调用示例:

js
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

NameTypeDescription
paramsCrystalEffect[]水晶体效果参数(推荐浅色水晶color 644aa9b5,深色水晶color 6405416e)

Returns

Promise<any>


setCrystalEffectByUrl

setCrystalEffectByUrl(url): Promise<any>

Details

通过url传入json设置节点水晶体效果(推荐浅色水晶color 644aa9b5,深色水晶color 6405416e)

Example

调用示例:

js
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

NameTypeDescription
urlstring水晶体参数文件地址 文件json格式如下 { "params": [{ "nodes": ["9c5dd9d3f907c3e6bf4d2635640ada02", "b344b7c003ec4aa734c1645d4a18393e"], "color": "7d00ff00", "glow": true }, { "nodes": ["855dcff0a06cf2f9ed0bb6020aac8bd8"], "color": "7d0000ff", "glow": true } ]}

Returns

Promise<any>


clearCrystalEffect

clearCrystalEffect(): Promise<any>

Details

清除节点水晶体效果

Example

调用示例:

js
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.clearCrystalEffect();
const advancedOperationsManager = await cloud.getAdvancedOperations()
await advancedOperationsManager.clearCrystalEffect();

Returns

Promise<any>