diff --git a/CHANGELOG.md b/CHANGELOG.md index 08c958ab3..2bd6a22ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # CHANGELOG +## 3.62.0 + +- feat(MeasurePlugin): 新版测量插件。 +- feat(Sculpt): 支持设置 item 的高亮色。 +- feat(Sculpt): 绘制矩形时添加了一些吸附效果。 +- feat(Util.PointSelector): 支持设置吸附面/吸附线,按`shift`取消吸附。 +- fix(PanoTagPlugin): 标签支持 five lod。 +- fix(Util.PointSelector): 修复放大镜在 umd 包中的 bug。 + ## 3.61.15 - fix(PanoTagPlugin): 标签位于打标签时的位置时,跳过射线检测。 diff --git a/index.html b/index.html index 18a0e349a..2a8b54cff 100644 --- a/index.html +++ b/index.html @@ -12,6 +12,7 @@

常用插件

PanoTagPlugin:全景标签
+ MeasurePlugin:测量插件
ModelMakerPlugin: 模型标注插件
Sculpt
diff --git a/src/MeasurePlugin/App.tsx b/src/MeasurePlugin/App.tsx new file mode 100644 index 000000000..ab3fcd3fe --- /dev/null +++ b/src/MeasurePlugin/App.tsx @@ -0,0 +1,38 @@ +import { MeasurePlugin } from '@realsee/dnalogel/dist' +import { createFiveProvider, FiveCanvas } from '@realsee/five/react' +import * as React from 'react' +import Usage from './Usage.tsx' +import { parseWork } from '@realsee/five' +import { ThemeProvider } from '@mui/material' +import useFetchDatas, { DATA_TYPES } from '../utils/useFetchDatas.ts' +import '../utils/$five.ts' +import { useWindowDimensions } from '../utils/useWindowDimensions.ts' +import { theme } from '../utils/theme.ts' + +const FiveProvider = createFiveProvider({ + imageOptions: { size: 512 }, // 图片默认分辨率 + textureOptions: { size: 512 }, // 贴图默认分辨率 + onlyRenderIfNeeds: true, + plugins: [[MeasurePlugin, 'MeasurePlugin']], +}) + +const workCode = (new URLSearchParams(window.location.search).get('workCode') ?? '') as any +const workType = (new URLSearchParams(window.location.search).get('workType') ?? 'real') as any + +const App: React.FC = () => { + const size = useWindowDimensions() + const work = useFetchDatas(DATA_TYPES.WORK, workCode, workCode ? workType : undefined) + + return ( + work && ( + + + + + + + ) + ) +} + +export default App diff --git a/src/MeasurePlugin/Usage.tsx b/src/MeasurePlugin/Usage.tsx new file mode 100644 index 000000000..6f54236ad --- /dev/null +++ b/src/MeasurePlugin/Usage.tsx @@ -0,0 +1,26 @@ +import { Paper, ButtonGroup, Button } from '@mui/material' +import { FiveModeSwitcher } from '../components/FiveModeSwitcher' + +import { unsafe__useFiveInstance } from '@realsee/five/react' +import { MeasureController } from '@realsee/dnalogel/dist/MeasurePlugin/Controller' + +const PanoMeasurePluginUsage = () => { + const five = unsafe__useFiveInstance() + const measurePlugin = five.plugins.MeasurePlugin as MeasureController + + return ( + <> + + + + + + + + + + + ) +} + +export default PanoMeasurePluginUsage diff --git a/src/MeasurePlugin/index.html b/src/MeasurePlugin/index.html new file mode 100644 index 000000000..82669a140 --- /dev/null +++ b/src/MeasurePlugin/index.html @@ -0,0 +1,25 @@ + + + + + + + PanoMeasurePlugin + + + +
+ + + diff --git a/src/MeasurePlugin/index.tsx b/src/MeasurePlugin/index.tsx new file mode 100644 index 000000000..c265ebf2b --- /dev/null +++ b/src/MeasurePlugin/index.tsx @@ -0,0 +1,7 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import App from './App' + +ReactDOM.render(, document.querySelector('#app')) + +export {} diff --git a/src/PanoTagPlugin/mocks/mock_data.ts b/src/PanoTagPlugin/mocks/mock_data.ts index 5f2c77fe9..770964a8a 100644 --- a/src/PanoTagPlugin/mocks/mock_data.ts +++ b/src/PanoTagPlugin/mocks/mock_data.ts @@ -495,7 +495,8 @@ export const TagsList = [ }, style: { point: { - url: '//vr-static.realsee-cdn.cn/release/web/carTagDotContent.08ace25e.png', + url: 'https://cdn.simpleicons.org/android?size=50', + ratio: 1, }, }, id: 0, diff --git a/src/Sculpt/App.tsx b/src/Sculpt/App.tsx index 3c4c01b87..1858d9220 100644 --- a/src/Sculpt/App.tsx +++ b/src/Sculpt/App.tsx @@ -5,8 +5,10 @@ import Use from './Use' import { parseWork } from '@realsee/five' import useFetchDatas, { DATA_TYPES } from '../utils/useFetchDatas' import { Sculpt } from '@realsee/dnalogel/dist' +import { createTheme, ThemeProvider } from '@mui/material' import { OrientationPlugin } from '@realsee/five/plugins' import '../utils/$five.ts' +import { theme } from '../utils/theme.ts' const lineWidth = 1.5 const lineOpacity = 0.8 @@ -66,22 +68,24 @@ const App: React.FC = () => { if (!work) return null return ( - -
- -
- - -
+ + +
+ +
+ + +
+
) } diff --git a/src/Sculpt/Use.tsx b/src/Sculpt/Use.tsx index 220b7e029..127d17ad5 100644 --- a/src/Sculpt/Use.tsx +++ b/src/Sculpt/Use.tsx @@ -6,7 +6,6 @@ import { useEffect, useState } from 'react' import { FiveModeSwitcher } from '../components/FiveModeSwitcher' import { CustomWork } from '../components/CustomWork' import { clearDemo, yuanzhangdemo } from './demo' -import * as THREE from 'three' import { Util } from '@realsee/dnalogel/dist' const defaultCreateStyle: any = { @@ -139,17 +138,17 @@ const Use = () => { - - - - - + + + + + - + - - - + + +