@openheart/tavio-renderer 2.2.9-without-wasm
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 +25 -0
- package/build/esm/index.js +41928 -0
- package/build/esm/types/animation/animationController.d.ts +133 -0
- package/build/esm/types/camera/cameraCollider.d.ts +54 -0
- package/build/esm/types/camera/cameraPath.d.ts +120 -0
- package/build/esm/types/camera/cameraPathControls.d.ts +73 -0
- package/build/esm/types/camera/cameraPathManager.d.ts +67 -0
- package/build/esm/types/camera/flightControls.d.ts +76 -0
- package/build/esm/types/camera/orbitControls.d.ts +192 -0
- package/build/esm/types/camera/transferControls.d.ts +122 -0
- package/build/esm/types/editor/selector/boxSelector.d.ts +45 -0
- package/build/esm/types/editor/selector/selector.d.ts +145 -0
- package/build/esm/types/editor/selector/sphereSelector.d.ts +45 -0
- package/build/esm/types/extension/InstancedMeshEX.d.ts +101 -0
- package/build/esm/types/global.iife.d.ts +9 -0
- package/build/esm/types/loader/streamLoader.d.ts +21 -0
- package/build/esm/types/main.d.ts +0 -0
- package/build/esm/types/math/easing.d.ts +18 -0
- package/build/esm/types/math/interpolation.d.ts +70 -0
- package/build/esm/types/module.d.ts +5 -0
- package/build/esm/types/types/global.d.ts +23 -0
- package/build/esm/types/utility/console.d.ts +6 -0
- package/build/esm/types/utility/plyDecoder.d.ts +97 -0
- package/build/esm/types/utility/utility.d.ts +47 -0
- package/build/esm/types/viewer/canvas.d.ts +1108 -0
- package/build/esm/types/viewer/tavioMesh.d.ts +436 -0
- package/build/esm/types/wasm-bindings/wasm-worker-client.d.ts +57 -0
- package/build/esm/types/wasm-bindings/wasm-worker.d.ts +49 -0
- package/build/esm/types/wasm-bindings/wasm.d.ts +5 -0
- package/build/esm/types/worker/splatWorker.d.ts +16 -0
- package/build/esm/types/worker/tavioWorker.d.ts +61 -0
- package/package.json +46 -0
|
@@ -0,0 +1,1108 @@
|
|
|
1
|
+
import { Euler, Group, Matrix4, PerspectiveCamera, Quaternion, RawShaderMaterial, Scene, Vector3, WebGLRenderTarget, WebGLRenderer, PMREMGenerator } from 'three';
|
|
2
|
+
import { default as EventEmitter } from 'eventemitter3';
|
|
3
|
+
import { iCollisionTarget } from '../worker/tavioWorker';
|
|
4
|
+
import { CameraPath } from '../camera/cameraPath';
|
|
5
|
+
import { CameraPathControls } from '../camera/cameraPathControls';
|
|
6
|
+
import { CameraPathManager } from '../camera/cameraPathManager';
|
|
7
|
+
import { FlightControls, iLatitudeLongitude } from '../camera/flightControls';
|
|
8
|
+
import { TransferControls } from '../camera/transferControls';
|
|
9
|
+
import { OrbitControls } from '../camera/orbitControls';
|
|
10
|
+
import { CameraCollider } from '../camera/cameraCollider';
|
|
11
|
+
import { ConsoleOutput } from '../utility/console';
|
|
12
|
+
import { iSphereSelectorOption } from '../editor/selector/sphereSelector';
|
|
13
|
+
import { iBoxSelectorOption } from '../editor/selector/boxSelector';
|
|
14
|
+
import { Selector } from '../editor/selector/selector';
|
|
15
|
+
import { TavioMesh } from './tavioMesh';
|
|
16
|
+
import { iAnimationConfig } from '../animation/animationController';
|
|
17
|
+
/**
|
|
18
|
+
* Tavio Viewer のエラーコード
|
|
19
|
+
*/
|
|
20
|
+
export declare const TavioErrorCode: {
|
|
21
|
+
/** Float16Array 未対応環境 */
|
|
22
|
+
readonly FLOAT16_NOT_SUPPORTED: "E001";
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Tavio Viewer のカスタムエラークラス
|
|
26
|
+
*/
|
|
27
|
+
export declare class TavioError extends Error {
|
|
28
|
+
/** エラーコード */
|
|
29
|
+
code: string;
|
|
30
|
+
constructor(code: string, message: string);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* カメラコントロールの種類
|
|
34
|
+
*/
|
|
35
|
+
type tControlsType = "orbit" | "path" | "flight";
|
|
36
|
+
/**
|
|
37
|
+
* カメラコントロールの型チェック用定義
|
|
38
|
+
*/
|
|
39
|
+
type tControlInstance = OrbitControls | CameraPathControls | FlightControls;
|
|
40
|
+
/**
|
|
41
|
+
* Vector3 と同様に外部データを扱うための型定義
|
|
42
|
+
*/
|
|
43
|
+
export interface iVectorLike {
|
|
44
|
+
x: number;
|
|
45
|
+
y: number;
|
|
46
|
+
z: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* カメラパスコントロールのオプション
|
|
50
|
+
*/
|
|
51
|
+
interface iCameraPathOption {
|
|
52
|
+
attenuation?: number;
|
|
53
|
+
scaleX?: number;
|
|
54
|
+
scaleY?: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 汎用カメラパラメータ
|
|
58
|
+
*/
|
|
59
|
+
interface iCameraParameter {
|
|
60
|
+
position?: number[];
|
|
61
|
+
eye?: number[];
|
|
62
|
+
fov?: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* ビューアオプション
|
|
66
|
+
*/
|
|
67
|
+
export interface iViewerOption {
|
|
68
|
+
usingSharedArrayBuffer?: boolean;
|
|
69
|
+
controlsType?: tControlsType;
|
|
70
|
+
gaussianScale?: number;
|
|
71
|
+
minimumScale?: number;
|
|
72
|
+
distanceEffectPoint?: number;
|
|
73
|
+
distanceEffectPointNear?: number;
|
|
74
|
+
distanceEffectBase?: number;
|
|
75
|
+
distanceEffectRange?: number;
|
|
76
|
+
distanceColorEffect?: number;
|
|
77
|
+
distanceColorEffectNear?: number;
|
|
78
|
+
effectSonar?: number;
|
|
79
|
+
effectSonarRange?: number;
|
|
80
|
+
worldOrigin?: iVectorLike;
|
|
81
|
+
opacityPoints?: number;
|
|
82
|
+
opacityAdditive?: number;
|
|
83
|
+
opacityMultiplier?: number;
|
|
84
|
+
colorTemperature?: number;
|
|
85
|
+
colorTint?: number;
|
|
86
|
+
colorContrast?: number;
|
|
87
|
+
colorHSV?: iVectorLike;
|
|
88
|
+
colorRGB?: iVectorLike;
|
|
89
|
+
colorBlur?: number;
|
|
90
|
+
colorSharpness?: number;
|
|
91
|
+
backgroundOpacity?: number;
|
|
92
|
+
disableBackground?: boolean;
|
|
93
|
+
consoleOutput?: boolean;
|
|
94
|
+
enableOrbitCursor?: boolean;
|
|
95
|
+
orbitCursorScale?: number;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* セレクターの情報
|
|
99
|
+
*/
|
|
100
|
+
interface iSelectorInfo {
|
|
101
|
+
name: string;
|
|
102
|
+
visible: boolean;
|
|
103
|
+
position?: iVectorLike;
|
|
104
|
+
rotation?: iVectorLike;
|
|
105
|
+
scale?: iVectorLike;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* ファイルのロードオプション
|
|
109
|
+
*/
|
|
110
|
+
export interface iLoadingOption {
|
|
111
|
+
useSphericalHarmonics?: boolean;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* ファイル内に含まれる 3DGS の原点からの距離と割合
|
|
115
|
+
*/
|
|
116
|
+
export interface iDistanceInfo {
|
|
117
|
+
per50?: number;
|
|
118
|
+
per70?: number;
|
|
119
|
+
per90?: number;
|
|
120
|
+
per100: number;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* ファイル内のヘッダ及び頂点情報
|
|
124
|
+
*/
|
|
125
|
+
export interface iHeaderInfo {
|
|
126
|
+
majorVersionNumber: number;
|
|
127
|
+
minorVersionNumber: number;
|
|
128
|
+
featureBits: any;
|
|
129
|
+
distance: iDistanceInfo;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* ファイルに対する座標変換情報
|
|
133
|
+
*/
|
|
134
|
+
export interface iTransform {
|
|
135
|
+
translation: Vector3;
|
|
136
|
+
rotation: Euler;
|
|
137
|
+
scale: number;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* ビューア実装本体
|
|
141
|
+
*/
|
|
142
|
+
export declare class Core extends EventEmitter {
|
|
143
|
+
canvas: HTMLCanvasElement;
|
|
144
|
+
gl: WebGL2RenderingContext;
|
|
145
|
+
uniforms: any;
|
|
146
|
+
viewerOption: iViewerOption;
|
|
147
|
+
meshMap: Map<string, TavioMesh>;
|
|
148
|
+
controlsMap: Map<string, tControlInstance>;
|
|
149
|
+
enableControlsMap: Map<string, boolean>;
|
|
150
|
+
currentControlsType: tControlsType;
|
|
151
|
+
transferControls: TransferControls;
|
|
152
|
+
selectorMap: Map<string, Selector>;
|
|
153
|
+
cameraColliderEnabled: boolean;
|
|
154
|
+
cameraCollider: CameraCollider;
|
|
155
|
+
cameraPathCollisionRadius: number;
|
|
156
|
+
cameraPathManager: CameraPathManager;
|
|
157
|
+
reversedCollision: boolean;
|
|
158
|
+
previousPosition: Vector3;
|
|
159
|
+
previousRotation: Quaternion;
|
|
160
|
+
previousFov: number;
|
|
161
|
+
maxDistance: number;
|
|
162
|
+
isInteractive: boolean;
|
|
163
|
+
isRendering: boolean;
|
|
164
|
+
startRendering: number;
|
|
165
|
+
isDown: boolean;
|
|
166
|
+
isWheel: boolean;
|
|
167
|
+
isLoading: boolean;
|
|
168
|
+
onPointerDown: (evt: PointerEvent) => void;
|
|
169
|
+
onPointerUp: (evt: PointerEvent) => void;
|
|
170
|
+
onWheel: (evt: WheelEvent) => void;
|
|
171
|
+
renderer: WebGLRenderer;
|
|
172
|
+
scene: Scene;
|
|
173
|
+
pmremGenerator: PMREMGenerator;
|
|
174
|
+
gaussianGroup: Group;
|
|
175
|
+
meshGroup: Group;
|
|
176
|
+
interfaceGroup: Group;
|
|
177
|
+
perspectiveCamera: PerspectiveCamera;
|
|
178
|
+
gaussianMaterial: RawShaderMaterial;
|
|
179
|
+
gaussianPickingMaterial: RawShaderMaterial;
|
|
180
|
+
pickingRenderTarget: WebGLRenderTarget;
|
|
181
|
+
pickingScene: Scene;
|
|
182
|
+
parameters: any;
|
|
183
|
+
console: ConsoleOutput;
|
|
184
|
+
consoleOutput: boolean;
|
|
185
|
+
private orbitCursor;
|
|
186
|
+
private orbitCursorMaterial;
|
|
187
|
+
private orbitCursorGeometry;
|
|
188
|
+
private orbitCursorEnabled;
|
|
189
|
+
private orbitCursorHorizontal;
|
|
190
|
+
private orbitCursorCenter;
|
|
191
|
+
private previousOrbitTarget;
|
|
192
|
+
private animationController;
|
|
193
|
+
private pathAnimationLocked;
|
|
194
|
+
/**
|
|
195
|
+
* インスタンスが発火するイベント
|
|
196
|
+
* ※実際には TavioMesh が発火するイベントをリレーする
|
|
197
|
+
*/
|
|
198
|
+
static EVENTS: string[];
|
|
199
|
+
/**
|
|
200
|
+
* 対応する Controls 種別
|
|
201
|
+
*/
|
|
202
|
+
static CONTROLS: string[];
|
|
203
|
+
/**
|
|
204
|
+
* @constructor
|
|
205
|
+
* @param viewerOption - ビューア実装の初期化オプション
|
|
206
|
+
* @throws Float16Array 未対応環境ではエラーをスローする
|
|
207
|
+
*/
|
|
208
|
+
constructor(viewerOption?: iViewerOption);
|
|
209
|
+
/**
|
|
210
|
+
* ==========================================================================
|
|
211
|
+
* setup
|
|
212
|
+
* ==========================================================================
|
|
213
|
+
*/
|
|
214
|
+
/**
|
|
215
|
+
* コンストラクタ内のセットアップ
|
|
216
|
+
* ※一度 dispose した場合、コンストラクタを再度実行することはできないのでこのメソッドで復帰させる
|
|
217
|
+
* @param viewerOption - ビューア実装の初期化オプション
|
|
218
|
+
*/
|
|
219
|
+
setupOnConstructor(viewerOption?: iViewerOption): void;
|
|
220
|
+
/**
|
|
221
|
+
* 各種初期化処理を行う
|
|
222
|
+
* @param canvas - WebGL コンテキストを取得する対象となる canvas 要素
|
|
223
|
+
*/
|
|
224
|
+
init(canvas: HTMLCanvasElement): void;
|
|
225
|
+
/**
|
|
226
|
+
* カメラコントロール・カメラコライダーをセットアップする
|
|
227
|
+
*/
|
|
228
|
+
setupControls(): void;
|
|
229
|
+
/**
|
|
230
|
+
* OrbitControls をセットアップする
|
|
231
|
+
*/
|
|
232
|
+
setupOrbitControls(): void;
|
|
233
|
+
/**
|
|
234
|
+
* CameraPathControls をセットアップする
|
|
235
|
+
*/
|
|
236
|
+
setupCameraPathControls(): void;
|
|
237
|
+
/**
|
|
238
|
+
* FlightControls をセットアップする
|
|
239
|
+
*/
|
|
240
|
+
setupFlightControls(): void;
|
|
241
|
+
/**
|
|
242
|
+
* TransferControls をセットアップする
|
|
243
|
+
*/
|
|
244
|
+
setupTransferControls(): void;
|
|
245
|
+
/**
|
|
246
|
+
* CameraCollider をセットアップする
|
|
247
|
+
*/
|
|
248
|
+
setupCameraCollider(): void;
|
|
249
|
+
/**
|
|
250
|
+
* セレクターをセットアップする
|
|
251
|
+
*/
|
|
252
|
+
setupSelector(): void;
|
|
253
|
+
/**
|
|
254
|
+
* イベントのセットアップ
|
|
255
|
+
*/
|
|
256
|
+
setupEvent(): void;
|
|
257
|
+
/**
|
|
258
|
+
* デバッグ用インターフェースのセットアップ
|
|
259
|
+
*/
|
|
260
|
+
setupPane(): void;
|
|
261
|
+
/**
|
|
262
|
+
* ==========================================================================
|
|
263
|
+
* TavioMesh / loader
|
|
264
|
+
* ==========================================================================
|
|
265
|
+
*/
|
|
266
|
+
/**
|
|
267
|
+
* TavioMesh を生成しロード前の共通処理を行う
|
|
268
|
+
* @private
|
|
269
|
+
* @param name - このメッシュの固有名
|
|
270
|
+
*/
|
|
271
|
+
private _beforeLoadMesh;
|
|
272
|
+
/**
|
|
273
|
+
* TavioMesh のロード後の共通処理を行う
|
|
274
|
+
* @private
|
|
275
|
+
* @param name - 設定する名前
|
|
276
|
+
*/
|
|
277
|
+
private _afterLoadMesh;
|
|
278
|
+
/**
|
|
279
|
+
* TavioMesh のインスタンスを生成し tavio 形式のリソースをロード、シーンに追加する
|
|
280
|
+
* @param name - このメッシュの固有名
|
|
281
|
+
* @param url - 読み込む .tavio ファイル
|
|
282
|
+
* @param option - ロード・パース関連のオプション
|
|
283
|
+
*/
|
|
284
|
+
loadTavio(name: string, url: string, option?: iLoadingOption): Promise<void>;
|
|
285
|
+
/**
|
|
286
|
+
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
287
|
+
* @param name - このメッシュの固有名
|
|
288
|
+
* @param url - 読み込む .tavio ファイル
|
|
289
|
+
* @param option - ロード・パース関連のオプション
|
|
290
|
+
*/
|
|
291
|
+
concatTavio(name: string, url: string, option?: iLoadingOption): Promise<void>;
|
|
292
|
+
/**
|
|
293
|
+
* TavioMesh のインスタンスを生成し ply 形式のリソースをロード、シーンに追加する
|
|
294
|
+
* @param name - このメッシュの固有名
|
|
295
|
+
* @param url - 読み込む .ply ファイル
|
|
296
|
+
* @param option - ロード・パース関連のオプション
|
|
297
|
+
*/
|
|
298
|
+
loadPly(name: string, url: string, option?: iLoadingOption): Promise<void>;
|
|
299
|
+
/**
|
|
300
|
+
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
301
|
+
* @param name - このメッシュの固有名
|
|
302
|
+
* @param url - 読み込む .tavio ファイル
|
|
303
|
+
* @param option - ロード・パース関連のオプション
|
|
304
|
+
*/
|
|
305
|
+
concatPly(name: string, url: string, option?: iLoadingOption): Promise<void>;
|
|
306
|
+
/**
|
|
307
|
+
* TavioMesh のインスタンスを生成し splat 形式のリソースをロード、シーンに追加する
|
|
308
|
+
* @param name - このメッシュの固有名
|
|
309
|
+
* @param url - 読み込む .splat ファイル
|
|
310
|
+
*/
|
|
311
|
+
loadSplat(name: string, url: string): Promise<void>;
|
|
312
|
+
/**
|
|
313
|
+
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
314
|
+
* @param name - このメッシュの固有名
|
|
315
|
+
* @param url - 読み込む .tavio ファイル
|
|
316
|
+
* @param option - ロード・パース関連のオプション
|
|
317
|
+
*/
|
|
318
|
+
concatSplat(name: string, url: string): Promise<void>;
|
|
319
|
+
/**
|
|
320
|
+
* tavio 形式のリソースをロードする
|
|
321
|
+
* @param name - このメッシュの固有名
|
|
322
|
+
* @see {@link TavioMesh.prototype.loadTavioWasm}
|
|
323
|
+
*/
|
|
324
|
+
loadTavioWasm(name: string, ...args: Parameters<typeof TavioMesh.prototype.loadTavioWasm>): Promise<void>;
|
|
325
|
+
/**
|
|
326
|
+
* ply 形式のリソースをロードする
|
|
327
|
+
* @param name - このメッシュの固有名
|
|
328
|
+
* @see {@link TavioMesh.prototype.loadPlyWasm}
|
|
329
|
+
*/
|
|
330
|
+
loadPlyWasm(name: string, ...args: Parameters<typeof TavioMesh.prototype.loadPlyWasm>): Promise<void>;
|
|
331
|
+
/**
|
|
332
|
+
* tavio 形式のリソースをセーブする
|
|
333
|
+
* @param name - このメッシュの固有名
|
|
334
|
+
* @see {@link TavioMesh.prototype.saveTavioWasm}
|
|
335
|
+
*/
|
|
336
|
+
saveTavioWasm(name: string, ...args: Parameters<typeof TavioMesh.prototype.saveTavioWasm>): Promise<void>;
|
|
337
|
+
/**
|
|
338
|
+
* 名前を指定してロード済み TavioMesh をシーンに追加する
|
|
339
|
+
* @param name - 対象の名前
|
|
340
|
+
*/
|
|
341
|
+
addTavioMesh(name: string): Promise<void>;
|
|
342
|
+
/**
|
|
343
|
+
* 名前を指定してロード済み TavioMesh をシーンから取り除く
|
|
344
|
+
* @param name - 対象の名前
|
|
345
|
+
*/
|
|
346
|
+
removeTavioMesh(name: string): Promise<void>;
|
|
347
|
+
/**
|
|
348
|
+
* 名前を指定して TavioMesh を削除・解放する
|
|
349
|
+
* @param name - 対象の名前
|
|
350
|
+
*/
|
|
351
|
+
disposeTavioMesh(name: string): void;
|
|
352
|
+
/**
|
|
353
|
+
* 名前を指定して TavioMesh の表示・非表示を設定する
|
|
354
|
+
* @param name - 対象の名前
|
|
355
|
+
* @param visibility - 可視状態
|
|
356
|
+
*/
|
|
357
|
+
setVisibilityTavioMesh(name: string, visibility: boolean): Promise<void>;
|
|
358
|
+
/**
|
|
359
|
+
* 名前を指定して TavioMesh の点描画用 Points の表示・非表示を設定する
|
|
360
|
+
* @param name - 対象の名前
|
|
361
|
+
* @param visibility - 可視状態
|
|
362
|
+
*/
|
|
363
|
+
setVisibilityPoints(name: string, visibility: boolean): void;
|
|
364
|
+
/**
|
|
365
|
+
* 背景球(シーンの背景)の透明度を指定する(0.0 ~ 1.0)
|
|
366
|
+
* @param opacity - 透明度
|
|
367
|
+
*/
|
|
368
|
+
setBackgroundOpacity(opacity: number): void;
|
|
369
|
+
/**
|
|
370
|
+
* 名前を指定した TavioMesh に含まれるインスタンスを、インデックスで指定して動かす
|
|
371
|
+
* ※ここでいうインデックスとは load/concat した順番を意味する整数値
|
|
372
|
+
* @param name - 対象の名前
|
|
373
|
+
* @param index - インデックス
|
|
374
|
+
* @param translation - 平行移動
|
|
375
|
+
* @param rotation - 回転(オイラー角)
|
|
376
|
+
* @param scale - 拡大縮小(XYZ で統一のスケール)
|
|
377
|
+
*/
|
|
378
|
+
setTransform(name: string, index: number, translation: Vector3, rotation: Euler, scale: number): void;
|
|
379
|
+
/**
|
|
380
|
+
* 名前を指定した TavioMesh に含まれるインスタンスの、指定されたインデックスの座標変換情報を返す
|
|
381
|
+
* ※ここでいうインデックスとは load/concat した順番を意味する整数値
|
|
382
|
+
* @param name - 対象の名前
|
|
383
|
+
* @param index - インデックス
|
|
384
|
+
*/
|
|
385
|
+
getTransform(name: string, index: number): iTransform;
|
|
386
|
+
/**
|
|
387
|
+
* ==========================================================================
|
|
388
|
+
* general
|
|
389
|
+
* ==========================================================================
|
|
390
|
+
*/
|
|
391
|
+
/**
|
|
392
|
+
* ウィンドウのリサイズ処理
|
|
393
|
+
* @param width - 幅
|
|
394
|
+
* @param height - 高さ
|
|
395
|
+
* @param start - リサイズと同時に描画を開始するかどうか
|
|
396
|
+
*/
|
|
397
|
+
resize(width?: number, height?: number, start?: boolean): void;
|
|
398
|
+
/**
|
|
399
|
+
* 描画を開始する
|
|
400
|
+
*/
|
|
401
|
+
start(): void;
|
|
402
|
+
/**
|
|
403
|
+
* 描画処理
|
|
404
|
+
* @private
|
|
405
|
+
*/
|
|
406
|
+
private _render;
|
|
407
|
+
/**
|
|
408
|
+
* DevicePixelRatio をレンダラーに対して設定する
|
|
409
|
+
* @param value - 設定する DevicePixelRatio
|
|
410
|
+
*/
|
|
411
|
+
setDevicePixelRatio(value: number): void;
|
|
412
|
+
/**
|
|
413
|
+
* 現在設定されている DevicePixelRatio を返す
|
|
414
|
+
*/
|
|
415
|
+
getDevicePixelRatio(): number;
|
|
416
|
+
/**
|
|
417
|
+
* インタラクティブに描画するモードを用いるかどうかを設定する
|
|
418
|
+
* @param isInteractive - 有効とするかどうか
|
|
419
|
+
*/
|
|
420
|
+
setInteractiveMode(isInteractive: boolean): void;
|
|
421
|
+
/**
|
|
422
|
+
* 球面調和関数の交流成分を利用するかどうかを設定する
|
|
423
|
+
* @param isUsing - 利用するかどうかのフラグ
|
|
424
|
+
*/
|
|
425
|
+
setUsingSphericalHarmonics(isUsing: boolean): void;
|
|
426
|
+
/**
|
|
427
|
+
* 球面調和関数の交流成分に対する係数を設定する(0.0 ~ 1.0)
|
|
428
|
+
* @param intensity - 0.0 で交流成分の効果が完全に不可視化される
|
|
429
|
+
*/
|
|
430
|
+
setSphericalHarmonicsIntensity(intensity: number): void;
|
|
431
|
+
/**
|
|
432
|
+
* ファイルに含まれるヘッダ情報及び頂点の情報などを取得する
|
|
433
|
+
*/
|
|
434
|
+
getHeaderInfo(name: string): iHeaderInfo;
|
|
435
|
+
/**
|
|
436
|
+
* フレームバッファに 3DGS のワールド座標をレンダリングし指定されたスクリーン座標から取得する
|
|
437
|
+
* @param x - 取得する X 座標(スクリーン空間を -1.0 ~ 1.0 に正規化した座標)
|
|
438
|
+
* @param y - 取得する Y 座標(スクリーン空間を -1.0 ~ 1.0 に正規化した座標, Y-down)
|
|
439
|
+
*/
|
|
440
|
+
getWorldPositionByScreen(x: number, y: number): Promise<Float32Array>;
|
|
441
|
+
/**
|
|
442
|
+
* 各種リソースを解放する
|
|
443
|
+
* ※このメソッドを呼び出すと、それまで利用していた canvas は再利用できなくなる
|
|
444
|
+
* ※別の canvas を渡して setupOnConstructor や init、render を呼ぶことで再度描画を行うことができる
|
|
445
|
+
*/
|
|
446
|
+
dispose(): void;
|
|
447
|
+
/**
|
|
448
|
+
* ビューポートの情報を uniform 変数に設定する
|
|
449
|
+
* @private
|
|
450
|
+
*/
|
|
451
|
+
private _updateViewportUniforms;
|
|
452
|
+
/**
|
|
453
|
+
* ==========================================================================
|
|
454
|
+
* camera
|
|
455
|
+
* ==========================================================================
|
|
456
|
+
*/
|
|
457
|
+
/**
|
|
458
|
+
* カメラの現在の座標と注視点、視野角を取得する
|
|
459
|
+
*/
|
|
460
|
+
getCameraParameter(): iCameraParameter;
|
|
461
|
+
/**
|
|
462
|
+
* カメラの現在の座標と注視点、視野角を取得する
|
|
463
|
+
* @param position - 設定する座標
|
|
464
|
+
* @param eye - 設定する注視点
|
|
465
|
+
* @param fov - 設定する視野角
|
|
466
|
+
*/
|
|
467
|
+
setCameraParameter(position: iVectorLike, eye: iVectorLike, fov?: number): void;
|
|
468
|
+
/**
|
|
469
|
+
* ==========================================================================
|
|
470
|
+
* controls
|
|
471
|
+
* ==========================================================================
|
|
472
|
+
*/
|
|
473
|
+
/**
|
|
474
|
+
* Controls タイプを設定する
|
|
475
|
+
* @param type - 設定するタイプを意味する文字列
|
|
476
|
+
*/
|
|
477
|
+
setControlsType(type: tControlsType): void;
|
|
478
|
+
/**
|
|
479
|
+
* 現在のカメラコントロールを意味する文字列を返す
|
|
480
|
+
*/
|
|
481
|
+
getControlsType(): tControlsType;
|
|
482
|
+
/**
|
|
483
|
+
* FlightControls と TransferControls に減衰を設定する
|
|
484
|
+
* @param attenuation - 減衰(0.0 以上 ~ 1.0 未満)
|
|
485
|
+
*/
|
|
486
|
+
setControlsAttenuation(attenuation: number): void;
|
|
487
|
+
/**
|
|
488
|
+
* ==========================================================================
|
|
489
|
+
* orbit controls
|
|
490
|
+
* ==========================================================================
|
|
491
|
+
*/
|
|
492
|
+
/**
|
|
493
|
+
* オービットコントロールの注視点の座標を取得する
|
|
494
|
+
* @returns 注視点の座標
|
|
495
|
+
*/
|
|
496
|
+
getOrbitTarget(): iVectorLike;
|
|
497
|
+
/**
|
|
498
|
+
* オービットコントロールの注視点と座標を設定する
|
|
499
|
+
* @param position - カメラの座標
|
|
500
|
+
* @param target - 注視点の座標
|
|
501
|
+
* setTransferPositionのみ呼び出した場合、見た目が変わらなかったため本関数を作成。
|
|
502
|
+
*/
|
|
503
|
+
setOrbitPositionAndTarget(position: iVectorLike, target: iVectorLike): void;
|
|
504
|
+
/**
|
|
505
|
+
* オービットコントロールの注視点を設定する
|
|
506
|
+
* @param target - 注視点の座標
|
|
507
|
+
*/
|
|
508
|
+
setOrbitTarget(target: iVectorLike): void;
|
|
509
|
+
/**
|
|
510
|
+
* オービットコントロールのズーム使用可否を設定する
|
|
511
|
+
* @param enable - 使用可否を意味する真偽値
|
|
512
|
+
*/
|
|
513
|
+
setOrbitEnableZoom(enable: boolean): void;
|
|
514
|
+
/**
|
|
515
|
+
* オービットコントロールの平行移動使用可否を設定する
|
|
516
|
+
* @param enable - 使用可否を意味する真偽値
|
|
517
|
+
*/
|
|
518
|
+
setOrbitEnablePan(enable: boolean): void;
|
|
519
|
+
/**
|
|
520
|
+
* オービットコントロールの可動範囲制限の可否を設定する
|
|
521
|
+
* @param enable - 使用可否を意味する真偽値
|
|
522
|
+
*/
|
|
523
|
+
setOrbitEnableLimit(enable: boolean): void;
|
|
524
|
+
/**
|
|
525
|
+
* オービットコントロールの注視点と座標の距離を取得する
|
|
526
|
+
* @returns 注視点と座標の距離
|
|
527
|
+
*/
|
|
528
|
+
getOrbitDistance(): number;
|
|
529
|
+
/**
|
|
530
|
+
* オービットコントロールの注視点から位置までの距離を設定する
|
|
531
|
+
* @param distance - 設定する距離
|
|
532
|
+
*/
|
|
533
|
+
setOrbitDistance(distance: number): void;
|
|
534
|
+
/**
|
|
535
|
+
* オービットコントロールのピッチとヨーを相対的に移動する
|
|
536
|
+
* @param pitch - ピッチ角度の変化量(ラジアン)
|
|
537
|
+
* @param yaw - ヨー角度の変化量(ラジアン)
|
|
538
|
+
*/
|
|
539
|
+
setOrbitRelativeRotation(pitch: number, yaw: number): void;
|
|
540
|
+
/**
|
|
541
|
+
* オービットコントロールのドリー(前後移動)を相対的に設定する
|
|
542
|
+
* @param value - 設定する値
|
|
543
|
+
*/
|
|
544
|
+
setOrbitRelativeDollyOut(value: number): void;
|
|
545
|
+
/**
|
|
546
|
+
* オービットコントロールの上下の回転を相対的に設定する
|
|
547
|
+
* @param value - 設定する値
|
|
548
|
+
*/
|
|
549
|
+
setOrbitRelativeRotateUp(value: number): void;
|
|
550
|
+
/**
|
|
551
|
+
* オービットコントロールの左右の回転を相対的に設定する
|
|
552
|
+
* @param value - 設定する値
|
|
553
|
+
*/
|
|
554
|
+
setOrbitRelativeRotateLeft(value: number): void;
|
|
555
|
+
/**
|
|
556
|
+
* オービットコントロールの上下の移動を相対的に設定する
|
|
557
|
+
* @param value - 設定する値
|
|
558
|
+
*/
|
|
559
|
+
setOrbitRelativeTranslateUp(value: number): void;
|
|
560
|
+
/**
|
|
561
|
+
* オービットコントロールの左右の移動を相対的に設定する
|
|
562
|
+
* @param value - 設定する値
|
|
563
|
+
*/
|
|
564
|
+
setOrbitRelativeTranslateLeft(value: number): void;
|
|
565
|
+
/**
|
|
566
|
+
* オービットコントロールへポインターが押下中かどうかを設定する
|
|
567
|
+
* @param isDown - 設定する値
|
|
568
|
+
*/
|
|
569
|
+
setOrbitPointerDown(isDown: boolean): void;
|
|
570
|
+
/**
|
|
571
|
+
* オービットコントロールの範囲外へはみ出すことができる範囲を設定する
|
|
572
|
+
* @param value - 設定する値
|
|
573
|
+
*/
|
|
574
|
+
setOrbitOverflow(value: number): void;
|
|
575
|
+
/**
|
|
576
|
+
* オービットコントロールの北緯方向の可動範囲を設定する
|
|
577
|
+
* @param value - 設定する値
|
|
578
|
+
*/
|
|
579
|
+
setOrbitUpLimit(value: number): void;
|
|
580
|
+
/**
|
|
581
|
+
* オービットコントロールの南緯方向の可動範囲を設定する
|
|
582
|
+
* @param value - 設定する値
|
|
583
|
+
*/
|
|
584
|
+
setOrbitDownLimit(value: number): void;
|
|
585
|
+
/**
|
|
586
|
+
* オービットコントロールの西経方向の可動範囲を設定する
|
|
587
|
+
* @param value - 設定する値
|
|
588
|
+
*/
|
|
589
|
+
setOrbitLeftLimit(value: number): void;
|
|
590
|
+
/**
|
|
591
|
+
* オービットコントロールの西経方向の可動範囲を設定する
|
|
592
|
+
* @param value - 設定する値
|
|
593
|
+
*/
|
|
594
|
+
setOrbitRightLimit(value: number): void;
|
|
595
|
+
/**
|
|
596
|
+
* ==========================================================================
|
|
597
|
+
* camera path controls
|
|
598
|
+
* ==========================================================================
|
|
599
|
+
*/
|
|
600
|
+
/**
|
|
601
|
+
* カメラパスを生成して返す
|
|
602
|
+
* @param position - カメラの座標({x, y, z} のオブジェクト、または [x, y, z] の数値の配列)の配列
|
|
603
|
+
* @param target - 注視点の座標({x, y, z} のオブジェクト、または [x, y, z] の数値の配列)の配列
|
|
604
|
+
* @param debug - デバッグモードをオンにすると、各点とその補間後の軌跡がシーンに追加される
|
|
605
|
+
*/
|
|
606
|
+
createCameraPath(position: iVectorLike[] | number[][], target: iVectorLike[] | number[][], debug?: boolean): CameraPath;
|
|
607
|
+
/**
|
|
608
|
+
* カメラパスが有効な場合、指定された時間を設定し更新する
|
|
609
|
+
* @param time - 設定する時間(0.0 ~ 1.0)
|
|
610
|
+
*/
|
|
611
|
+
updateCameraPath(time: number): void;
|
|
612
|
+
/**
|
|
613
|
+
* カメラパスを設定する
|
|
614
|
+
* @deprecated このメソッドは廃止されました。addCameraPath(name, path) と selectCameraPath(name) を使用してください。
|
|
615
|
+
* @param path - 設定する CameraPath
|
|
616
|
+
*/
|
|
617
|
+
setCameraPath(path: CameraPath): void;
|
|
618
|
+
/**
|
|
619
|
+
* カメラパスを名前で追加する
|
|
620
|
+
* @param name - カメラパスの名前
|
|
621
|
+
* @param path - 追加する CameraPath
|
|
622
|
+
*/
|
|
623
|
+
addCameraPath(name: string, path: CameraPath): void;
|
|
624
|
+
/**
|
|
625
|
+
* カメラパスを名前で削除する
|
|
626
|
+
* @param name - 削除するカメラパスの名前
|
|
627
|
+
*/
|
|
628
|
+
removeCameraPath(name: string): void;
|
|
629
|
+
/**
|
|
630
|
+
* アクティブなカメラパスを選択する
|
|
631
|
+
* @param name - 選択するカメラパスの名前
|
|
632
|
+
*/
|
|
633
|
+
selectCameraPath(name: string): void;
|
|
634
|
+
/**
|
|
635
|
+
* 現在アクティブなカメラパスを取得する
|
|
636
|
+
* @returns アクティブなカメラパス、または null
|
|
637
|
+
*/
|
|
638
|
+
getActiveCameraPath(): CameraPath | null;
|
|
639
|
+
/**
|
|
640
|
+
* すべてのカメラパス名を取得する
|
|
641
|
+
* @returns カメラパス名の配列
|
|
642
|
+
*/
|
|
643
|
+
getPathNames(): string[];
|
|
644
|
+
/**
|
|
645
|
+
* カメラパスのオプションを設定する
|
|
646
|
+
* @param option - カメラパスに設定するオプション
|
|
647
|
+
*/
|
|
648
|
+
setCameraPathOption(option: iCameraPathOption): void;
|
|
649
|
+
/**
|
|
650
|
+
* カメラパスのインタラクション用の座標を設定する
|
|
651
|
+
* @param x - 設定する X 座標(スクリーン空間を -1.0 ~ 1.0 に正規化した座標)
|
|
652
|
+
* @param y - 設定する Y 座標(スクリーン空間を -1.0 ~ 1.0 に正規化した座標, Y-down)
|
|
653
|
+
*/
|
|
654
|
+
setCameraPathInteraction(x: number, y: number): void;
|
|
655
|
+
/**
|
|
656
|
+
* カメラパスの可動領域(カプセル型)の半径を設定する
|
|
657
|
+
* @param radius - 設定する半径
|
|
658
|
+
*/
|
|
659
|
+
setCameraPathCollisionRadius(radius: number): void;
|
|
660
|
+
/**
|
|
661
|
+
* ==========================================================================
|
|
662
|
+
* flight controls
|
|
663
|
+
* ==========================================================================
|
|
664
|
+
*/
|
|
665
|
+
/**
|
|
666
|
+
* FlightControls に緯度を設定する
|
|
667
|
+
* @param latitude - 緯度(-90 ~ 90)
|
|
668
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
669
|
+
*/
|
|
670
|
+
setFlightLatitude(latitude: number, isForce?: boolean): void;
|
|
671
|
+
/**
|
|
672
|
+
* FlightControls に経度を設定する
|
|
673
|
+
* @param longitude - 経度(0 ~ 360)
|
|
674
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
675
|
+
*/
|
|
676
|
+
setFlightLongitude(longitude: number, isForce?: boolean): void;
|
|
677
|
+
/**
|
|
678
|
+
* FlightControls に緯度を相対的に設定する
|
|
679
|
+
* @param latitude - 相対値
|
|
680
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
681
|
+
*/
|
|
682
|
+
setFlightRelativeLatitude(latitude: number, isForce?: boolean): void;
|
|
683
|
+
/**
|
|
684
|
+
* FlightControls に経度を相対的に設定する
|
|
685
|
+
* @param longitude - 相対値
|
|
686
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
687
|
+
*/
|
|
688
|
+
setFlightRelativeLongitude(longitude: number, isForce?: boolean): void;
|
|
689
|
+
/**
|
|
690
|
+
* FlightControls から緯度経度を取得する
|
|
691
|
+
*/
|
|
692
|
+
getFlightParameter(): iLatitudeLongitude;
|
|
693
|
+
/**
|
|
694
|
+
* ==========================================================================
|
|
695
|
+
* transfer controls
|
|
696
|
+
* ==========================================================================
|
|
697
|
+
*/
|
|
698
|
+
/**
|
|
699
|
+
* TransferControls に位置を設定する
|
|
700
|
+
* @param position - 位置
|
|
701
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
702
|
+
*/
|
|
703
|
+
setTransferPosition(position: iVectorLike, isForce?: boolean): void;
|
|
704
|
+
/**
|
|
705
|
+
* TransferControls に位置を相対的に設定する
|
|
706
|
+
* @param position - 相対値
|
|
707
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
708
|
+
*/
|
|
709
|
+
setTransferRelativePosition(position: iVectorLike, isForce?: boolean): void;
|
|
710
|
+
/**
|
|
711
|
+
* TransferControls に、現在の位置と向きに応じて移動するよう設定する
|
|
712
|
+
* @param offset - 移動する量
|
|
713
|
+
* @param scale - 移動するスケール
|
|
714
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
715
|
+
*/
|
|
716
|
+
moveTransferByDirection(offset: iVectorLike, scale: number, isForce?: boolean): void;
|
|
717
|
+
/**
|
|
718
|
+
* TransferControls に、現在の位置と向きに応じて水平に移動するよう設定する
|
|
719
|
+
* @param x - 右を正とした横方向
|
|
720
|
+
* @param y - 奥を正とした前後方向
|
|
721
|
+
* @param scale - 移動するスケール
|
|
722
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
723
|
+
*/
|
|
724
|
+
moveTransferByHorizontalDirection(x: number, y: number, scale: number, isForce?: boolean): void;
|
|
725
|
+
/**
|
|
726
|
+
* TransferControls に、XZ 平面に対して上昇するよう設定する
|
|
727
|
+
* @param scale - 移動するスケール
|
|
728
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
729
|
+
*/
|
|
730
|
+
moveTransferToTop(scale: number, isForce?: boolean): void;
|
|
731
|
+
/**
|
|
732
|
+
* TransferControls に、XZ 平面に対して下降するよう設定する
|
|
733
|
+
* @param scale - 移動するスケール
|
|
734
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
735
|
+
*/
|
|
736
|
+
moveTransferToBottom(scale: number, isForce?: boolean): void;
|
|
737
|
+
/**
|
|
738
|
+
* TransferControls に fov を設定する
|
|
739
|
+
* @param fov - 設定する fov
|
|
740
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
741
|
+
*/
|
|
742
|
+
setTransferFov(fov: number, isForce?: boolean): void;
|
|
743
|
+
/**
|
|
744
|
+
* ==========================================================================
|
|
745
|
+
* camera collider
|
|
746
|
+
* ==========================================================================
|
|
747
|
+
*/
|
|
748
|
+
/**
|
|
749
|
+
* カメラコライダーの有効・無効を設定する
|
|
750
|
+
* @param enabled - 有効化するかどうか
|
|
751
|
+
*/
|
|
752
|
+
setCameraColliderEnabled(enabled: boolean): void;
|
|
753
|
+
/**
|
|
754
|
+
* カメラコライダーの有効・無効状態を取得する
|
|
755
|
+
* @returns カメラコライダーが有効かどうか
|
|
756
|
+
*/
|
|
757
|
+
getCameraColliderEnabled(): boolean;
|
|
758
|
+
/**
|
|
759
|
+
* ==========================================================================
|
|
760
|
+
* shader effects
|
|
761
|
+
* ==========================================================================
|
|
762
|
+
*/
|
|
763
|
+
/**
|
|
764
|
+
* 点描画用の Points に対して uniform 変数の値を設定する
|
|
765
|
+
* ※あくまでも private なメソッドであり、値設定後に自動で start() はコールされない
|
|
766
|
+
* @private
|
|
767
|
+
* @param uniforms - 設定する値を定義したオブジェクト
|
|
768
|
+
*/
|
|
769
|
+
private _setPointUniforms;
|
|
770
|
+
/**
|
|
771
|
+
* ガウシアンの大きさの基本係数を設定する
|
|
772
|
+
* @param value - 設定する係数(0.0 to 1.0)
|
|
773
|
+
*/
|
|
774
|
+
setGaussianScale(value: number): void;
|
|
775
|
+
/**
|
|
776
|
+
* 距離に応じたガウシアンの大きさにおける最小値を設定する
|
|
777
|
+
* @param value - 設定する係数(0.0 to 1.0)
|
|
778
|
+
*/
|
|
779
|
+
setEffectMinimumScale(value: number): void;
|
|
780
|
+
/**
|
|
781
|
+
* 距離に応じたガウシアンの大きさ係数を設定する
|
|
782
|
+
* @param value - 設定する係数(0.0 to 1.0)
|
|
783
|
+
*/
|
|
784
|
+
setEffectDistanceBase(value: number): void;
|
|
785
|
+
/**
|
|
786
|
+
* 距離に応じたガウシアンの範囲係数を設定する
|
|
787
|
+
* @param value - 設定する係数(0.0 < n <= 1.0)
|
|
788
|
+
*/
|
|
789
|
+
setEffectDistanceRange(value: number): void;
|
|
790
|
+
/**
|
|
791
|
+
* シェーダーで使用するワールド原点を設定する
|
|
792
|
+
* @param x - X座標
|
|
793
|
+
* @param y - Y座標
|
|
794
|
+
* @param z - Z座標
|
|
795
|
+
*/
|
|
796
|
+
setWorldOrigin(x: number, y: number, z: number): void;
|
|
797
|
+
/**
|
|
798
|
+
* シェーダ上で作用する加減算アルファ値を設定する
|
|
799
|
+
* @param alpha - アルファ(適切な範囲はおよそ -3.0 ~ 3.0)
|
|
800
|
+
*/
|
|
801
|
+
setOpacityAdditive(alpha: number): void;
|
|
802
|
+
/**
|
|
803
|
+
* シェーダ上で作用する乗算アルファ値を設定する
|
|
804
|
+
* @param alpha - アルファ(適切な範囲はおよそ -3.0 ~ 3.0)
|
|
805
|
+
*/
|
|
806
|
+
setOpacityMultiplier(alpha: number): void;
|
|
807
|
+
/**
|
|
808
|
+
* 点描画用の Points に対して距離に応じたエフェクトの範囲係数を設定する(外側)
|
|
809
|
+
* @param value - 設定する係数(0.0 < n <= 1.0)
|
|
810
|
+
*/
|
|
811
|
+
setEffectDistancePoints(value: number): void;
|
|
812
|
+
/**
|
|
813
|
+
* 点描画用の Points に対して距離に応じたエフェクトの範囲係数を設定する(内側)
|
|
814
|
+
* @param value - 設定する係数(0.0 < n <= 1.0)
|
|
815
|
+
*/
|
|
816
|
+
setEffectDistanceNearPoints(value: number): void;
|
|
817
|
+
/**
|
|
818
|
+
* 色エフェクトの範囲を設定する(外側)
|
|
819
|
+
* @param value - 設定する係数(0.0 < n <= 1.0)
|
|
820
|
+
*/
|
|
821
|
+
setEffectDistanceColor(value: number): void;
|
|
822
|
+
/**
|
|
823
|
+
* 色エフェクトの範囲を設定する(内側)
|
|
824
|
+
* @param value - 設定する係数(0.0 < n <= 1.0)
|
|
825
|
+
*/
|
|
826
|
+
setEffectDistanceColorNear(value: number): void;
|
|
827
|
+
/**
|
|
828
|
+
* ソナーエフェクトを設定する(外側)
|
|
829
|
+
* @param value - 設定する係数(0.0 < n <= 1.0)
|
|
830
|
+
*/
|
|
831
|
+
setEffectSonar(value: number): void;
|
|
832
|
+
/**
|
|
833
|
+
* ソナーエフェクトの範囲を設定する
|
|
834
|
+
* @param value - 設定する範囲(0.0 < n <= 1.0)
|
|
835
|
+
*/
|
|
836
|
+
setEffectSonarRange(value: number): void;
|
|
837
|
+
/**
|
|
838
|
+
* 点描画用の Points に対してアルファを設定する
|
|
839
|
+
* @param alpha - アルファ(0.0 ~ 1.0)
|
|
840
|
+
*/
|
|
841
|
+
setOpacityPoints(alpha: number): void;
|
|
842
|
+
/**
|
|
843
|
+
* シェーダ上で作用する色温度を設定する
|
|
844
|
+
* @param temperature - 色温度(適切な範囲はおよそ -1.0 ~ 1.0)
|
|
845
|
+
*/
|
|
846
|
+
setColorTemperature(temperature: number): void;
|
|
847
|
+
/**
|
|
848
|
+
* シェーダ上で作用するティントを設定する
|
|
849
|
+
* @param tint - ティント(適切な範囲はおよそ -1.0 ~ 1.0)
|
|
850
|
+
*/
|
|
851
|
+
setColorTint(tint: number): void;
|
|
852
|
+
/**
|
|
853
|
+
* シェーダ上で作用するコントラストを設定する
|
|
854
|
+
* @param contrast - コントラスト(適切な範囲はおよそ 0.0 ~ 1.0)
|
|
855
|
+
*/
|
|
856
|
+
setColorContrast(contrast: number): void;
|
|
857
|
+
/**
|
|
858
|
+
* シェーダ上で作用する HSV を設定する
|
|
859
|
+
* @param hsv - 変換に用いる係数を Vector3 で表したもの
|
|
860
|
+
*/
|
|
861
|
+
setHSVColor(hsv: iVectorLike): void;
|
|
862
|
+
/**
|
|
863
|
+
* シェーダ上で作用する RGB を設定する
|
|
864
|
+
* @param rgb - 変換に用いる係数を Vector3 で表したもの(rgb-R, rgb-G, rgb-B)
|
|
865
|
+
*/
|
|
866
|
+
setColorRGB(rgb: iVectorLike): void;
|
|
867
|
+
/**
|
|
868
|
+
* シェーダ上で作用する blur を設定する
|
|
869
|
+
* @param blur - ガウシアン内で色をぼかす係数(適切な範囲はおよそ 0.0 ~ 1.0)
|
|
870
|
+
*/
|
|
871
|
+
setColorBlur(blur: number): void;
|
|
872
|
+
/**
|
|
873
|
+
* シェーダ上で作用する sharpness を設定する
|
|
874
|
+
* @param sharpness - ガウシアン内で色を強調する係数(適切な範囲はおよそ 0.0 ~ 1.0)
|
|
875
|
+
*/
|
|
876
|
+
setColorSharpness(sharpness: number): void;
|
|
877
|
+
/**
|
|
878
|
+
* ==========================================================================
|
|
879
|
+
* animation
|
|
880
|
+
* ==========================================================================
|
|
881
|
+
*/
|
|
882
|
+
/**
|
|
883
|
+
* アニメーションがアクティブかどうかを返す
|
|
884
|
+
* @returns アニメーションがアクティブかどうか
|
|
885
|
+
*/
|
|
886
|
+
isAnimating(): boolean;
|
|
887
|
+
/**
|
|
888
|
+
* 点描画の開花効果をアニメーションする
|
|
889
|
+
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
890
|
+
*/
|
|
891
|
+
startBloomPoints(duration: number): void;
|
|
892
|
+
/**
|
|
893
|
+
* 点描画からガウシアンへの溶解効果をアニメーションする
|
|
894
|
+
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
895
|
+
*/
|
|
896
|
+
startDissolveToGaussian(duration: number): void;
|
|
897
|
+
/**
|
|
898
|
+
* ソナー波効果をアニメーションする
|
|
899
|
+
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
900
|
+
*/
|
|
901
|
+
startSonarWave(duration: number): void;
|
|
902
|
+
/**
|
|
903
|
+
* カメラパスをアニメーションする
|
|
904
|
+
* @param name - カメラパスの名前
|
|
905
|
+
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
906
|
+
*/
|
|
907
|
+
animatePath(name: string, duration: number): void;
|
|
908
|
+
/**
|
|
909
|
+
* アニメーション用の距離情報を設定する
|
|
910
|
+
* @param mainDistance - メインの範囲の距離(実際の距離値、distance50やdistance70など、nullの場合は距離マッピングを無効化)
|
|
911
|
+
* @param remainingDistance - 残りの範囲の距離(実際の距離値、effectDistanceMaxと同じ、通常はdistance100、nullの場合は距離マッピングを無効化)
|
|
912
|
+
* @param splitPoint - 分割点(0.0~1.0、デフォルト0.8。progressがこの値まででmainDistance、それ以降でremainingDistanceまで)
|
|
913
|
+
* @note mainDistanceまたはremainingDistanceがnullの場合、距離マッピングは無効化され、progressがそのまま使用されます
|
|
914
|
+
* @deprecated setAnimationConfig を使用してください
|
|
915
|
+
*/
|
|
916
|
+
setDistanceInfoForAnimation(mainDistance: number | null, remainingDistance: number | null, splitPoint?: number): void;
|
|
917
|
+
/**
|
|
918
|
+
* アニメーションの最大描画距離を取得する
|
|
919
|
+
* @returns 最大描画距離(0.0~1.0)
|
|
920
|
+
* @deprecated getAnimationConfig を使用してください
|
|
921
|
+
*/
|
|
922
|
+
getMaxRenderDistanceForAnimation(): number;
|
|
923
|
+
/**
|
|
924
|
+
* アニメーションの最大描画距離を設定する
|
|
925
|
+
* progressが1.0に達したときにこの値がゴールとなる
|
|
926
|
+
* @param value - 最大描画距離(0.0~1.0)
|
|
927
|
+
* @deprecated setAnimationConfig を使用してください
|
|
928
|
+
*/
|
|
929
|
+
setMaxRenderDistanceForAnimation(value: number): void;
|
|
930
|
+
/**
|
|
931
|
+
* アニメーション設定を一括で取得する
|
|
932
|
+
* @returns 現在のアニメーション設定
|
|
933
|
+
*/
|
|
934
|
+
getAnimationConfig(): iAnimationConfig;
|
|
935
|
+
/**
|
|
936
|
+
* アニメーション設定を一括で設定する
|
|
937
|
+
* @param config - アニメーション設定オブジェクト
|
|
938
|
+
* @example
|
|
939
|
+
* // 最大描画距離のみ設定
|
|
940
|
+
* tvv.setAnimationConfig({ maxRenderDistance: 0.5 });
|
|
941
|
+
*
|
|
942
|
+
* // 距離マッピングと最大描画距離を設定
|
|
943
|
+
* tvv.setAnimationConfig({
|
|
944
|
+
* maxRenderDistance: 0.5,
|
|
945
|
+
* mainDistance: 50,
|
|
946
|
+
* remainingDistance: 100,
|
|
947
|
+
* splitPoint: 0.8
|
|
948
|
+
* });
|
|
949
|
+
*/
|
|
950
|
+
setAnimationConfig(config: iAnimationConfig): void;
|
|
951
|
+
/**
|
|
952
|
+
* ==========================================================================
|
|
953
|
+
* collision
|
|
954
|
+
* ==========================================================================
|
|
955
|
+
*/
|
|
956
|
+
/**
|
|
957
|
+
* セレクターから球の衝突判定を生成する
|
|
958
|
+
* @private
|
|
959
|
+
* @param selector - 対象となるセレクター
|
|
960
|
+
*/
|
|
961
|
+
private _createCollisionSphereFromSelector;
|
|
962
|
+
/**
|
|
963
|
+
* セレクターから箱の衝突判定を生成する
|
|
964
|
+
* @private
|
|
965
|
+
* @param selector - 対象となるセレクター
|
|
966
|
+
*/
|
|
967
|
+
private _createCollisionBoxFromSelector;
|
|
968
|
+
/**
|
|
969
|
+
* 衝突判定を設定する
|
|
970
|
+
* @param collision - 設定する衝突判定、またはその配列
|
|
971
|
+
*/
|
|
972
|
+
setCollision(collision: iCollisionTarget | iCollisionTarget[]): void;
|
|
973
|
+
/**
|
|
974
|
+
* 現在の衝突判定を解除する
|
|
975
|
+
*/
|
|
976
|
+
resetCollision(): void;
|
|
977
|
+
/**
|
|
978
|
+
* 現在選択しているガウシアンを削除状態とする
|
|
979
|
+
*/
|
|
980
|
+
deleteSelectedGaussian(): void;
|
|
981
|
+
/**
|
|
982
|
+
* 削除状態を一世代前に戻す
|
|
983
|
+
*/
|
|
984
|
+
undoDeletedGaussian(): void;
|
|
985
|
+
/**
|
|
986
|
+
* すべての削除状態をリセットする
|
|
987
|
+
*/
|
|
988
|
+
resetDeletedGaussian(): void;
|
|
989
|
+
/**
|
|
990
|
+
* セレクターによる衝突判定の反転フラグを設定する
|
|
991
|
+
* @param reversed - 設定する反転属性
|
|
992
|
+
*/
|
|
993
|
+
setCollisionReversed(reversed: boolean): void;
|
|
994
|
+
/**
|
|
995
|
+
* 名前を指定してセレクターで衝突判定を行う
|
|
996
|
+
* @param name - 対象となるセレクターの名前
|
|
997
|
+
*/
|
|
998
|
+
checkCollisionBySelector(name: string): void;
|
|
999
|
+
/**
|
|
1000
|
+
* 名前を複数(配列で)指定して対象のセレクターで衝突判定を行う
|
|
1001
|
+
* @param names - 対象となるセレクターの名前の配列
|
|
1002
|
+
*/
|
|
1003
|
+
checkCollisionBySelectors(names: string[]): void;
|
|
1004
|
+
/**
|
|
1005
|
+
* 現在追加されているすべてのセレクターで衝突判定を行う
|
|
1006
|
+
*/
|
|
1007
|
+
checkCollisionByAllSelectors(): void;
|
|
1008
|
+
/**
|
|
1009
|
+
* 球の衝突判定パラメータ(Worker に渡すフォーマット)を生成する
|
|
1010
|
+
* @param radius - 半径
|
|
1011
|
+
* @param position - ワールド空間における位置
|
|
1012
|
+
* @param scale - ワールド空間における拡大縮小(スケール)
|
|
1013
|
+
* @param inverseMatrix - ワールド変換の逆行列
|
|
1014
|
+
* @param reversed - 判定の反転(球に内包されている状態を規定とし、それを反転するかどうか)
|
|
1015
|
+
*/
|
|
1016
|
+
createCollisionSphere(radius: number, position: iVectorLike, scale: iVectorLike, inverseMatrix: Matrix4, reversed?: boolean): iCollisionTarget;
|
|
1017
|
+
/**
|
|
1018
|
+
* 箱の衝突判定パラメータ(Worker に渡すフォーマット)を生成する
|
|
1019
|
+
* @param width - 一辺の幅
|
|
1020
|
+
* @param position - ワールド空間における位置
|
|
1021
|
+
* @param scale - ワールド空間における拡大縮小(スケール)
|
|
1022
|
+
* @param inverseMatrix - ワールド変換の逆行列
|
|
1023
|
+
* @param reversed - 判定の反転(球に内包されている状態を規定とし、それを反転するかどうか)
|
|
1024
|
+
*/
|
|
1025
|
+
createCollisionBox(width: number, position: iVectorLike, scale: iVectorLike, inverseMatrix: Matrix4, reversed?: boolean): iCollisionTarget;
|
|
1026
|
+
/**
|
|
1027
|
+
* ==========================================================================
|
|
1028
|
+
* selector
|
|
1029
|
+
* ==========================================================================
|
|
1030
|
+
*/
|
|
1031
|
+
/**
|
|
1032
|
+
* すべての生成済みセレクターの諸情報を返す
|
|
1033
|
+
*/
|
|
1034
|
+
getAllSelectorInfo(): iSelectorInfo[];
|
|
1035
|
+
/**
|
|
1036
|
+
* 名前を指定してセレクターの可視性を設定する
|
|
1037
|
+
* @param name - 設定するセレクターの名前
|
|
1038
|
+
* @param visible - 設定する可視性
|
|
1039
|
+
*/
|
|
1040
|
+
setSelectorVisible(name: string, visible: boolean): void;
|
|
1041
|
+
/**
|
|
1042
|
+
* 名前を指定してセレクターを平行移動モードにする
|
|
1043
|
+
* @param name - 設定するセレクターの名前
|
|
1044
|
+
*/
|
|
1045
|
+
setSelectorModeTranslate(name: string): void;
|
|
1046
|
+
/**
|
|
1047
|
+
* 名前を指定してセレクターを拡大縮小モードにする
|
|
1048
|
+
* @param name - 設定するセレクターの名前
|
|
1049
|
+
*/
|
|
1050
|
+
setSelectorModeScale(name: string): void;
|
|
1051
|
+
/**
|
|
1052
|
+
* 名前を指定してセレクターを回転モードにする
|
|
1053
|
+
* @param name - 設定するセレクターの名前
|
|
1054
|
+
*/
|
|
1055
|
+
setSelectorModeRotate(name: string): void;
|
|
1056
|
+
/**
|
|
1057
|
+
* 名前を指定してセレクターの位置を設定する
|
|
1058
|
+
* @param name - 設定するセレクターの名前
|
|
1059
|
+
* @param position - 設定する位置
|
|
1060
|
+
*/
|
|
1061
|
+
setSelectorPosition(name: string, position: iVectorLike): void;
|
|
1062
|
+
/**
|
|
1063
|
+
* 名前を指定してセレクターの回転を設定する
|
|
1064
|
+
* @param name - 設定するセレクターの名前
|
|
1065
|
+
* @param rotation - 設定する回転(Euler)
|
|
1066
|
+
*/
|
|
1067
|
+
setSelectorRotation(name: string, rotation: iVectorLike): void;
|
|
1068
|
+
/**
|
|
1069
|
+
* 名前を指定してセレクターのスケールを設定する
|
|
1070
|
+
* @param name - 設定するセレクターの名前
|
|
1071
|
+
* @param position - 設定するスケール
|
|
1072
|
+
*/
|
|
1073
|
+
setSelectorScale(name: string, scale: iVectorLike): void;
|
|
1074
|
+
/**
|
|
1075
|
+
* 名前を指定してセレクターを削除する
|
|
1076
|
+
* @param name - 削除するセレクターの名前
|
|
1077
|
+
*/
|
|
1078
|
+
deleteSelector(name: string): void;
|
|
1079
|
+
/**
|
|
1080
|
+
* 名前を指定して球のセレクターを追加する(既定の状態では visible が false である点に注意)
|
|
1081
|
+
* @param name - 追加するセレクターに付与する名前
|
|
1082
|
+
* @param option - セレクターに対するオプション
|
|
1083
|
+
*/
|
|
1084
|
+
addSphereSelector(name: string, option?: iSphereSelectorOption): void;
|
|
1085
|
+
/**
|
|
1086
|
+
* 名前を指定して箱のセレクターを追加する(既定の状態では visible が false である点に注意)
|
|
1087
|
+
* @param name - 追加するセレクターに付与する名前
|
|
1088
|
+
* @param option - セレクターに対するオプション
|
|
1089
|
+
*/
|
|
1090
|
+
addBoxSelector(name: string, option?: iBoxSelectorOption): void;
|
|
1091
|
+
/**
|
|
1092
|
+
* OrbitControlsの注視点カーソル機能の有効・無効を設定する
|
|
1093
|
+
* orbitCursorが有効のとき、カメラモードがorbitかつ注視点の座標が変化したときに自動表示される
|
|
1094
|
+
* @param enabled - 有効にするかどうか
|
|
1095
|
+
*/
|
|
1096
|
+
enableOrbitCursor(enabled: boolean): void;
|
|
1097
|
+
/**
|
|
1098
|
+
* OrbitControlsの注視点カーソル機能が有効かどうかを取得する
|
|
1099
|
+
* @returns 有効かどうか
|
|
1100
|
+
*/
|
|
1101
|
+
isOrbitCursorEnabled(): boolean;
|
|
1102
|
+
/**
|
|
1103
|
+
* OrbitControlsの注視点カーソルのスケールを設定する
|
|
1104
|
+
* @param scale - 設定するスケール値
|
|
1105
|
+
*/
|
|
1106
|
+
setOrbitCursorScale(scale: number): void;
|
|
1107
|
+
}
|
|
1108
|
+
export {};
|