Appearance
plugin-clipping-controls
模型与场景切割。
样例
安装
bash
npm install @soonspacejs/plugin-clipping-controls -S
# or
yarn add @soonspacejs/plugin-clipping-controls -S使用方法
js
import SoonSpace from 'soonspacejs';
import ClippingControlsPlugin from '@soonspacejs/plugin-clipping-controls';
const ssp = new SoonSpace({
el: '#view',
options: {},
events: {},
});
const clippingControlsPlugin = ssp.registerPlugin(ClippingControlsPlugin, 'clippingControlsPlugin');
consolo.log(clippingControlsPlugin);方法
modelClipping
模型切割
定义
ts
interface ModelClippingOptions {
axis: AxisType;
clipPercent: number;
isForward?: boolean;
openHelper?: boolean;
}
function modelClipping(model: BaseObject3D, options: ModelClippingOptions): void;用法
js
clippingControlsPlugin.modelClipping(model, {
axis: 'x',
clipPercent: 50,
isForward: true,
openHelper: true,
});
clippingControlsPlugin.modelClipping(model, {
axis: 'x',
clipPercent: 50,
isForward: false,
openHelper: true,
});提示
axis 和 isForward 组合为一个唯一标识,标识相同时会复用切割状态。
同一个轴线可以同时存在两个切割状态。
参数:
object
- 描述: 模型对象
- 类型:
BaseObject3D - 必填:
options
- 描述: 配置选项
- 类型:
ModelClippingOptions - 必填:
ModelClippingOptions
| 属性 | 描述 | 类型 | 必填 | 默认值 |
|---|---|---|---|---|
| axis | 坐标轴 | AxisType | ||
| clipPercent | 百分比(0 - 100) | number | ||
| isForward | 是否正向切割模型 | boolean | true | |
| openHelper | 是否开启切割辅助面 | boolean | true |
removeModelClipping
移除模型切割(还原状态)
定义
ts
function removeModelClipping(model: BaseObject3D, axis?: AxisType, isForward?: boolean): void;用法
js
clippingControlsPlugin.removeModelClipping(model, 'x');提示
axis 和 isForward 组合为一个唯一标识,用于还原切割状态。
参数:
object
- 描述: 模型对象
- 类型:
BaseObject3D - 必填:
axis
- 描述: 轴线
- 类型:
AxisType - 必填:
isForward
- 描述: 是否正向切割
- 类型:
boolean - 必填:
- 默认:
true
sceneClipping
场景切割
定义
ts
interface SceneClippingOptions {
axis: AxisType;
clipPoint: number;
isForward?: boolean;
openHelper?: boolean;
}
function sceneClipping(options: SceneClippingOptions): void;用法
js
clippingControlsPlugin.sceneClipping({ axis: 'x', isForward: true, clipPoint: 500 });
clippingControlsPlugin.sceneClipping({ axis: 'x', isForward: false, clipPoint: 500 });提示
axis 和 isForward 组合为一个唯一标识,标识相同时会复用切割状态。
同一个轴线可以同时存在两个切割状态。
参数:
options
- 描述: 配置选项
- 类型:
SceneClippingOptions - 必填:
SceneClippingOptions
| 属性 | 描述 | 类型 | 必填 | 默认值 |
|---|---|---|---|---|
| axis | 坐标轴 | AxisType | ||
| clipPoint | 切割点的位置 | number | ||
| isForward | 是否正向切割场景 | boolean | true | |
| openHelper | 是否开启切割辅助面 | boolean | true |
removeSceneClipping
移除场景切割(还原状态)
定义
ts
function removeSceneClipping(axis?: AxisType, isForward?: boolean): void;用法
js
clippingControlsPlugin.removeSceneClipping('x');提示
axis 和 isForward 组合为一个唯一标识,用于还原切割状态。
参数:
axis
- 描述: 轴线
- 类型:
AxisType - 必填:
isForward
- 描述: 是否正向切割
- 类型:
boolean - 必填:
- 默认:
true