Skip to content

plugin-patrol-controls

beta

路径巡检控制器。

样例

安装

bash
npm install @soonspacejs/plugin-patrol-controls -S
# or
yarn add @soonspacejs/plugin-patrol-controls -S

使用方法

js
import SoonSpace from 'soonspacejs';
import PatrolControlsPlugin from '@soonspacejs/plugin-patrol-controls';

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

const patrolControls = ssp.registerPlugin(PatrolControlsPlugin, 'patrolControls');
consolo.log(patrolControls);

方法

start

开始巡检。

定义

ts
type ProgressParams = {
  patrolled: number;
  total: number;
  percent: number;
}

interface StartOptions = {
    eyeHeight?: number | undefined;
    naviSpeed?: number | undefined;
    rotateSpeed?: number | undefined;
    flyToStartPoint?: boolean | undefined;
    onUpdate?: ( realTimePosition: Position, nextNode: Node, toNextNodeDistance: number ) => void;
    onProgress?: ((params: ProgressParams) => void) | undefined;
    onEnd?: ((endPosition: Position) => void) | undefined;
}

function start(path: Topology, options: StartOptions) => void

用法

js
patrolControls.start(
  // path
  shortestPath.
  // options
  {
    naviSpeed: 1,
    rotateSpeed: 1,
    eyeHeight: 100,
    flyToStartPoint: true,
    onUpdate: (realTimePosition) => {
      console.log(realTimePosition)
    },
    onProgress: ({ percent }) => {
      console.log('巡检进度', percent)
    },
    onEnd: (endPosition) => {
      console.log('巡检结束!', endPosition)
    }
  }
)

参数

path
  • 描述: 用于自动巡检的路径
  • 必填:
  • 类型: Topology
options
  • 描述: 可配置项
  • 必填:
  • 类型: StartOptions
StartOptions
属性描述类型必填默认值
naviSpeed巡检时导航速度number1
rotateSpeed视角旋转速度number1
eyeHeight眼睛高度number100
flyToStartPoint是否飞向起始点位置booleantrue
onUpdate巡检时实时更新回调函数onUpdate: ( realTimePosition: Position, nextNode: Node, toNextNodeDistance: number ) => void;
onProgress巡检进度回调(params: ProgressParams) => void
onEnd巡检结束回调函数(endPosition: Position) => void

setProgress

v2.6.1

设置巡检进度

定义

ts
/**
 * @param percent 0 - 1(不包含 1)
 */
function setProgress(percent: number): void;

用法

js
patrolControls.setProgress(0.5);

setOptions

动态设置巡检参数

定义

ts
type ResetOptions = Pick<StartOptions, 'eyeHeight' | 'naviSpeed' | 'rotateSpeed'>;

function setOptions(options: ResetOptions): void;

用法

js
patrolControls.setOptions({
  naviSpeed: 1,
  rotateSpeed: 1,
  eyeHeight: 100,
});

stop

结束巡检。

用法

js
patrolControls.stop();

pause

暂停巡检。

用法

js
patrolControls.pause();

resume

继续巡检。

用法

js
patrolControls.resume();

浙ICP备16043491号