Skip to content

plugin-drawing-shape

beta

绘制基础图形。

样例

安装

bash
npm install @soonspacejs/plugin-drawing-shape -S
# or
yarn add @soonspacejs/plugin-drawing-shape -S

使用方法

js
import SoonSpace from 'soonspacejs';
import DrawingShapePlugin from '@soonspacejs/plugin-drawing-shape';

const ssp = new SoonSpace({
  el: '#view',
  options: {},
  events: {},
});

const drawingShapePlugin = ssp.registerPlugin(DrawingShapePlugin, 'drawingShapePlugin');
consolo.log(drawingShapePlugin);

属性

blankIntersect

是否允许在空白处绘制

  • 默认值: true
  • 类型: boolean

用法

js
drawingShapePlugin.blankIntersect = false;

方法

drawingPoint

绘制点

交互

鼠标 左键单击 确定位置并结束绘制,鼠标 右键单击 或按键 Esc 取消绘制。

定义

ts
type DrawingPointInfo = Omit<PointInfo, 'id'>;

interface DrawingPointEvents {
  onCancel?: () => void;
}

function drawingPoint(options: DrawingPointInfo, events?: DrawingPointEvents): Promise<Omit<PointInfo, 'id'>>;

用法

js
drawingShapePlugin
  .drawingPoint(
    // options
    {
      color: 'red',
      opacity: 0.5,
    },
    // events
    {
      onCancel() {
        console.log('drawPoint onCancel');
      },
    }
  )
  .then((res) => console.log('drawPoint done', res));

参数:

options
  • 描述: 点参数配置
  • 类型: DrawingPointInfo
  • 必填:

DrawingPointInfo 字段属性(接口类型)继承于 PointInfo,但不需要 id 字段。

events
DrawingPointEvents
属性描述类型必填默认值
onCancel取消时回调函数() => voidnull

drawingLine

绘制线

交互

鼠标 左键单击 确定位置,鼠标 左键双击 确定位置并结束绘制,鼠标 右键单击 或按键 Del 取消上一步绘制,鼠标 右键双击 或按键 Esc 取消绘制。

定义

ts
type DrawingLineInfo = Omit<LineInfo, 'id' | 'points'>;

interface DrawingLineEvents {
  onCancel?: () => void;
  onCancelPrev?: () => void;
}

function drawingLine(options: DrawingLineInfo, events?: DrawingLineEvents): Promise<Omit<LineInfo, 'id'>>;

用法

js
drawingShapePlugin
  .drawingLine(
    // options
    {
      color: 'red',
      opacity: 0.5,
    },
    // events
    {
      onCancel() {
        console.log('drawingLine onCancel');
      },
      onCancelPrev() {
        console.log('drawingLine onCancelPrev');
      },
    }
  )
  .then((res) => console.log('drawingLine done', res));

参数:

options
  • 描述: 线参数配置
  • 类型: DrawingLineInfo
  • 必填:

DrawingLineInfo 字段属性(接口类型)继承于 LineInfo,但不需要 idpoints 字段。

events
DrawingLineEvents
属性描述类型必填默认值
onCancel取消时回调函数() => voidnull
onCancelPrev取消上一步时回调函数() => voidnull

drawingPolygon

绘制面

交互

鼠标 左键单击 确定位置,鼠标 左键双击 确定位置并结束绘制,鼠标 右键单击 或按键 Del 取消上一步绘制,鼠标 右键双击 或按键 Esc 取消绘制。

定义

ts
type DrawingPolygonInfo = Omit<PolygonInfo, 'id' | 'points' | 'yHeight'>;

interface DrawingPolygonEvents {
  onCancel?: () => void;
  onCancelPrev?: () => void;
}

function drawingPolygon(options: DrawingPolygonInfo, events?: DrawingPolygonEvents): Promise<Omit<PolygonInfo, 'id'>>;

用法

js
drawingShapePlugin
  .drawingPolygon(
    // options
    {
      yHeight: 200,
      color: 'blue',
      opacity: 0.1,
    },
    // events
    {
      onCancel() {
        console.log('drawingPolygon onCancel');
      },
      onCancelPrev() {
        console.log('drawingPolygon onCancelPrev');
      },
    }
  )
  .then((res) => console.log('drawingPolygon done', res));

参数:

options
  • 描述: 面参数配置
  • 类型: DrawingPolygonInfo
  • 必填:

DrawingPolygonInfo 字段属性(接口类型)继承于 PolygonInfo,但不需要 idpointsyHeight 字段。

events
DrawingPolygonEvents
属性描述类型必填默认值
onCancel取消时回调函数() => voidnull
onCancelPrev取消上一步时回调函数() => voidnull

drawingCircle

绘制圆

交互

鼠标 左键单击 确定圆心位置,移动鼠标设置半径,再次鼠标 左键单击 完成绘制, 右键单击 或按键 Esc 取消绘制。

定义

ts
type DrawingCircleInfo = Omit<CircleInfo, 'id''radius'>

interface DrawingCircleEvents {
  onCancel?: () => void
}

function drawingCircle(options: DrawingCircleInfo, events?: DrawingCircleEvents): Promise<Omit<CircleInfo, 'id'>>

用法

js
drawingShapePlugin
  .drawingCircle(
    // options
    {
      color: 'blue',
      opacity: 0.5,
    },
    // events
    {
      onCancel() {
        console.log('drawingCircle onCancel');
      },
    }
  )
  .then((res) => console.log('drawingCircle done', res));

参数:

options
  • 描述: 圆参数配置
  • 类型: DrawingCircleInfo
  • 必填:

DrawingCircleInfo 字段属性(接口类型)继承于 CircleInfo,但不需要 idradius 字段。

events
DrawingCircleEvents
属性描述类型必填默认值
onCancel取消时回调函数() => voidnull

clearDrawingCanvas3D

清空绘制画布

定义

ts
function clearDrawingCanvas3D(): void;

用法

js
drawingShapePlugin.clearDrawingCanvas3D();

浙ICP备16043491号