剖切对象操作 SectionObject
剖切对象操作管理器是用于控制云渲染剖切对象操作的工具,通过获取该管理器,用户可以方便地进行剖切对象的控制和管理。 该工具的主要功能包括:
- 开启剖切轴控制
- 结束剖切轴控制
- 获取此剖切盒或面的Transform
- 通过Transform设置此剖切面或盒的位置姿态
- 获取此剖切类型
- 获取此剖切面或盒的方向
- 获取此剖切面或盒的显示状态
- 设置此剖切面或盒的显示状态
我们将提供详细的使用指南和功能说明,帮助用户更好地使用该工具。
开启剖切轴控制 | openControl
- 说明:开启剖切轴控制
我们可以调用 SectionObject
上面的 openControl
方法来开启剖切轴的控制。
调用示例:
ts
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
await obj.openControl()
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
await obj.openControl()
结束剖切轴控制 | endControl
- 说明:结束剖切轴控制
我们可以调用 SectionObject
上面的 endControl
方法来开启剖切轴的控制。
调用示例:
ts
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
await obj.endControl()
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
await obj.endControl()
获取此剖切盒或面的Transform | getSectionInfo
- 说明:获取此剖切盒或面的Transform
我们可以调用 SectionObject
上面的 getSectionInfo
方法来获取此剖切盒或面的Transform。
调用示例:
ts
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
const trans = await obj.getSectionInfo()
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
const trans = await obj.getSectionInfo()
Transform位置姿态
通过Transform设置此剖切面或盒的位置姿态 | setSectionInfo
- 说明:通过Transform设置此剖切面或盒的位置姿态
我们可以调用 SectionObject
上面的 setSectionInfo
方法来通过Transform设置此剖切面或盒的位置姿态。
- 参数说明
Name | Type |
---|---|
trans | Transform |
调用示例:
ts
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
await obj.setSectionInfo(trans)
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
await obj.setSectionInfo(trans)
获取此剖切类型 | openControl
- 说明:获取此剖切类型
我们可以调用 SectionObject
上面的 getType
方法来获取此剖切类型。
调用示例:
ts
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
const type = await obj.getType();
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
const type = await obj.getType();
获取此剖切面或盒的方向 | getDir
- 说明:获取此剖切面或盒的方向
我们可以调用 SectionObject
上面的 getDir
方法来获取此剖切面或盒的方向。
调用示例:
ts
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
const dir = await obj.getDir();
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
const dir = await obj.getDir();
获取此剖切面或盒的显示状态 | getSectionShowState
- 说明:获取此剖切面或盒的显示状态
我们可以调用 SectionObject
上面的 getSectionShowState
方法来获取此剖切面或盒的显示状态。
调用示例:
ts
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
const state = await obj.getSectionShowState();
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
const state = await obj.getSectionShowState();
设置此剖切面或盒的显示状态 | setSectionShowState
- 说明:设置此剖切面或盒的显示状态
我们可以调用 SectionObject
上面的 setSectionShowState
方法来设置此剖切面或盒的显示状态。
- 参数说明
Name | Type | Description |
---|---|---|
isShow | boolean | true显示 false隐藏 |
调用示例:
ts
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
await obj.setSectionShowState(true);
await cloud.getSectioningManager()
const sceManager = await cloud.getSceneManager()
const rootNode = await sceManager.getRootNode3D()// 获取根节点
const translation1 = new Vector3(10, 0, 0)
const eulerAngle1 = new Euler(0, 0, 0)
const scaling1 = new Vector3(1, 1, 1)
const trans = new Transform(translation1, eulerAngle1, scaling1)
const state: NodeState = {
color: '0xFF0000',
opacity: 100,
show: true,
}
const obj = await cloud.sectioningManager.addBoxSection(trans, rootNode!, state)
await obj.setSectionShowState(true);