qg3dviewer 1.0.0
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/LICENSE +21 -0
- package/README.md +94 -0
- package/dist/controls/CameraControls.d.ts +14 -0
- package/dist/controls/SetupCameraControls.d.ts +35 -0
- package/dist/controls/SetupFlying.d.ts +2 -0
- package/dist/convert/PlyToSplatConverter.d.ts +1 -0
- package/dist/convert/SplatToPlyConverter.d.ts +1 -0
- package/dist/events/EventConstants.d.ts +438 -0
- package/dist/events/EventListener.d.ts +2 -0
- package/dist/events/Events.d.ts +12 -0
- package/dist/events/SetupGlobalEV.d.ts +2 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.es.js +6817 -0
- package/dist/index.umd.js +747 -0
- package/dist/internal/Index.d.ts +1 -0
- package/dist/internal/WebglVars.d.ts +31 -0
- package/dist/mapviewer/Reall3dMapViewer.d.ts +59 -0
- package/dist/mapviewer/Reall3dMapViewerOptions.d.ts +34 -0
- package/dist/mapviewer/events/MapEventListener.d.ts +2 -0
- package/dist/mapviewer/tween/SetupTween.d.ts +2 -0
- package/dist/mapviewer/utils/MapUtils.d.ts +6 -0
- package/dist/mapviewer/warpsplatmesh/WarpSplatMesh.d.ts +23 -0
- package/dist/meshs/boundbox/BoundBox.d.ts +7 -0
- package/dist/meshs/controlplane/ArrowHelper.d.ts +12 -0
- package/dist/meshs/controlplane/SetupControlPlane.d.ts +2 -0
- package/dist/meshs/focusmaker/SetupFocusMarker.d.ts +2 -0
- package/dist/meshs/mark/MarkCirclePlan.d.ts +36 -0
- package/dist/meshs/mark/MarkDistanceLine.d.ts +38 -0
- package/dist/meshs/mark/MarkMulitPlans.d.ts +40 -0
- package/dist/meshs/mark/MarkMultiLines.d.ts +37 -0
- package/dist/meshs/mark/MarkSinglePoint.d.ts +23 -0
- package/dist/meshs/mark/SetupMark.d.ts +2 -0
- package/dist/meshs/mark/data/MarkData.d.ts +6 -0
- package/dist/meshs/mark/data/MarkDataCirclePlan.d.ts +34 -0
- package/dist/meshs/mark/data/MarkDataDistanceLine.d.ts +34 -0
- package/dist/meshs/mark/data/MarkDataMultiLines.d.ts +32 -0
- package/dist/meshs/mark/data/MarkDataMultiPlans.d.ts +36 -0
- package/dist/meshs/mark/data/MarkDataSinglePoint.d.ts +24 -0
- package/dist/meshs/splatmesh/SetupSplatMesh.d.ts +2 -0
- package/dist/meshs/splatmesh/SplatMesh.d.ts +38 -0
- package/dist/meshs/splatmesh/SplatMeshOptions.d.ts +106 -0
- package/dist/modeldata/ModelData.d.ts +205 -0
- package/dist/modeldata/ModelOptions.d.ts +17 -0
- package/dist/modeldata/SplatTexdata.d.ts +40 -0
- package/dist/modeldata/SplatTexdataManager.d.ts +5 -0
- package/dist/modeldata/loaders/FileLoader.d.ts +2 -0
- package/dist/modeldata/loaders/PlyLoader.d.ts +5 -0
- package/dist/modeldata/loaders/SogLoader.d.ts +2 -0
- package/dist/modeldata/loaders/SplatLoader.d.ts +2 -0
- package/dist/modeldata/loaders/SpxLoader.d.ts +2 -0
- package/dist/modeldata/loaders/SpzLoader.d.ts +2 -0
- package/dist/modeldata/text/SetupGaussianText.d.ts +2 -0
- package/dist/modeldata/wasm/WasmParser.d.ts +19 -0
- package/dist/raycaster/SetupRaycaster.d.ts +2 -0
- package/dist/sorter/SetupSorter.d.ts +2 -0
- package/dist/sorter/Sorter.d.ts +1 -0
- package/dist/tools/brush-selection.d.ts +10 -0
- package/dist/tools/lasso-selection.d.ts +10 -0
- package/dist/tools/polygon-selection.d.ts +10 -0
- package/dist/tools/rect-selection.d.ts +8 -0
- package/dist/tools/tool-manager.d.ts +15 -0
- package/dist/utils/CommonUtils.d.ts +171 -0
- package/dist/utils/ViewerUtils.d.ts +10 -0
- package/dist/utils/consts/GlobalConstants.d.ts +62 -0
- package/dist/utils/consts/Index.d.ts +2 -0
- package/dist/utils/consts/WkConstants.d.ts +76 -0
- package/dist/viewer/Reall3dViewer.d.ts +57 -0
- package/dist/viewer/Reall3dViewerOptions.d.ts +174 -0
- package/package.json +50 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Renderer, Scene } from 'three';
|
|
2
|
+
import { Events } from '../../events/Events';
|
|
3
|
+
import { OrbitControls } from 'three/examples/jsm/Addons.js';
|
|
4
|
+
/**
|
|
5
|
+
* Splat mesh configuration options
|
|
6
|
+
*/
|
|
7
|
+
export interface SplatMeshOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Name
|
|
10
|
+
*/
|
|
11
|
+
name?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Renderer instance to be used
|
|
14
|
+
*/
|
|
15
|
+
renderer: Renderer;
|
|
16
|
+
/**
|
|
17
|
+
* Scene instance to be used
|
|
18
|
+
*/
|
|
19
|
+
scene: Scene;
|
|
20
|
+
/**
|
|
21
|
+
* Camera controls
|
|
22
|
+
*/
|
|
23
|
+
controls?: OrbitControls;
|
|
24
|
+
/**
|
|
25
|
+
* Renderer event manager
|
|
26
|
+
*/
|
|
27
|
+
viewerEvents?: Events;
|
|
28
|
+
/**
|
|
29
|
+
* Debug mode flag; defaults to false in production
|
|
30
|
+
*/
|
|
31
|
+
debugMode?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Large-scene mode flag; cannot be changed after initialization
|
|
34
|
+
*/
|
|
35
|
+
bigSceneMode?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Point-cloud rendering mode; defaults to true,
|
|
38
|
+
* Can be updated dynamically via viewer.options()
|
|
39
|
+
*/
|
|
40
|
+
pointcloudMode?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Maximum number of Gaussians to render on mobile devices,
|
|
43
|
+
* Can be updated dynamically via viewer.options()
|
|
44
|
+
*/
|
|
45
|
+
maxRenderCountOfMobile?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Maximum number of Gaussians to render on PC,
|
|
48
|
+
* Can be updated dynamically via viewer.options()
|
|
49
|
+
*/
|
|
50
|
+
maxRenderCountOfPc?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Brightness scale factor; defaults to 1.0
|
|
53
|
+
*/
|
|
54
|
+
lightFactor?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Whether to display a watermark; defaults to true
|
|
57
|
+
*/
|
|
58
|
+
showWatermark?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Spherical harmonics rendering degree; defaults to 0
|
|
61
|
+
*/
|
|
62
|
+
shDegree?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Enable depth testing; defaults to true
|
|
65
|
+
*/
|
|
66
|
+
depthTest?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Render quality level (1~9, default to 5)
|
|
69
|
+
*/
|
|
70
|
+
qualityLevel?: number;
|
|
71
|
+
/**
|
|
72
|
+
* Sort type (default to SortTypes.Default)
|
|
73
|
+
*/
|
|
74
|
+
sortType?: number;
|
|
75
|
+
/**
|
|
76
|
+
* map mode, defaults to false
|
|
77
|
+
*/
|
|
78
|
+
mapMode?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* disable transition effect on load; defaults to false
|
|
81
|
+
*/
|
|
82
|
+
disableTransitionEffectOnLoad?: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* transition effect type; defaults to ModelCenterCirccle
|
|
85
|
+
*/
|
|
86
|
+
transitionEffect?: TransitionEffects;
|
|
87
|
+
/**
|
|
88
|
+
* 最小可渲染直径像素
|
|
89
|
+
*/
|
|
90
|
+
minPixelDiameter?: number;
|
|
91
|
+
/**
|
|
92
|
+
* 最大直径像素
|
|
93
|
+
*/
|
|
94
|
+
maxPixelDiameter?: number;
|
|
95
|
+
/**
|
|
96
|
+
* 最小可渲染透明度
|
|
97
|
+
*/
|
|
98
|
+
minAlpha?: number;
|
|
99
|
+
}
|
|
100
|
+
/** 过渡效果 */
|
|
101
|
+
export declare enum TransitionEffects {
|
|
102
|
+
ModelCenterCirccle = 1,
|
|
103
|
+
ScreenCenterCircle = 2,
|
|
104
|
+
ScreenMiddleToLeftRight = 3,
|
|
105
|
+
ScreenMiddleToTopBottom = 4
|
|
106
|
+
}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { Matrix4, Vector3 } from 'three';
|
|
2
|
+
import { CameraInfo } from '../controls/SetupCameraControls';
|
|
3
|
+
import { ModelOptions } from './ModelOptions';
|
|
4
|
+
/**
|
|
5
|
+
* SPX file header information
|
|
6
|
+
*/
|
|
7
|
+
export declare class SpxHeader {
|
|
8
|
+
Fixed: string;
|
|
9
|
+
Version: number;
|
|
10
|
+
SplatCount: number;
|
|
11
|
+
MinX: number;
|
|
12
|
+
MaxX: number;
|
|
13
|
+
MinY: number;
|
|
14
|
+
MaxY: number;
|
|
15
|
+
MinZ: number;
|
|
16
|
+
MaxZ: number;
|
|
17
|
+
MinTopY: number;
|
|
18
|
+
MaxTopY: number;
|
|
19
|
+
CreateDate: number;
|
|
20
|
+
CreaterId: number;
|
|
21
|
+
ExclusiveId: number;
|
|
22
|
+
ShDegree: number;
|
|
23
|
+
Flag1: number;
|
|
24
|
+
Flag2: number;
|
|
25
|
+
Flag3: number;
|
|
26
|
+
Reserve1: number;
|
|
27
|
+
Reserve2: number;
|
|
28
|
+
Comment: string;
|
|
29
|
+
HashCheck: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Splat model
|
|
33
|
+
*/
|
|
34
|
+
export declare class SplatModel {
|
|
35
|
+
/** Model options */
|
|
36
|
+
readonly opts: ModelOptions;
|
|
37
|
+
/** File size (bytes) */
|
|
38
|
+
fileSize: number;
|
|
39
|
+
/** Downloaded size (bytes) */
|
|
40
|
+
downloadSize: number;
|
|
41
|
+
/** Current model status */
|
|
42
|
+
status: ModelStatus;
|
|
43
|
+
/** Raw model data */
|
|
44
|
+
splatData: Uint8Array;
|
|
45
|
+
/** Watermark data */
|
|
46
|
+
watermarkData: Uint8Array;
|
|
47
|
+
/** Number of Gaussians in the model */
|
|
48
|
+
dataSplatCount: number;
|
|
49
|
+
/** Number of watermark Gaussians */
|
|
50
|
+
watermarkCount: number;
|
|
51
|
+
/** Spherical harmonics (level 1 or 1+2) */
|
|
52
|
+
sh12Data: Uint8Array[];
|
|
53
|
+
/** Spherical harmonics (level 3 only) */
|
|
54
|
+
sh3Data: Uint8Array[];
|
|
55
|
+
/** Downloaded SH (level 1 or 1+2) count */
|
|
56
|
+
sh12Count: number;
|
|
57
|
+
/** Downloaded SH (level 3 only) count */
|
|
58
|
+
sh3Count: number;
|
|
59
|
+
/** Byte length of a single Gaussian record */
|
|
60
|
+
rowLength: number;
|
|
61
|
+
/** Total Gaussian count in the model */
|
|
62
|
+
modelSplatCount: number;
|
|
63
|
+
/** Downloaded Gaussian count */
|
|
64
|
+
downloadSplatCount: number;
|
|
65
|
+
/** Render-ready Gaussian count (dynamic for large scenes) */
|
|
66
|
+
renderSplatCount: number;
|
|
67
|
+
/** Abort controller for fetch cancellation */
|
|
68
|
+
abortController: AbortController;
|
|
69
|
+
/** Header info for .spx format */
|
|
70
|
+
header: SpxHeader;
|
|
71
|
+
spzVersion: number;
|
|
72
|
+
sogVersion: number;
|
|
73
|
+
CompressionRatio: string;
|
|
74
|
+
dataShDegree: number;
|
|
75
|
+
/** Model metadata */
|
|
76
|
+
meta: MetaData;
|
|
77
|
+
/** Map of cut data for large scenes */
|
|
78
|
+
map: Map<string, CutData>;
|
|
79
|
+
/** Bounding box extents */
|
|
80
|
+
minX: number;
|
|
81
|
+
maxX: number;
|
|
82
|
+
minY: number;
|
|
83
|
+
maxY: number;
|
|
84
|
+
minZ: number;
|
|
85
|
+
maxZ: number;
|
|
86
|
+
/** Highest Y coordinate */
|
|
87
|
+
topY: number;
|
|
88
|
+
currentRadius: number;
|
|
89
|
+
aabbCenter: Vector3;
|
|
90
|
+
/** Bounding sphere radius for .spx */
|
|
91
|
+
maxRadius: number;
|
|
92
|
+
metaMatrix: Matrix4;
|
|
93
|
+
/** Flags */
|
|
94
|
+
notifyFetchStopDone: boolean;
|
|
95
|
+
smallSceneUploadDone: boolean;
|
|
96
|
+
textWatermarkVersion: number;
|
|
97
|
+
lastTextWatermarkVersion: number;
|
|
98
|
+
fetchLimit: number;
|
|
99
|
+
/** Active points data */
|
|
100
|
+
activePoints: any;
|
|
101
|
+
constructor(opts: ModelOptions, meta?: MetaData);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Data chunk used in large-scene tiling
|
|
105
|
+
*/
|
|
106
|
+
export interface CutData {
|
|
107
|
+
/** Number of Gaussians in this chunk */
|
|
108
|
+
splatCount?: number;
|
|
109
|
+
/** Raw data of this chunk */
|
|
110
|
+
splatData?: Uint8Array;
|
|
111
|
+
minX?: number;
|
|
112
|
+
maxX?: number;
|
|
113
|
+
minY?: number;
|
|
114
|
+
maxY?: number;
|
|
115
|
+
minZ?: number;
|
|
116
|
+
maxZ?: number;
|
|
117
|
+
center?: Vector3;
|
|
118
|
+
radius?: number;
|
|
119
|
+
/** Current renderable points (computed at runtime) */
|
|
120
|
+
currentRenderCnt?: number;
|
|
121
|
+
/** Distance to camera (computed at runtime) */
|
|
122
|
+
distance?: number;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Model status
|
|
126
|
+
*/
|
|
127
|
+
export declare enum ModelStatus {
|
|
128
|
+
/** Ready */
|
|
129
|
+
FetchReady = 0,
|
|
130
|
+
/** In progress */
|
|
131
|
+
Fetching = 1,
|
|
132
|
+
/** Completed successfully */
|
|
133
|
+
FetchDone = 2,
|
|
134
|
+
/** Interrupted during request */
|
|
135
|
+
FetchAborted = 3,
|
|
136
|
+
/** Request failed */
|
|
137
|
+
FetchFailed = 4,
|
|
138
|
+
/** Invalid model format or data */
|
|
139
|
+
Invalid = 5
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Metadata
|
|
143
|
+
*/
|
|
144
|
+
export interface MetaData {
|
|
145
|
+
/** Name */
|
|
146
|
+
name?: string;
|
|
147
|
+
/** Version */
|
|
148
|
+
version?: string;
|
|
149
|
+
/** Update date (YYYYMMDD) */
|
|
150
|
+
updateDate?: number;
|
|
151
|
+
/** Enable auto-rotation */
|
|
152
|
+
autoRotate?: boolean;
|
|
153
|
+
/** Enable debug mode */
|
|
154
|
+
debugMode?: boolean;
|
|
155
|
+
/** Enable point-cloud rendering */
|
|
156
|
+
pointcloudMode?: boolean;
|
|
157
|
+
/** Maximum render count for mobile */
|
|
158
|
+
maxRenderCountOfMobile?: number;
|
|
159
|
+
/** Maximum render count for PC */
|
|
160
|
+
maxRenderCountOfPc?: number;
|
|
161
|
+
/** Maximum download count for mobile splats */
|
|
162
|
+
mobileDownloadLimitSplatCount?: number;
|
|
163
|
+
/** Maximum download count for PC splats */
|
|
164
|
+
pcDownloadLimitSplatCount?: number;
|
|
165
|
+
/** Meter scale factor */
|
|
166
|
+
meterScale?: number;
|
|
167
|
+
/** Text watermark */
|
|
168
|
+
watermark?: string;
|
|
169
|
+
/** Display watermark */
|
|
170
|
+
showWatermark?: boolean;
|
|
171
|
+
/** Display bounding box */
|
|
172
|
+
showBoundBox?: boolean;
|
|
173
|
+
/** Camera parameters */
|
|
174
|
+
cameraInfo?: CameraInfo;
|
|
175
|
+
/** Annotations */
|
|
176
|
+
marks?: any[];
|
|
177
|
+
/** Fly-through camera positions */
|
|
178
|
+
flyPositions?: number[];
|
|
179
|
+
/** Fly-through camera look-at points */
|
|
180
|
+
flyTargets?: number[];
|
|
181
|
+
/** render quality level */
|
|
182
|
+
qualityLevel?: number;
|
|
183
|
+
/** sort type */
|
|
184
|
+
sortType?: number;
|
|
185
|
+
/** depth near rate */
|
|
186
|
+
depthNearRate?: number;
|
|
187
|
+
/** depth near value */
|
|
188
|
+
depthNearValue?: number;
|
|
189
|
+
/** 最小可渲染直径像素 */
|
|
190
|
+
minPixelDiameter?: number;
|
|
191
|
+
/** 最大直径像素 */
|
|
192
|
+
maxPixelDiameter?: number;
|
|
193
|
+
/** 最小可渲染透明度 */
|
|
194
|
+
minAlpha?: number;
|
|
195
|
+
/** Enable particle loading effect (small scenes) */
|
|
196
|
+
particleMode?: boolean;
|
|
197
|
+
/** Auto-cut count */
|
|
198
|
+
autoCut?: number;
|
|
199
|
+
/** Transformation matrix */
|
|
200
|
+
transform?: number[];
|
|
201
|
+
/** Geolocation (EPSG:4326 WGS 84) */
|
|
202
|
+
WGS84?: number[];
|
|
203
|
+
/** Model URL */
|
|
204
|
+
url?: string;
|
|
205
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gaussian Model Options
|
|
3
|
+
*/
|
|
4
|
+
export interface ModelOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Model URL
|
|
7
|
+
*/
|
|
8
|
+
url: string;
|
|
9
|
+
/**
|
|
10
|
+
* Model format (ply | splat | spx | spz | sog | obj), auto-detected by default
|
|
11
|
+
*/
|
|
12
|
+
format?: 'ply' | 'splat' | 'spx' | 'spz' | 'sog' | 'obj';
|
|
13
|
+
/**
|
|
14
|
+
* Whether to force re-download
|
|
15
|
+
*/
|
|
16
|
+
fetchReload?: boolean;
|
|
17
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 纹理
|
|
3
|
+
*/
|
|
4
|
+
interface SplatTexdata {
|
|
5
|
+
/** 索引(0 | 1) */
|
|
6
|
+
index: number;
|
|
7
|
+
/** 纹理版本(毫秒时间戳) */
|
|
8
|
+
version?: number;
|
|
9
|
+
/** 纹理数据 */
|
|
10
|
+
txdata?: Uint32Array;
|
|
11
|
+
/** 坐标数据 */
|
|
12
|
+
xyz?: Float32Array;
|
|
13
|
+
/** 纹理数据就绪标志 */
|
|
14
|
+
textureReady?: boolean;
|
|
15
|
+
/** 纹理数据就绪时间点 */
|
|
16
|
+
textureReadyTime?: number;
|
|
17
|
+
/** 是否渲染中的活动状态 */
|
|
18
|
+
active?: boolean;
|
|
19
|
+
activeTime?: number;
|
|
20
|
+
/** 包围盒极限点 */
|
|
21
|
+
minX?: number;
|
|
22
|
+
/** 包围盒极限点 */
|
|
23
|
+
maxX?: number;
|
|
24
|
+
/** 包围盒极限点 */
|
|
25
|
+
minY?: number;
|
|
26
|
+
/** 包围盒极限点 */
|
|
27
|
+
maxY?: number;
|
|
28
|
+
/** 包围盒极限点 */
|
|
29
|
+
minZ?: number;
|
|
30
|
+
/** 包围盒极限点 */
|
|
31
|
+
maxZ?: number;
|
|
32
|
+
/** 待渲染的Splat数量 */
|
|
33
|
+
renderSplatCount?: number;
|
|
34
|
+
/** 可见且可用的Splat数量 */
|
|
35
|
+
visibleSplatCount?: number;
|
|
36
|
+
/** 所有处理中的模型Splat数量合计 */
|
|
37
|
+
modelSplatCount?: number;
|
|
38
|
+
/** 模型数据中的水印数量 */
|
|
39
|
+
watermarkCount?: number;
|
|
40
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SpxHeader } from '../ModelData';
|
|
2
|
+
export declare function parseSpxHeader(header: Uint8Array): Promise<SpxHeader>;
|
|
3
|
+
interface SpxBlockResult {
|
|
4
|
+
splatCount: number;
|
|
5
|
+
blockFormat: number;
|
|
6
|
+
datas?: Uint8Array;
|
|
7
|
+
isSplat?: boolean;
|
|
8
|
+
isSh?: boolean;
|
|
9
|
+
isSh1?: boolean;
|
|
10
|
+
isSh2?: boolean;
|
|
11
|
+
isSh3?: boolean;
|
|
12
|
+
isSh23?: boolean;
|
|
13
|
+
dataSh3?: Uint8Array;
|
|
14
|
+
success: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function parseSpxBlockData(data: Uint8Array, header?: SpxHeader): Promise<SpxBlockResult>;
|
|
17
|
+
export declare function parseSplatToTexdata(data: Uint8Array, splatCount: number): Promise<Uint8Array>;
|
|
18
|
+
export declare function parseWordToTexdata(x: number, y0z: number, isY?: boolean, isNgativeY?: boolean): Promise<Uint8Array>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Events } from '../events/Events';
|
|
2
|
+
declare class BrushSelection {
|
|
3
|
+
activate: () => void;
|
|
4
|
+
deactivate: () => void;
|
|
5
|
+
constructor(events: Events, parent: HTMLElement, mask: {
|
|
6
|
+
canvas: HTMLCanvasElement;
|
|
7
|
+
context: CanvasRenderingContext2D;
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
export { BrushSelection };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Events } from '../events/Events';
|
|
2
|
+
declare class LassoSelection {
|
|
3
|
+
activate: () => void;
|
|
4
|
+
deactivate: () => void;
|
|
5
|
+
constructor(events: Events, parent: HTMLElement, mask: {
|
|
6
|
+
canvas: HTMLCanvasElement;
|
|
7
|
+
context: CanvasRenderingContext2D;
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
export { LassoSelection };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Events } from '../events/Events';
|
|
2
|
+
declare class PolygonSelection {
|
|
3
|
+
activate: () => void;
|
|
4
|
+
deactivate: () => void;
|
|
5
|
+
constructor(events: Events, parent: HTMLElement, mask: {
|
|
6
|
+
canvas: HTMLCanvasElement;
|
|
7
|
+
context: CanvasRenderingContext2D;
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
export { PolygonSelection };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Events } from '../events/Events';
|
|
2
|
+
interface Tool {
|
|
3
|
+
activate: () => void;
|
|
4
|
+
deactivate: () => void;
|
|
5
|
+
}
|
|
6
|
+
declare class ToolManager {
|
|
7
|
+
tools: Map<string, Tool>;
|
|
8
|
+
events: Events;
|
|
9
|
+
active: string | null;
|
|
10
|
+
constructor(events: Events);
|
|
11
|
+
register(name: string, tool: Tool): void;
|
|
12
|
+
get(toolName: string): Tool;
|
|
13
|
+
activate(toolName: string | null): void;
|
|
14
|
+
}
|
|
15
|
+
export { ToolManager };
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { Audio } from 'three';
|
|
2
|
+
import { Events } from '../events/Events';
|
|
3
|
+
import { SplatMeshOptions } from '../meshs/splatmesh/SplatMeshOptions';
|
|
4
|
+
export declare function setupCommonUtils(events: Events): void;
|
|
5
|
+
export declare const shaderChunk: {
|
|
6
|
+
alphahash_fragment: string;
|
|
7
|
+
alphahash_pars_fragment: string;
|
|
8
|
+
alphamap_fragment: string;
|
|
9
|
+
alphamap_pars_fragment: string;
|
|
10
|
+
alphatest_fragment: string;
|
|
11
|
+
alphatest_pars_fragment: string;
|
|
12
|
+
aomap_fragment: string;
|
|
13
|
+
aomap_pars_fragment: string;
|
|
14
|
+
batching_pars_vertex: string;
|
|
15
|
+
begin_vertex: string;
|
|
16
|
+
beginnormal_vertex: string;
|
|
17
|
+
bsdfs: string;
|
|
18
|
+
iridescence_fragment: string;
|
|
19
|
+
bumpmap_pars_fragment: string;
|
|
20
|
+
clipping_planes_fragment: string;
|
|
21
|
+
clipping_planes_pars_fragment: string;
|
|
22
|
+
clipping_planes_pars_vertex: string;
|
|
23
|
+
clipping_planes_vertex: string;
|
|
24
|
+
color_fragment: string;
|
|
25
|
+
color_pars_fragment: string;
|
|
26
|
+
color_pars_vertex: string;
|
|
27
|
+
color_vertex: string;
|
|
28
|
+
common: string;
|
|
29
|
+
cube_uv_reflection_fragment: string;
|
|
30
|
+
defaultnormal_vertex: string;
|
|
31
|
+
displacementmap_pars_vertex: string;
|
|
32
|
+
displacementmap_vertex: string;
|
|
33
|
+
emissivemap_fragment: string;
|
|
34
|
+
emissivemap_pars_fragment: string;
|
|
35
|
+
colorspace_fragment: string;
|
|
36
|
+
colorspace_pars_fragment: string;
|
|
37
|
+
envmap_fragment: string;
|
|
38
|
+
envmap_common_pars_fragment: string;
|
|
39
|
+
envmap_pars_fragment: string;
|
|
40
|
+
envmap_pars_vertex: string;
|
|
41
|
+
envmap_physical_pars_fragment: string;
|
|
42
|
+
envmap_vertex: string;
|
|
43
|
+
fog_vertex: string;
|
|
44
|
+
fog_pars_vertex: string;
|
|
45
|
+
fog_fragment: string;
|
|
46
|
+
fog_pars_fragment: string;
|
|
47
|
+
gradientmap_pars_fragment: string;
|
|
48
|
+
lightmap_pars_fragment: string;
|
|
49
|
+
lights_lambert_fragment: string;
|
|
50
|
+
lights_lambert_pars_fragment: string;
|
|
51
|
+
lights_pars_begin: string;
|
|
52
|
+
lights_toon_fragment: string;
|
|
53
|
+
lights_toon_pars_fragment: string;
|
|
54
|
+
lights_phong_fragment: string;
|
|
55
|
+
lights_phong_pars_fragment: string;
|
|
56
|
+
lights_physical_fragment: string;
|
|
57
|
+
lights_physical_pars_fragment: string;
|
|
58
|
+
lights_fragment_begin: string;
|
|
59
|
+
lights_fragment_maps: string;
|
|
60
|
+
lights_fragment_end: string;
|
|
61
|
+
logdepthbuf_fragment: string;
|
|
62
|
+
logdepthbuf_pars_fragment: string;
|
|
63
|
+
logdepthbuf_pars_vertex: string;
|
|
64
|
+
logdepthbuf_vertex: string;
|
|
65
|
+
map_fragment: string;
|
|
66
|
+
map_pars_fragment: string;
|
|
67
|
+
map_particle_fragment: string;
|
|
68
|
+
map_particle_pars_fragment: string;
|
|
69
|
+
metalnessmap_fragment: string;
|
|
70
|
+
metalnessmap_pars_fragment: string;
|
|
71
|
+
morphcolor_vertex: string;
|
|
72
|
+
morphnormal_vertex: string;
|
|
73
|
+
morphtarget_pars_vertex: string;
|
|
74
|
+
morphtarget_vertex: string;
|
|
75
|
+
normal_fragment_begin: string;
|
|
76
|
+
normal_fragment_maps: string;
|
|
77
|
+
normal_pars_fragment: string;
|
|
78
|
+
normal_pars_vertex: string;
|
|
79
|
+
normal_vertex: string;
|
|
80
|
+
normalmap_pars_fragment: string;
|
|
81
|
+
clearcoat_normal_fragment_begin: string;
|
|
82
|
+
clearcoat_normal_fragment_maps: string;
|
|
83
|
+
clearcoat_pars_fragment: string;
|
|
84
|
+
iridescence_pars_fragment: string;
|
|
85
|
+
opaque_fragment: string;
|
|
86
|
+
packing: string;
|
|
87
|
+
premultiplied_alpha_fragment: string;
|
|
88
|
+
project_vertex: string;
|
|
89
|
+
dithering_fragment: string;
|
|
90
|
+
dithering_pars_fragment: string;
|
|
91
|
+
roughnessmap_fragment: string;
|
|
92
|
+
roughnessmap_pars_fragment: string;
|
|
93
|
+
shadowmap_pars_fragment: string;
|
|
94
|
+
shadowmap_pars_vertex: string;
|
|
95
|
+
shadowmap_vertex: string;
|
|
96
|
+
shadowmask_pars_fragment: string;
|
|
97
|
+
skinbase_vertex: string;
|
|
98
|
+
skinning_pars_vertex: string;
|
|
99
|
+
skinning_vertex: string;
|
|
100
|
+
skinnormal_vertex: string;
|
|
101
|
+
specularmap_fragment: string;
|
|
102
|
+
specularmap_pars_fragment: string;
|
|
103
|
+
tonemapping_fragment: string;
|
|
104
|
+
tonemapping_pars_fragment: string;
|
|
105
|
+
transmission_fragment: string;
|
|
106
|
+
transmission_pars_fragment: string;
|
|
107
|
+
uv_pars_fragment: string;
|
|
108
|
+
uv_pars_vertex: string;
|
|
109
|
+
uv_vertex: string;
|
|
110
|
+
worldpos_vertex: string;
|
|
111
|
+
background_vert: string;
|
|
112
|
+
background_frag: string;
|
|
113
|
+
backgroundCube_vert: string;
|
|
114
|
+
backgroundCube_frag: string;
|
|
115
|
+
cube_vert: string;
|
|
116
|
+
cube_frag: string;
|
|
117
|
+
depth_vert: string;
|
|
118
|
+
depth_frag: string;
|
|
119
|
+
distanceRGBA_vert: string;
|
|
120
|
+
distanceRGBA_frag: string;
|
|
121
|
+
equirect_vert: string;
|
|
122
|
+
equirect_frag: string;
|
|
123
|
+
linedashed_vert: string;
|
|
124
|
+
linedashed_frag: string;
|
|
125
|
+
meshbasic_vert: string;
|
|
126
|
+
meshbasic_frag: string;
|
|
127
|
+
meshlambert_vert: string;
|
|
128
|
+
meshlambert_frag: string;
|
|
129
|
+
meshmatcap_vert: string;
|
|
130
|
+
meshmatcap_frag: string;
|
|
131
|
+
meshnormal_vert: string;
|
|
132
|
+
meshnormal_frag: string;
|
|
133
|
+
meshphong_vert: string;
|
|
134
|
+
meshphong_frag: string;
|
|
135
|
+
meshphysical_vert: string;
|
|
136
|
+
meshphysical_frag: string;
|
|
137
|
+
meshtoon_vert: string;
|
|
138
|
+
meshtoon_frag: string;
|
|
139
|
+
points_vert: string;
|
|
140
|
+
points_frag: string;
|
|
141
|
+
shadow_vert: string;
|
|
142
|
+
shadow_frag: string;
|
|
143
|
+
sprite_vert: string;
|
|
144
|
+
sprite_frag: string;
|
|
145
|
+
};
|
|
146
|
+
export declare function initSplatMeshOptions(options: SplatMeshOptions): SplatMeshOptions;
|
|
147
|
+
export declare const decodeB64: typeof atob;
|
|
148
|
+
/** 是否7天内 */
|
|
149
|
+
export declare function isNeedReload(yyyymmdd?: number): boolean;
|
|
150
|
+
export declare const isLocalhost: boolean;
|
|
151
|
+
export declare function clipUint8(value: number): number;
|
|
152
|
+
export declare function encodeSplatSH(val: number): number;
|
|
153
|
+
export declare function computeCompressionRatio(splatCount: number, bytelength: number): string;
|
|
154
|
+
export declare function DecompressGzip(data: Uint8Array): Promise<Uint8Array>;
|
|
155
|
+
export declare function DecompressXZ(datas: Uint8Array): Promise<Uint8Array>;
|
|
156
|
+
export declare function showTvText(txt: string, duration: number, audio: Audio): Promise<boolean>;
|
|
157
|
+
export declare function clearTvText(): void;
|
|
158
|
+
export declare function data190To19(data190: Uint8Array): Promise<Uint8Array>;
|
|
159
|
+
export declare function sh123To1(data123: Uint8Array): Promise<Uint8Array>;
|
|
160
|
+
export declare function sh123To2(data123: Uint8Array): Promise<Uint8Array>;
|
|
161
|
+
export declare function sh123To3(data123: Uint8Array): Promise<Uint8Array>;
|
|
162
|
+
export declare function webpToRgba(webps: Uint8Array): Promise<{
|
|
163
|
+
width: number;
|
|
164
|
+
height: number;
|
|
165
|
+
rgba: Uint8Array;
|
|
166
|
+
}>;
|
|
167
|
+
export declare function unzipToMap(zipBytes: Uint8Array): Map<string, Uint8Array>;
|
|
168
|
+
export declare function uint8ArrayToString(uint8Array: Uint8Array): string;
|
|
169
|
+
export declare function logEncode(v: number): number;
|
|
170
|
+
export declare function logDecode(v: number): number;
|
|
171
|
+
export declare function loopByTime(fnRun: Function, fnIsContinue?: Function, delay?: number): void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PerspectiveCamera, WebGLRenderer } from 'three';
|
|
2
|
+
import { Events } from '../events/Events';
|
|
3
|
+
import { SplatMeshOptions } from '../meshs/splatmesh/SplatMeshOptions';
|
|
4
|
+
import { Reall3dViewerOptions } from '../viewer/Reall3dViewerOptions';
|
|
5
|
+
export declare function setupViewerUtils(events: Events): void;
|
|
6
|
+
export declare function initSplatMeshOptions(options: SplatMeshOptions): SplatMeshOptions;
|
|
7
|
+
export declare function initGsViewerOptions(options: Reall3dViewerOptions): Reall3dViewerOptions;
|
|
8
|
+
export declare function initRenderer(opts: Reall3dViewerOptions): WebGLRenderer;
|
|
9
|
+
export declare function initCamera(opts: Reall3dViewerOptions): PerspectiveCamera;
|
|
10
|
+
export declare function copyGsViewerOptions(gsViewerOptions: Reall3dViewerOptions): SplatMeshOptions;
|