bimatter-viewer-react 0.10.1 → 0.11.1
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/README.md +2 -0
- package/lib/Loaders/BmtConverter.d.ts +0 -1
- package/lib/Loaders/BmtLoader.d.ts +2 -0
- package/lib/Loaders/IFCLoader/IFCLoader.d.ts +1 -0
- package/lib/api/ViewerApi.d.ts +4 -0
- package/lib/assets/{BMTWorker-DH8i8hND.js → BMTWorker-4FHDYd-p.js} +1 -1
- package/lib/assets/{BmtConverterWorker-D2OaBWQg.js → BmtConverterWorker-Cq5tBdLt.js} +1 -1
- package/lib/index.js +3125 -2414
- package/lib/utils/NotesUtils/NotesUtils.d.ts +134 -0
- package/lib/utils/NotesUtils/index.d.ts +1 -0
- package/lib/workers/BMTWorker.d.ts +1 -0
- package/lib/workers/IFCWorker.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Vector3, type Camera, type Object3D, type Scene } from "three";
|
|
2
|
+
import { type CSSProperties, type ReactNode } from "react";
|
|
3
|
+
import type { ViewerModelRef } from "../../types";
|
|
4
|
+
export type ViewerNoteVector3Input = Vector3 | [number, number, number] | {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
z: number;
|
|
8
|
+
};
|
|
9
|
+
export type ViewerNoteSettings = {
|
|
10
|
+
render?: HTMLElement | ReactNode;
|
|
11
|
+
style?: CSSProperties;
|
|
12
|
+
};
|
|
13
|
+
export type ViewerCommentNote = {
|
|
14
|
+
containerOffset: {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
};
|
|
18
|
+
id: string;
|
|
19
|
+
point: Vector3;
|
|
20
|
+
settings?: ViewerNoteSettings;
|
|
21
|
+
text: string;
|
|
22
|
+
title: string;
|
|
23
|
+
};
|
|
24
|
+
export type ViewerMarkupCloudNote = {
|
|
25
|
+
id: string;
|
|
26
|
+
max: Vector3;
|
|
27
|
+
min: Vector3;
|
|
28
|
+
object: Object3D;
|
|
29
|
+
settings?: ViewerNoteSettings;
|
|
30
|
+
};
|
|
31
|
+
export type ViewerNotesApi = {
|
|
32
|
+
createComment: (point?: ViewerNoteVector3Input, title?: string, text?: string, settings?: ViewerNoteSettings) => string | null;
|
|
33
|
+
createMarkupCloud: (max?: ViewerNoteVector3Input, min?: ViewerNoteVector3Input, settings?: ViewerNoteSettings) => string | null;
|
|
34
|
+
deleteAllNotes: () => void;
|
|
35
|
+
deleteAllNotesFromMainView: () => void;
|
|
36
|
+
deleteAllNotesFromPlans: () => void;
|
|
37
|
+
getNodeModeActive: () => boolean;
|
|
38
|
+
getNoteModeActive: () => boolean;
|
|
39
|
+
setNodeModeActive: (active: boolean) => void;
|
|
40
|
+
setNoteModeActive: (active: boolean) => void;
|
|
41
|
+
toggleNodeMode: () => void;
|
|
42
|
+
toggleNoteMode: () => void;
|
|
43
|
+
};
|
|
44
|
+
export type ViewerNotesPointerApi = {
|
|
45
|
+
getDraftActive: () => boolean;
|
|
46
|
+
handlePointerDown: (event: PointerEvent) => boolean;
|
|
47
|
+
handlePointerMove: (event: PointerEvent) => boolean;
|
|
48
|
+
handlePointerUp: (event: PointerEvent) => boolean;
|
|
49
|
+
};
|
|
50
|
+
type NotesContext = {
|
|
51
|
+
camera: Camera;
|
|
52
|
+
domElement: HTMLCanvasElement;
|
|
53
|
+
is2DView?: boolean;
|
|
54
|
+
modelRef: ViewerModelRef;
|
|
55
|
+
onChange?: () => void;
|
|
56
|
+
scene: Scene;
|
|
57
|
+
};
|
|
58
|
+
export declare class NotesUtils {
|
|
59
|
+
private active;
|
|
60
|
+
private readonly cloudPlane;
|
|
61
|
+
private cloudStartPoint;
|
|
62
|
+
private comments;
|
|
63
|
+
private context;
|
|
64
|
+
private readonly clouds;
|
|
65
|
+
private draftMode;
|
|
66
|
+
private eventListenersActive;
|
|
67
|
+
private pointerDownState;
|
|
68
|
+
private previewCloud;
|
|
69
|
+
private readonly screenRay;
|
|
70
|
+
private readonly screenRayDirection;
|
|
71
|
+
private readonly screenPlanePoint;
|
|
72
|
+
private readonly raycaster;
|
|
73
|
+
private readonly root;
|
|
74
|
+
private readonly updateHtmlNotes;
|
|
75
|
+
constructor(context: NotesContext, updateHtmlNotes: () => void);
|
|
76
|
+
setContext(context: NotesContext): void;
|
|
77
|
+
getActive(): boolean;
|
|
78
|
+
getComments(): {
|
|
79
|
+
point: Vector3;
|
|
80
|
+
containerOffset: {
|
|
81
|
+
x: number;
|
|
82
|
+
y: number;
|
|
83
|
+
};
|
|
84
|
+
id: string;
|
|
85
|
+
settings?: ViewerNoteSettings;
|
|
86
|
+
text: string;
|
|
87
|
+
title: string;
|
|
88
|
+
}[];
|
|
89
|
+
setActive(active: boolean): void;
|
|
90
|
+
toggle(): void;
|
|
91
|
+
getDraftActive(): boolean;
|
|
92
|
+
handlePointerDown(event: PointerEvent): boolean;
|
|
93
|
+
handlePointerMove(event: PointerEvent): boolean;
|
|
94
|
+
handlePointerUp(event: PointerEvent): boolean;
|
|
95
|
+
createMarkupCloud(max?: ViewerNoteVector3Input, min?: ViewerNoteVector3Input, settings?: ViewerNoteSettings): string | null;
|
|
96
|
+
createComment(point?: ViewerNoteVector3Input, title?: string, text?: string, settings?: ViewerNoteSettings): string | null;
|
|
97
|
+
setCommentContent(id: string, title: string, text: string): void;
|
|
98
|
+
setCommentContainerOffset(id: string, offset: {
|
|
99
|
+
x: number;
|
|
100
|
+
y: number;
|
|
101
|
+
}): void;
|
|
102
|
+
deleteAll(): void;
|
|
103
|
+
dispose(): void;
|
|
104
|
+
startMarkupCloudDrawing(): void;
|
|
105
|
+
startCommentDrawing(): void;
|
|
106
|
+
private canCreateMarkupCloud;
|
|
107
|
+
private getDefaultMarkupCloudBounds;
|
|
108
|
+
private getDefaultCommentPoint;
|
|
109
|
+
private getModelCenter;
|
|
110
|
+
private getModelSize;
|
|
111
|
+
private invalidate;
|
|
112
|
+
private addEventListeners;
|
|
113
|
+
private removeEventListeners;
|
|
114
|
+
private syncEventListeners;
|
|
115
|
+
private cancelDraft;
|
|
116
|
+
private removePreviewCloud;
|
|
117
|
+
private setPreviewCloud;
|
|
118
|
+
private getModelHit;
|
|
119
|
+
private getScreenPlanePoint;
|
|
120
|
+
private setDraftPlaneFromView;
|
|
121
|
+
private placeDraftPoint;
|
|
122
|
+
private onPointerDown;
|
|
123
|
+
private onPointerMove;
|
|
124
|
+
private onPointerUp;
|
|
125
|
+
private onPointerCancel;
|
|
126
|
+
private onKeyDown;
|
|
127
|
+
}
|
|
128
|
+
export declare function useNotesUtils(modelRef: ViewerModelRef, options?: {
|
|
129
|
+
is2DView?: boolean;
|
|
130
|
+
onChange?: () => void;
|
|
131
|
+
}): ViewerNotesApi & {
|
|
132
|
+
layer: ReactNode;
|
|
133
|
+
} & ViewerNotesPointerApi;
|
|
134
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NotesUtils, useNotesUtils, type ViewerCommentNote, type ViewerMarkupCloudNote, type ViewerNotesApi, type ViewerNoteSettings, type ViewerNoteVector3Input, } from "./NotesUtils";
|