Skip to content

plugin-clipping-controls

beta

模型与场景切割。

样例

安装

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,
});

提示

axisisForward 组合为一个唯一标识,标识相同时会复用切割状态。

同一个轴线可以同时存在两个切割状态。

参数:

object
  • 描述: 模型对象
  • 类型: BaseObject3D
  • 必填:
options
  • 描述: 配置选项
  • 类型: ModelClippingOptions
  • 必填:
ModelClippingOptions
属性描述类型必填默认值
axis坐标轴AxisType
clipPercent百分比(0 - 100)number
isForward是否正向切割模型booleantrue
openHelper是否开启切割辅助面booleantrue

removeModelClipping

移除模型切割(还原状态)

定义

ts
function removeModelClipping(model: BaseObject3D, axis?: AxisType, isForward?: boolean): void;

用法

js
clippingControlsPlugin.removeModelClipping(model, 'x');

提示

axisisForward 组合为一个唯一标识,用于还原切割状态。

参数:

object
  • 描述: 模型对象
  • 类型: BaseObject3D
  • 必填:
axis
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 });

提示

axisisForward 组合为一个唯一标识,标识相同时会复用切割状态。

同一个轴线可以同时存在两个切割状态。

参数:

options
  • 描述: 配置选项
  • 类型: SceneClippingOptions
  • 必填:
SceneClippingOptions
属性描述类型必填默认值
axis坐标轴AxisType
clipPoint切割点的位置number
isForward是否正向切割场景booleantrue
openHelper是否开启切割辅助面booleantrue

removeSceneClipping

移除场景切割(还原状态)

定义

ts
function removeSceneClipping(axis?: AxisType, isForward?: boolean): void;

用法

js
clippingControlsPlugin.removeSceneClipping('x');

提示

axisisForward 组合为一个唯一标识,用于还原切割状态。

参数:

axis
isForward
  • 描述: 是否正向切割
  • 类型: boolean
  • 必填:
  • 默认: true

浙ICP备16043491号