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