@realsee/dnalogel 3.77.5 → 3.77.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -11
- package/dist/PanoTagPlugin/controller/Tag/BaseTag.d.ts +5 -1
- package/dist/PanoTagPlugin/controller/Tag/BoxTag.d.ts +119 -0
- package/dist/PanoTagPlugin/controller/Tag/MaskTag.d.ts +257 -0
- package/dist/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +10 -0
- package/dist/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +112 -0
- package/dist/PanoTagPlugin/controller/TagRender.d.ts +1 -1
- package/dist/PanoTagPlugin/controller/index.d.ts +55 -2
- package/dist/PanoTagPlugin/typings/controller.d.ts +10 -0
- package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +8 -3
- package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +50 -1
- package/dist/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +6 -0
- package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +6 -0
- package/dist/PanoTagPlugin/utils/tagPosition.d.ts +12 -3
- package/dist/Sculpt/Meshes/Line.d.ts +4 -0
- package/dist/index.cjs.js +178 -95
- package/dist/index.js +11378 -9801
- package/dist/index.umd.js +173 -90
- package/dist/shared-utils/five/getFiveFromParentChain.d.ts +7 -0
- package/libs/AreaMakerPlugin/Controller.js +3 -2
- package/libs/AreaMakerPlugin/index.js +3 -2
- package/libs/AreaMakerPlugin/utils/Item.js +3 -2
- package/libs/CSS3DRenderPlugin/Controller.js +3 -2
- package/libs/CSS3DRenderPlugin/index.js +6 -5
- package/libs/CSS3DRenderPlugin/utils/three/CSS3DObject.js +39 -38
- package/libs/CSS3DRenderPlugin/utils/three/CSS3DRender.js +10 -9
- package/libs/CruisePlugin/BaseController.js +5 -4
- package/libs/CruisePlugin/Move.js +8 -2
- package/libs/CruisePlugin/Work.js +8 -2
- package/libs/CruisePlugin/index.js +12 -6
- package/libs/CurrentPanoImagePlugin/Controller.js +15 -14
- package/libs/CurrentPanoImagePlugin/index.js +4 -3
- package/libs/GuideLinePlugin/Controller.js +10 -4
- package/libs/GuideLinePlugin/GuideLineItem.js +8 -2
- package/libs/GuideLinePlugin/GuideLineModeItem.js +8 -2
- package/libs/GuideLinePlugin/index.js +12 -6
- package/libs/MeasurePlugin/Controller.js +11 -10
- package/libs/MeasurePlugin/index.js +5 -4
- package/libs/MeasurePlugin/utils/MeasureMesh.js +3 -2
- package/libs/ModelChassisCompassPlugin/Plugin.js +4 -3
- package/libs/ModelChassisCompassPlugin/index.js +1 -0
- package/libs/ModelEntryDoorGuidePlugin/Plugin.js +6 -5
- package/libs/ModelEntryDoorGuidePlugin/index.js +1 -0
- package/libs/ModelMakerPlugin/Controller.js +3 -2
- package/libs/ModelMakerPlugin/index.js +3 -2
- package/libs/ModelMakerPlugin/item/baseItem.js +3 -2
- package/libs/ModelMakerPlugin/item/boxItem.js +3 -2
- package/libs/ModelMakerPlugin/item/polygonItem.js +3 -2
- package/libs/ModelMakerPlugin/item/prismItem.js +3 -2
- package/libs/ModelTVVideoPlugin/Plugin.js +4 -3
- package/libs/ModelTVVideoPlugin/index.js +3 -2
- package/libs/ModelViewPlugin/Plugin.js +20 -19
- package/libs/ModelViewPlugin/index.js +1 -0
- package/libs/Object3DHelperPlugin/Controller.js +3 -2
- package/libs/Object3DHelperPlugin/index.js +6 -5
- package/libs/PanoCompassPlugin/Controller.js +3 -2
- package/libs/PanoCompassPlugin/index.js +4 -3
- package/libs/PanoDoorLabelPlugin/Controller.js +24 -23
- package/libs/PanoDoorLabelPlugin/index.js +4 -3
- package/libs/PanoMeasurePlugin/Components/Controller0.js +3 -2
- package/libs/PanoMeasurePlugin/Components/Controller1.js +3 -2
- package/libs/PanoMeasurePlugin/Controller/EditController.js +3 -2
- package/libs/PanoMeasurePlugin/Controller/WatchController.js +3 -2
- package/libs/PanoMeasurePlugin/Controller/index.js +3 -2
- package/libs/PanoMeasurePlugin/Model/area.js +3 -2
- package/libs/PanoMeasurePlugin/Modules/Magnifier.js +1 -0
- package/libs/PanoMeasurePlugin/Modules/UIController/index.js +16 -15
- package/libs/PanoMeasurePlugin/index.js +14 -13
- package/libs/PanoMeasurePlugin/utils/dom/areaDom.js +3 -2
- package/libs/PanoRulerProPlugin/Controller.js +3 -2
- package/libs/PanoRulerProPlugin/RulerItems.js +42 -41
- package/libs/PanoRulerProPlugin/index.js +4 -3
- package/libs/PanoSpatialTagPlugin/Plugin.js +34 -33
- package/libs/PanoSpatialTagPlugin/index.js +1 -0
- package/libs/PanoTagPlugin/Components/Common/TagPoint.js +3 -2
- package/libs/PanoTagPlugin/Components/Common/TagPopover/PopoverContent.js +3 -2
- package/libs/PanoTagPlugin/Components/Common/TagPopover/TagPopoverToolBar.js +3 -2
- package/libs/PanoTagPlugin/Components/Common/TagPopover/index.js +3 -2
- package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +3 -2
- package/libs/PanoTagPlugin/Components/Tag/index.js +3 -2
- package/libs/PanoTagPlugin/Components/TagContainer.js +3 -2
- package/libs/PanoTagPlugin/Components/TagItem.js +125 -124
- package/libs/PanoTagPlugin/controller/Tag/BaseTag.d.ts +5 -1
- package/libs/PanoTagPlugin/controller/Tag/BaseTag.js +321 -289
- package/libs/PanoTagPlugin/controller/Tag/BoxTag.d.ts +119 -0
- package/libs/PanoTagPlugin/controller/Tag/BoxTag.js +516 -0
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.d.ts +257 -0
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.js +816 -0
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +10 -0
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.js +94 -0
- package/libs/PanoTagPlugin/controller/Tag/ModelTag.js +3 -2
- package/libs/PanoTagPlugin/controller/Tag/PlaneTag.js +3 -2
- package/libs/PanoTagPlugin/controller/Tag/PointTag.js +3 -2
- package/libs/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +112 -0
- package/libs/PanoTagPlugin/controller/Tag/PolygonTag.js +479 -0
- package/libs/PanoTagPlugin/controller/TagRender.d.ts +1 -1
- package/libs/PanoTagPlugin/controller/TagRender.js +3 -2
- package/libs/PanoTagPlugin/controller/TagUtil.js +22 -19
- package/libs/PanoTagPlugin/controller/index.d.ts +55 -2
- package/libs/PanoTagPlugin/controller/index.js +243 -129
- package/libs/PanoTagPlugin/index.js +17 -11
- package/libs/PanoTagPlugin/typings/controller.d.ts +10 -0
- package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +8 -3
- package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +50 -1
- package/libs/PanoTagPlugin/utils/addDebugPoints.js +27 -13
- package/libs/PanoTagPlugin/utils/index.js +29 -26
- package/libs/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +6 -0
- package/libs/PanoTagPlugin/utils/sculptDataToBoxPosition.js +18 -0
- package/libs/PanoTagPlugin/utils/tag/calculateTagConfig.js +3 -2
- package/libs/PanoTagPlugin/utils/tag/format.js +3 -2
- package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +6 -0
- package/libs/PanoTagPlugin/utils/tag/tagCheck.js +26 -14
- package/libs/PanoTagPlugin/utils/tagPosition.d.ts +12 -3
- package/libs/PanoTagPlugin/utils/tagPosition.js +49 -16
- package/libs/PanoVideoPlugin/Controller.js +9 -8
- package/libs/PanoVideoPlugin/VideoMeshController.js +3 -2
- package/libs/PanoVideoPlugin/index.js +6 -5
- package/libs/PipelinePlugin/Controller.js +3 -2
- package/libs/PipelinePlugin/index.js +4 -3
- package/libs/PipelinePlugin/utils/Objects/FlowPipe.js +3 -2
- package/libs/PipelinePlugin/utils/Objects/HighlightPipe.js +3 -2
- package/libs/PipelinePlugin/utils/Objects/Pipe.js +1 -0
- package/libs/Sculpt/Meshes/Line.d.ts +4 -0
- package/libs/Sculpt/Meshes/Line.js +85 -76
- package/libs/Sculpt/Meshes/Point.js +28 -28
- package/libs/Sculpt/Meshes/Polygon.js +43 -43
- package/libs/Sculpt/index.js +1 -1
- package/libs/Sculpt/utils/Modules/Cursor.js +7 -7
- package/libs/base/BasePlugin.js +1 -1
- package/libs/floorplan/FloorplanGuidePlugin/Controller.js +3 -2
- package/libs/floorplan/FloorplanGuidePlugin/index.js +4 -3
- package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +3 -2
- package/libs/floorplan/MapviewFloorplanPlugin/index.js +4 -3
- package/libs/floorplan/ModelFloorplanPlugin/Controller.js +3 -2
- package/libs/floorplan/ModelFloorplanPlugin/index.js +4 -3
- package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +3 -2
- package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +4 -3
- package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +3 -2
- package/libs/floorplan/TopviewFloorplanPlugin/index.js +4 -3
- package/libs/index.js +164 -158
- package/libs/shared-utils/five/getFiveFromParentChain.d.ts +7 -0
- package/libs/shared-utils/five/getFiveFromParentChain.js +15 -0
- package/libs/shared-utils/logger.js +1 -1
- package/libs/shared-utils/three/PointSelector/utils/PointHelper2.js +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Tag, TagId, Tags, State, ContentTypeConfigKey } from '../typings';
|
|
2
2
|
import type { TagClickParams, TagConfigByKey, TagContentType } from '..';
|
|
3
3
|
import type { ArrayPosition } from '../typings';
|
|
4
|
-
import {
|
|
4
|
+
import type { Five } from '@realsee/five';
|
|
5
5
|
import { TagRender } from './TagRender';
|
|
6
6
|
import type { PartialObjectDeep } from '../../typings/typings';
|
|
7
7
|
export declare const pluginFlag: (name: string) => string;
|
|
@@ -28,8 +28,13 @@ declare class PanoTagPluginController extends TagRender {
|
|
|
28
28
|
load(data: Tags): Promise<void>;
|
|
29
29
|
/**
|
|
30
30
|
* @description 添加标签
|
|
31
|
+
* @param tag 标签或标签数组
|
|
32
|
+
* @param options 可选配置
|
|
33
|
+
* @param options.updateMaskUrl 是否更新 mask。若为 true 且该 panoIndex 已有 Mask 标签,仅更新其 maskUrl(不变 color、style),并添加新标签
|
|
31
34
|
*/
|
|
32
|
-
addTag(tag: Tag | Tag[]
|
|
35
|
+
addTag(tag: Tag | Tag[], options?: {
|
|
36
|
+
updateMaskUrl?: boolean;
|
|
37
|
+
}): Promise<void>;
|
|
33
38
|
/**
|
|
34
39
|
* @description 改变配置
|
|
35
40
|
*/
|
|
@@ -103,6 +108,19 @@ declare class PanoTagPluginController extends TagRender {
|
|
|
103
108
|
* @description 改变tag任意属性
|
|
104
109
|
*/
|
|
105
110
|
changeTagById<C extends TagContentType = TagContentType>(id: TagId, tag: PartialObjectDeep<Tag<C>>, deepMerge?: boolean): void;
|
|
111
|
+
/**
|
|
112
|
+
* @description 批量更新指定点位的 Mask 图
|
|
113
|
+
* @param maskUpdates 包含点位索引和对应 mask 的数组
|
|
114
|
+
* @example
|
|
115
|
+
* changeMask([
|
|
116
|
+
* { index: 0, mask: 'https://example.com/mask1.png' },
|
|
117
|
+
* { index: 1, mask: canvasElement }
|
|
118
|
+
* ])
|
|
119
|
+
*/
|
|
120
|
+
changeMask(maskUpdates: Array<{
|
|
121
|
+
index: number;
|
|
122
|
+
mask: string | HTMLCanvasElement;
|
|
123
|
+
}>): void;
|
|
106
124
|
/**
|
|
107
125
|
* @description 销毁tag
|
|
108
126
|
*/
|
|
@@ -166,6 +184,41 @@ declare class PanoTagPluginController extends TagRender {
|
|
|
166
184
|
* @returns 是否为有效的 ArrayPosition
|
|
167
185
|
*/
|
|
168
186
|
private isValidArrayPosition;
|
|
187
|
+
/**
|
|
188
|
+
* 更新当前点位的 Mask 标签
|
|
189
|
+
* Mask 标签仅在当前点位可见
|
|
190
|
+
*/
|
|
191
|
+
private updateMaskTagsForCurrentPano;
|
|
192
|
+
/**
|
|
193
|
+
* 获取所有 Mask 类型的标签
|
|
194
|
+
*/
|
|
195
|
+
get filterMaskTag(): (import("./Tag/BaseTag").BaseTag<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", import("..").StickType> & {
|
|
196
|
+
[key: string]: any;
|
|
197
|
+
})[];
|
|
198
|
+
/**
|
|
199
|
+
* 获取 MaskTag 性能统计信息(用于性能监控和调试)
|
|
200
|
+
* @returns 性能统计信息
|
|
201
|
+
*/
|
|
202
|
+
getMaskTagPerformanceStats(): {
|
|
203
|
+
totalMaskTags: number;
|
|
204
|
+
visibleMaskTags: number;
|
|
205
|
+
textureCache: {
|
|
206
|
+
totalCached: number;
|
|
207
|
+
totalRefCount: number;
|
|
208
|
+
estimatedMemoryMB: number;
|
|
209
|
+
cacheEntries: {
|
|
210
|
+
source: string;
|
|
211
|
+
refCount: number;
|
|
212
|
+
sizeMB: number;
|
|
213
|
+
}[];
|
|
214
|
+
};
|
|
215
|
+
currentPanoIndex: number;
|
|
216
|
+
};
|
|
217
|
+
/**
|
|
218
|
+
* 清理所有 MaskTag 纹理缓存(用于内存管理)
|
|
219
|
+
* 注意:这会释放所有纹理缓存,谨慎使用
|
|
220
|
+
*/
|
|
221
|
+
clearMaskTagCache(): void;
|
|
169
222
|
}
|
|
170
223
|
export default PanoTagPluginController;
|
|
171
224
|
export { PanoTagPluginController };
|
|
@@ -33,6 +33,15 @@ export type TagClickParams = {
|
|
|
33
33
|
} | {
|
|
34
34
|
target: 'TagPopoverContent';
|
|
35
35
|
tag: TagInstance;
|
|
36
|
+
} | {
|
|
37
|
+
target: 'TagBoxModel';
|
|
38
|
+
tag: TagInstance;
|
|
39
|
+
} | {
|
|
40
|
+
target: 'TagPolygonModel';
|
|
41
|
+
tag: TagInstance;
|
|
42
|
+
} | {
|
|
43
|
+
target: 'TagMaskModel';
|
|
44
|
+
tag: TagInstance;
|
|
36
45
|
});
|
|
37
46
|
export interface PluginEventMap extends BasePlugin.EventMap<State> {
|
|
38
47
|
loaded: () => void;
|
|
@@ -79,6 +88,7 @@ export type TagEvents<C extends TagContentType = TagContentType> = {
|
|
|
79
88
|
}) => void;
|
|
80
89
|
showPopover: () => void;
|
|
81
90
|
hidePopover: () => void;
|
|
91
|
+
positionChanged: (position: TagInstance<C>['position']) => void;
|
|
82
92
|
};
|
|
83
93
|
export interface TagCacheInterface {
|
|
84
94
|
visible?: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { State as FiveState } from '@realsee/five';
|
|
2
2
|
import type { TagConfig } from './TagConfig';
|
|
3
3
|
import type { ContentTypeMap, TagContentType } from './TagData';
|
|
4
|
-
import type { Position, TagId, StickType, TagStyle, ElementRenderer, TagConfigByKey, ContentTypeConfigKey } from './Utils';
|
|
4
|
+
import type { Position, TagId, StickType, TagStyle, ElementRenderer, TagConfigByKey, ContentTypeConfigKey, BoxPosition, PolygonPosition, MaskPosition } from './Utils';
|
|
5
5
|
import type { DeprecatedTagProperty } from '../../Archive/deprecated';
|
|
6
6
|
import type { LiteralUnion } from 'type-fest';
|
|
7
7
|
export interface Tags {
|
|
@@ -33,7 +33,7 @@ export type Tag<C extends TagContentType = TagContentType, S extends StickType =
|
|
|
33
33
|
*/
|
|
34
34
|
contentType: LiteralUnion<C, string>;
|
|
35
35
|
/** 点 */
|
|
36
|
-
position: S extends 'Plane' ? [Position, Position, Position, Position] : S extends '2DPoint' | '3DPoint' | 'Model' ? Position : Position | [Position, Position, Position, Position];
|
|
36
|
+
position: S extends 'Plane' ? [Position, Position, Position, Position] : S extends '2DPoint' | '3DPoint' | 'Model' ? Position : S extends '3DBox' ? BoxPosition : S extends 'Polygon' ? PolygonPosition : S extends 'Mask' ? MaskPosition : Position | [Position, Position, Position, Position];
|
|
37
37
|
/** 法向量 */
|
|
38
38
|
normal?: Position;
|
|
39
39
|
/** 自定义标签内容 */
|
|
@@ -52,8 +52,13 @@ export type Tag<C extends TagContentType = TagContentType, S extends StickType =
|
|
|
52
52
|
hoverEnabled?: boolean;
|
|
53
53
|
} & (S extends '3DPoint' ? {
|
|
54
54
|
normal: Position;
|
|
55
|
-
} : unknown) &
|
|
55
|
+
} : unknown) & // 三维标签需要法向量
|
|
56
|
+
(S extends 'Model' ? {
|
|
56
57
|
matrix: number[];
|
|
58
|
+
} : unknown) & // 模型标签需要模型
|
|
59
|
+
(S extends 'Mask' ? {
|
|
60
|
+
mask: string | HTMLCanvasElement;
|
|
61
|
+
color: [number, number, number] | number | string;
|
|
57
62
|
} : unknown) & {
|
|
58
63
|
[key: string]: any;
|
|
59
64
|
};
|
|
@@ -15,7 +15,34 @@ export interface MinMax {
|
|
|
15
15
|
min?: number;
|
|
16
16
|
max?: number;
|
|
17
17
|
}
|
|
18
|
-
export type StickType = '2DPoint' | '3DPoint' | 'Plane' | 'Model';
|
|
18
|
+
export type StickType = '2DPoint' | '3DPoint' | 'Plane' | 'Model' | '3DBox' | 'Polygon' | 'Mask';
|
|
19
|
+
/**
|
|
20
|
+
* 3DBox 位置定义
|
|
21
|
+
*/
|
|
22
|
+
export interface BoxPosition {
|
|
23
|
+
/** 起始点坐标 [x, y, z] */
|
|
24
|
+
start: ArrayPosition;
|
|
25
|
+
/** 结束点坐标 [x, y, z] */
|
|
26
|
+
end: ArrayPosition;
|
|
27
|
+
/** 旋转角度 [x, y, z](欧拉角) */
|
|
28
|
+
rotation: ArrayPosition;
|
|
29
|
+
}
|
|
30
|
+
/** 3DBox 标签 */
|
|
31
|
+
export type BoxTag<C extends TagContentType = TagContentType> = TagInstance<C, '3DBox'>;
|
|
32
|
+
/**
|
|
33
|
+
* Polygon 位置定义
|
|
34
|
+
* 多边形由多个点组成,至少需要 3 个点
|
|
35
|
+
*/
|
|
36
|
+
export type PolygonPosition = ArrayPosition[];
|
|
37
|
+
/** Polygon 标签 */
|
|
38
|
+
export type PolygonTag<C extends TagContentType = TagContentType> = TagInstance<C, 'Polygon'>;
|
|
39
|
+
/**
|
|
40
|
+
* Mask 位置定义
|
|
41
|
+
* Mask 标签的 position 由 mask 图和 color 计算得出,类型为普通的 Position
|
|
42
|
+
*/
|
|
43
|
+
export type MaskPosition = Position;
|
|
44
|
+
/** Mask 标签 */
|
|
45
|
+
export type MaskTag<C extends TagContentType = TagContentType> = TagInstance<C, 'Mask'>;
|
|
19
46
|
/**
|
|
20
47
|
* @description 标签 icon 动画配置
|
|
21
48
|
*/
|
|
@@ -67,6 +94,28 @@ export interface TagStyle {
|
|
|
67
94
|
*/
|
|
68
95
|
size?: 'S' | 'M' | 'L' | 'XL' | number;
|
|
69
96
|
} & TagIconUrl;
|
|
97
|
+
/** 3D Box 和Polygon样式 */
|
|
98
|
+
boxOrpolygon?: {
|
|
99
|
+
/** 填充颜色(十六进制) */
|
|
100
|
+
color?: number;
|
|
101
|
+
/** 填充透明度 0-1 */
|
|
102
|
+
opacity?: number;
|
|
103
|
+
/** 线条颜色(十六进制) */
|
|
104
|
+
lineColor?: number;
|
|
105
|
+
/** 线条宽度 */
|
|
106
|
+
lineWidth?: number;
|
|
107
|
+
};
|
|
108
|
+
/** Mask 标签样式 */
|
|
109
|
+
mask?: {
|
|
110
|
+
/** 高亮颜色(支持 RGB 数组、十六进制数字、#FFFFFF 格式字符串) */
|
|
111
|
+
color?: [number, number, number] | number | string;
|
|
112
|
+
/** 透明度 0-1,用于填充区域;描边区域始终完全不透明 */
|
|
113
|
+
opacity?: number;
|
|
114
|
+
/** 颜色匹配容差(归一化值 0-1,默认 0.001) */
|
|
115
|
+
tolerance?: number;
|
|
116
|
+
/** @deprecated 使用 color 代替 */
|
|
117
|
+
highlightColor?: [number, number, number] | number;
|
|
118
|
+
};
|
|
70
119
|
}
|
|
71
120
|
export type TagGLTFObject = GLTFObject & {
|
|
72
121
|
customID: number | string;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import type { TagContentType, TagInstance } from '../../typings';
|
|
2
2
|
import type { ModelTagInterface } from '../../controller/Tag/ModelTag';
|
|
3
3
|
import type { PlaneTagInterface } from '../../controller/Tag/PlaneTag';
|
|
4
|
+
import type { PolygonTagInterface } from '../../controller/Tag/PolygonTag';
|
|
5
|
+
import type { BoxTagInterface } from '../../controller/Tag/BoxTag';
|
|
6
|
+
import type { MaskTagInterface } from '../../controller/Tag/MaskTag';
|
|
4
7
|
export declare function isPlaneTag<T extends TagContentType>(tag: TagInstance<T>): tag is PlaneTagInterface<T>;
|
|
5
8
|
export declare function isPoint3DTag<T extends TagContentType>(tag: TagInstance<T>): tag is TagInstance<T, '3DPoint'>;
|
|
6
9
|
export declare function is3DTag<T extends TagContentType>(tag: TagInstance): tag is TagInstance<T, '3DPoint'> | TagInstance<T, 'Plane'>;
|
|
7
10
|
export declare function isMediaModelTag(tag: TagInstance): tag is ModelTagInterface<'MediaModel'>;
|
|
8
11
|
export declare function isModelTag(tag: TagInstance): tag is ModelTagInterface<'Model'>;
|
|
9
12
|
export declare function isMediaPlaneTag(tag: TagInstance): tag is PlaneTagInterface<'MediaModel'>;
|
|
13
|
+
export declare function isPolygonTag(tag: TagInstance): tag is PolygonTagInterface;
|
|
14
|
+
export declare function is3DBoxTag(tag: TagInstance): tag is BoxTagInterface;
|
|
15
|
+
export declare function isMaskTag(tag: TagInstance): tag is MaskTagInterface;
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import { Vector3 } from 'three';
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import type { Vector3 } from 'three';
|
|
2
|
+
import { Matrix4 } from 'three';
|
|
3
|
+
import type { TagInstance, BoxPosition } from '../typings';
|
|
4
|
+
/**
|
|
5
|
+
* 计算 BoxPosition 的8个角点
|
|
6
|
+
*/
|
|
7
|
+
export declare function getBoxCorners(boxPosition: BoxPosition, transform: Matrix4): Vector3[];
|
|
8
|
+
/**
|
|
9
|
+
* 应用 matrix 变换到点数组
|
|
10
|
+
*/
|
|
11
|
+
export declare function applyMatrixToPoints(points: Vector3[], matrix?: number[]): Vector3[];
|
|
12
|
+
export declare function getTagPosition(tag: TagInstance): Vector3 | [Vector3, Vector3, Vector3, Vector3] | Vector3[];
|
|
4
13
|
export declare function getTagCenterPosition(tag: TagInstance): Vector3;
|
|
@@ -36,6 +36,10 @@ export declare class LineMesh extends IObject3D implements RenderDomObjectType {
|
|
|
36
36
|
private paramsStyle;
|
|
37
37
|
private lastRenderDomItem;
|
|
38
38
|
private lastFOV;
|
|
39
|
+
private fiveListenersInited;
|
|
40
|
+
private fiveRef?;
|
|
41
|
+
private initFiveListeners;
|
|
42
|
+
private removeFiveListeners;
|
|
39
43
|
constructor(params?: Partial<LineMeshStyle & LineData>);
|
|
40
44
|
updateMatrixWorld(force?: boolean): void;
|
|
41
45
|
setPoints(points: AnyPositions): void;
|