本文へ移動
ドキュメント

計測操作を追加する

公開版 MeasurePlugin で計測の開始、完了、取り消し、キャンセル、単位切り替えを行います。

このページの内容

MeasurePlugin で読み込み済みシーンを計測します。クイックスタート ではメートル単位・小数点以下 2 桁で登録します。PanoMeasurePlugin とは別のコントローラーで、メソッドは互換ではありません。

操作を接続する

import type { MeasurePlugin } from '@realsee/dnalogel'

type MeasureController = ReturnType<typeof MeasurePlugin>

export function bindMeasurement(
  measure: MeasureController,
  report: (result: { reason: string; pointCount: number }) => void
) {
  const stop = measure.on('measureEnd', (reason, points) => report({ reason, pointCount: points.length }))
  return {
    start() { measure.measure() },
    finish() { measure.endMeasure() },
    undo() { measure.undo() },
    cancel() { measure.cancel() },
    metric() { measure.setUnit('m'); measure.setPrecision(2) },
    imperial() { measure.setUnit('ft'); measure.setPrecision(8) },
    clear() { measure.clear() },
    dispose() { stop(); measure.cancel() }
  }
}

シーンの準備完了後に bindMeasurement(result.measure, report) を呼び、返されたメソッドを開始・完了・取り消し・キャンセル・単位・消去のボタンに接続します。report は終了理由と点の数を受け取り、保存済みの計測結果を表すものではありません。

イベントは measure.on('measureEnd', ...) で購読します。PanoTagPlugin と異なり .hooks を使いません。

精度と完了を理解する

設定意味
単位 m、精度 2長さは小数点以下 2 桁
単位 ft、精度 8長さは 1/8 インチ精度
面積表示小数点以下 2 桁固定

終了理由には enter、escape、polygon、mode_change、pano_move、floor_change、points_insufficient、external があります。終了しても有効な多角形や保存済み結果とは限りません。サーバーに点を保存する前に、製品として受け入れる結果を定めてください。

確認する

計測を開始し、点の追加、取り消し、完了を試します。キャンセル、パノラマ・モード変更も試し、再作成せず単位を切り替えます。表示と report が操作に一致することを確認し、最後に接続とシーンを破棄します。

自分の撮影シーンで挙動と精度を確認してください。この例は測量精度を保証しません。

公開設定 · コントローラーと終了理由