@openheart/tavio-renderer 2.2.12-without-wasm → 2.2.13-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/build/esm/index.js +834 -130
- package/build/esm/types/camera/orbitControls.d.ts +16 -5
- package/build/esm/types/viewer/canvas.d.ts +53 -32
- package/build/esm/types/viewer/tavioMesh.d.ts +60 -2
- package/build/esm/wasm/pkg/no-thread/tavio.d.ts +13 -13
- package/build/esm/wasm/pkg/no-thread/tavio.js +92 -92
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm.d.ts +13 -13
- package/build/esm/wasm/pkg/thread/tavio.d.ts +12 -12
- package/build/esm/wasm/pkg/thread/tavio.js +117 -117
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm.d.ts +12 -12
- package/package.json +1 -1
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { PerspectiveCamera, Vector3 } from 'three';
|
|
1
|
+
import { PerspectiveCamera, Vector2, Vector3 } from 'three';
|
|
2
2
|
import { default as EventEmitter } from 'eventemitter3';
|
|
3
3
|
interface iOrbitState {
|
|
4
4
|
position: Vector3;
|
|
5
5
|
target: Vector3;
|
|
6
6
|
}
|
|
7
|
+
interface iThetaPhi {
|
|
8
|
+
theta: number;
|
|
9
|
+
phi: number;
|
|
10
|
+
eye?: Vector3;
|
|
11
|
+
eyeXZ?: Vector2;
|
|
12
|
+
}
|
|
7
13
|
/**
|
|
8
14
|
* カメラを中心に首振りや仰角方向の視線制御を可能とするカメラコントロール
|
|
9
15
|
* @class
|
|
@@ -64,15 +70,16 @@ export declare class OrbitControls extends EventEmitter {
|
|
|
64
70
|
private _quatX;
|
|
65
71
|
private _quatY;
|
|
66
72
|
static EVENTS: string[];
|
|
73
|
+
/**
|
|
74
|
+
* 与えられた三次元ベクトル(要正規化)から theta と phi を計算する
|
|
75
|
+
* @param eye - 正規化されたベクトル
|
|
76
|
+
*/
|
|
77
|
+
static calcThetaPhi(eye: Vector3): iThetaPhi;
|
|
67
78
|
/**
|
|
68
79
|
* @constructor
|
|
69
80
|
* @param camera - 制御の対象となるカメラ
|
|
70
81
|
*/
|
|
71
82
|
constructor(camera: PerspectiveCamera);
|
|
72
|
-
/**
|
|
73
|
-
* 現在の視線から theta と phi を計算する
|
|
74
|
-
*/
|
|
75
|
-
private _getTP;
|
|
76
83
|
/**
|
|
77
84
|
* 大きなラジアンをクランプする
|
|
78
85
|
* @param value - 処理対象となる値
|
|
@@ -116,6 +123,10 @@ export declare class OrbitControls extends EventEmitter {
|
|
|
116
123
|
* 注視点とカメラの距離を設定する
|
|
117
124
|
*/
|
|
118
125
|
setDistance(distance: number): void;
|
|
126
|
+
/**
|
|
127
|
+
* 現在の向き(ラジアンでの緯度経度)
|
|
128
|
+
*/
|
|
129
|
+
getAngle(): iThetaPhi;
|
|
119
130
|
/**
|
|
120
131
|
* 前後移動(相対指定)
|
|
121
132
|
* @param value - 距離
|
|
@@ -59,6 +59,7 @@ interface iCameraPathOption {
|
|
|
59
59
|
interface iCameraParameter {
|
|
60
60
|
position?: number[];
|
|
61
61
|
eye?: number[];
|
|
62
|
+
target?: number[];
|
|
62
63
|
fov?: number;
|
|
63
64
|
}
|
|
64
65
|
/**
|
|
@@ -307,7 +308,7 @@ export declare class Core extends EventEmitter {
|
|
|
307
308
|
/**
|
|
308
309
|
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
309
310
|
* @param name - このメッシュの固有名
|
|
310
|
-
* @param url - 読み込む .
|
|
311
|
+
* @param url - 読み込む .ply ファイル
|
|
311
312
|
* @param option - ロード・パース関連のオプション
|
|
312
313
|
*/
|
|
313
314
|
concatPly(name: string, url: string, option?: iLoadingOption): Promise<void>;
|
|
@@ -320,10 +321,33 @@ export declare class Core extends EventEmitter {
|
|
|
320
321
|
/**
|
|
321
322
|
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
322
323
|
* @param name - このメッシュの固有名
|
|
323
|
-
* @param url - 読み込む .
|
|
324
|
-
* @param option - ロード・パース関連のオプション
|
|
324
|
+
* @param url - 読み込む .splat ファイル
|
|
325
325
|
*/
|
|
326
326
|
concatSplat(name: string, url: string): Promise<void>;
|
|
327
|
+
/**
|
|
328
|
+
* TavioMesh のインスタンスを生成し画像形式のリソースをロード、シーンに追加する
|
|
329
|
+
* @param name - このメッシュの固有名
|
|
330
|
+
* @param url - 読み込む画像ファイル
|
|
331
|
+
*/
|
|
332
|
+
loadImage(name: string, url: string): Promise<void>;
|
|
333
|
+
/**
|
|
334
|
+
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
335
|
+
* @param name - このメッシュの固有名
|
|
336
|
+
* @param url - 読み込む画像ファイル
|
|
337
|
+
*/
|
|
338
|
+
concatImage(name: string, url: string): Promise<void>;
|
|
339
|
+
/**
|
|
340
|
+
* canvas 要素から TavioMesh のインスタンスを生成し、シーンに追加する
|
|
341
|
+
* @param name - このメッシュの固有名
|
|
342
|
+
* @param canvas - 処理の対象となる canvas 要素
|
|
343
|
+
*/
|
|
344
|
+
loadCanvas(name: string, canvas: HTMLCanvasElement): Promise<void>;
|
|
345
|
+
/**
|
|
346
|
+
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
347
|
+
* @param name - このメッシュの固有名
|
|
348
|
+
* @param canvas - 処理の対象となる canvas 要素
|
|
349
|
+
*/
|
|
350
|
+
concatCanvas(name: string, canvas: HTMLCanvasElement): Promise<void>;
|
|
327
351
|
/**
|
|
328
352
|
* tavio 形式のリソースをロードする
|
|
329
353
|
* @param name - このメッシュの固有名
|
|
@@ -376,14 +400,14 @@ export declare class Core extends EventEmitter {
|
|
|
376
400
|
setBackgroundOpacity(opacity: number): void;
|
|
377
401
|
/**
|
|
378
402
|
* 名前を指定した TavioMesh に含まれるインスタンスを、インデックスで指定して動かす
|
|
379
|
-
* ※ここでいうインデックスとは load/concat
|
|
403
|
+
* ※ここでいうインデックスとは load/concat した順番を意味する整数値(concat していない場合常に 0)
|
|
380
404
|
* @param name - 対象の名前
|
|
381
405
|
* @param index - インデックス
|
|
382
406
|
* @param translation - 平行移動
|
|
383
407
|
* @param rotation - 回転(オイラー角)
|
|
384
408
|
* @param scale - 拡大縮小(XYZ で統一のスケール)
|
|
385
409
|
*/
|
|
386
|
-
setTransform(name: string, index: number, translation:
|
|
410
|
+
setTransform(name: string, index: number, translation: iVectorLike, rotation: iVectorLike, scale: number): void;
|
|
387
411
|
/**
|
|
388
412
|
* 名前を指定した TavioMesh に含まれるインスタンスの、指定されたインデックスの座標変換情報を返す
|
|
389
413
|
* ※ここでいうインデックスとは load/concat した順番を意味する整数値
|
|
@@ -391,6 +415,14 @@ export declare class Core extends EventEmitter {
|
|
|
391
415
|
* @param index - インデックス
|
|
392
416
|
*/
|
|
393
417
|
getTransform(name: string, index: number): iTransform;
|
|
418
|
+
/**
|
|
419
|
+
* 名前を指定した TavioMesh に含まれるインスタンスをビルボードとして扱うかどうかを設定する
|
|
420
|
+
* ※ここでいうインデックスとは load/concat した順番を意味する整数値
|
|
421
|
+
* @param name - 対象の名前
|
|
422
|
+
* @param index - インデックス
|
|
423
|
+
* @param flag - ビルボードとして扱うかどうか
|
|
424
|
+
*/
|
|
425
|
+
setBillboard(name: string, index: number, flag: boolean): void;
|
|
394
426
|
/**
|
|
395
427
|
* ==========================================================================
|
|
396
428
|
* general
|
|
@@ -458,22 +490,28 @@ export declare class Core extends EventEmitter {
|
|
|
458
490
|
* @private
|
|
459
491
|
*/
|
|
460
492
|
private _updateViewportUniforms;
|
|
493
|
+
/**
|
|
494
|
+
* 座標を焼き込むレンダリング処理を実行しソートを実行させる
|
|
495
|
+
* @param isForce - 強制的に実行するかどうか
|
|
496
|
+
*/
|
|
497
|
+
private _renderDepthRenderTarget;
|
|
461
498
|
/**
|
|
462
499
|
* ==========================================================================
|
|
463
500
|
* camera
|
|
464
501
|
* ==========================================================================
|
|
465
502
|
*/
|
|
466
503
|
/**
|
|
467
|
-
*
|
|
504
|
+
* カメラの現在の座標と視線方向、視野角を取得する
|
|
468
505
|
*/
|
|
469
506
|
getCameraParameter(): iCameraParameter;
|
|
470
507
|
/**
|
|
471
|
-
*
|
|
508
|
+
* カメラの現在の座標と注視点、視野角を設定する
|
|
509
|
+
* ※このメソッドは設定時、その値が即座に反映される
|
|
472
510
|
* @param position - 設定する座標
|
|
473
|
-
* @param
|
|
511
|
+
* @param target - 設定する注視点
|
|
474
512
|
* @param fov - 設定する視野角
|
|
475
513
|
*/
|
|
476
|
-
setCameraParameter(position: iVectorLike,
|
|
514
|
+
setCameraParameter(position: iVectorLike | null, target?: iVectorLike | null, fov?: number | null): void;
|
|
477
515
|
/**
|
|
478
516
|
* ==========================================================================
|
|
479
517
|
* controls
|
|
@@ -498,23 +536,6 @@ export declare class Core extends EventEmitter {
|
|
|
498
536
|
* orbit controls
|
|
499
537
|
* ==========================================================================
|
|
500
538
|
*/
|
|
501
|
-
/**
|
|
502
|
-
* オービットコントロールの注視点の座標を取得する
|
|
503
|
-
* @returns 注視点の座標
|
|
504
|
-
*/
|
|
505
|
-
getOrbitTarget(): iVectorLike;
|
|
506
|
-
/**
|
|
507
|
-
* オービットコントロールの注視点と座標を設定する
|
|
508
|
-
* @param position - カメラの座標
|
|
509
|
-
* @param target - 注視点の座標
|
|
510
|
-
* setTransferPositionのみ呼び出した場合、見た目が変わらなかったため本関数を作成。
|
|
511
|
-
*/
|
|
512
|
-
setOrbitPositionAndTarget(position: iVectorLike, target: iVectorLike): void;
|
|
513
|
-
/**
|
|
514
|
-
* オービットコントロールの注視点を設定する
|
|
515
|
-
* @param target - 注視点の座標
|
|
516
|
-
*/
|
|
517
|
-
setOrbitTarget(target: iVectorLike): void;
|
|
518
539
|
/**
|
|
519
540
|
* オービットコントロールのズーム使用可否を設定する
|
|
520
541
|
* @param enable - 使用可否を意味する真偽値
|
|
@@ -731,6 +752,12 @@ export declare class Core extends EventEmitter {
|
|
|
731
752
|
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
732
753
|
*/
|
|
733
754
|
setTransferRelativePosition(position: iVectorLike, isForce?: boolean): void;
|
|
755
|
+
/**
|
|
756
|
+
* TransferControls に fov を設定する
|
|
757
|
+
* @param fov - 設定する fov
|
|
758
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
759
|
+
*/
|
|
760
|
+
setTransferFov(fov: number, isForce?: boolean): void;
|
|
734
761
|
/**
|
|
735
762
|
* TransferControls に、現在の位置と向きに応じて移動するよう設定する
|
|
736
763
|
* @param offset - 移動する量
|
|
@@ -758,12 +785,6 @@ export declare class Core extends EventEmitter {
|
|
|
758
785
|
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
759
786
|
*/
|
|
760
787
|
moveTransferToBottom(scale: number, isForce?: boolean): void;
|
|
761
|
-
/**
|
|
762
|
-
* TransferControls に fov を設定する
|
|
763
|
-
* @param fov - 設定する fov
|
|
764
|
-
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
765
|
-
*/
|
|
766
|
-
setTransferFov(fov: number, isForce?: boolean): void;
|
|
767
788
|
/**
|
|
768
789
|
* ==========================================================================
|
|
769
790
|
* camera collider
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
import { CubeTexture, DataTexture, Euler, PerspectiveCamera, Points, RawShaderMaterial, Texture, Vector3, WebGLRenderer } from 'three';
|
|
2
2
|
import { default as EventEmitter } from 'eventemitter3';
|
|
3
|
-
import { iLoadingOption, iViewerOption, iHeaderInfo, iTransform } from './canvas';
|
|
3
|
+
import { iLoadingOption, iViewerOption, iHeaderInfo, iTransform, iVectorLike } from './canvas';
|
|
4
4
|
import { iCollisionTarget } from '../worker/tavioWorker';
|
|
5
5
|
import { InstancedMeshEX } from '../extension/InstancedMeshEX';
|
|
6
|
+
/**
|
|
7
|
+
* 画素情報として扱えるオブジェクト
|
|
8
|
+
*/
|
|
9
|
+
type tImageSource = HTMLImageElement | HTMLCanvasElement;
|
|
10
|
+
/**
|
|
11
|
+
* 画像や canvas 要素をパースした結果
|
|
12
|
+
*/
|
|
13
|
+
interface iSplatSource {
|
|
14
|
+
count: number;
|
|
15
|
+
position32: Float32Array;
|
|
16
|
+
color8: Uint8ClampedArray;
|
|
17
|
+
converted: Uint8Array;
|
|
18
|
+
min: {
|
|
19
|
+
alpha: number;
|
|
20
|
+
scale: iVectorLike;
|
|
21
|
+
};
|
|
22
|
+
max: {
|
|
23
|
+
alpha: number;
|
|
24
|
+
scale: iVectorLike;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
6
27
|
export declare class TavioMesh extends EventEmitter {
|
|
7
28
|
private perspectiveCamera;
|
|
8
29
|
private worker;
|
|
@@ -61,6 +82,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
61
82
|
private useWasmSort;
|
|
62
83
|
private wasmSortClient;
|
|
63
84
|
private isSorting;
|
|
85
|
+
private hasBillboard;
|
|
64
86
|
private lastViewProjectionMatrix;
|
|
65
87
|
private depthRenderTarget;
|
|
66
88
|
private depthRenderScene;
|
|
@@ -121,6 +143,11 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
121
143
|
* @param url - 読み込む .splat ファイル
|
|
122
144
|
*/
|
|
123
145
|
loadSplat(url: string): Promise<void>;
|
|
146
|
+
/**
|
|
147
|
+
* 画像形式のリソースをロードする
|
|
148
|
+
* @param url - 読み込む画像ファイル
|
|
149
|
+
*/
|
|
150
|
+
loadImage(url: string): Promise<void>;
|
|
124
151
|
/**
|
|
125
152
|
* tavio 形式のリソースをロードする
|
|
126
153
|
* @param url - 読み込む .tavio ファイル
|
|
@@ -174,6 +201,16 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
174
201
|
useGeneralData?: boolean;
|
|
175
202
|
featureFlags?: number;
|
|
176
203
|
}): Promise<void>;
|
|
204
|
+
/**
|
|
205
|
+
* canvas 要素からガウシアンを生成してシーンに追加する
|
|
206
|
+
* @param canvas - 対象となる canvas 要素
|
|
207
|
+
*/
|
|
208
|
+
loadCanvas(canvas: HTMLCanvasElement): Promise<void>;
|
|
209
|
+
/**
|
|
210
|
+
* 画像や canvas 要素をパースし変換する
|
|
211
|
+
* @param imageSource - 対象となる画像や canvas
|
|
212
|
+
*/
|
|
213
|
+
convertImageSource(imageSource: tImageSource): iSplatSource;
|
|
177
214
|
/**
|
|
178
215
|
* ==========================================================================
|
|
179
216
|
* getter / setter
|
|
@@ -264,13 +301,30 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
264
301
|
* @param translation - 平行移動
|
|
265
302
|
* @param rotation - 回転(オイラー角)
|
|
266
303
|
* @param scale - 拡大縮小(XYZ で統一のスケール)
|
|
304
|
+
* @param force - 同時にテクスチャの内容を強制的に書き換えるかどうか
|
|
267
305
|
*/
|
|
268
|
-
setTransform(index: number, translation: Vector3, rotation: Euler, scale: number): void;
|
|
306
|
+
setTransform(index: number, translation: Vector3, rotation: Euler, scale: number, isForce?: boolean): void;
|
|
269
307
|
/**
|
|
270
308
|
* 指定されたインデックスの座標変換情報を返す
|
|
271
309
|
* @param index - インデックス
|
|
272
310
|
*/
|
|
273
311
|
getTransform(index: number): iTransform;
|
|
312
|
+
/**
|
|
313
|
+
* インデックスを指定してビルボードの設定を行う
|
|
314
|
+
* @param index - インデックス
|
|
315
|
+
* @param flag - ビルボードとして扱うかどうか
|
|
316
|
+
*/
|
|
317
|
+
setBillboard(index: number, flag: boolean): void;
|
|
318
|
+
/**
|
|
319
|
+
* ビルボードのための transform 情報の更新を行う
|
|
320
|
+
* @param camera - カメラのワールド空間上の位置
|
|
321
|
+
*/
|
|
322
|
+
updateBillboard(camera: PerspectiveCamera): void;
|
|
323
|
+
/**
|
|
324
|
+
* インスタンスごとの transform 情報をテクスチャに適用し更新する
|
|
325
|
+
* @private
|
|
326
|
+
*/
|
|
327
|
+
private _updateTransformData;
|
|
274
328
|
/**
|
|
275
329
|
* 自身のプロパティの状態に応じて球面調和関数に関連する uniform 変数の更新を行う
|
|
276
330
|
* @private
|
|
@@ -325,6 +379,10 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
325
379
|
* setup
|
|
326
380
|
* ==========================================================================
|
|
327
381
|
*/
|
|
382
|
+
/**
|
|
383
|
+
* データのロード前に各種フラグをセットアップする
|
|
384
|
+
*/
|
|
385
|
+
setupFlags(): void;
|
|
328
386
|
/**
|
|
329
387
|
* tavio 形式用の worker をセットアップする
|
|
330
388
|
*/
|
|
@@ -56,28 +56,28 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
56
56
|
|
|
57
57
|
export interface InitOutput {
|
|
58
58
|
readonly memory: WebAssembly.Memory;
|
|
59
|
-
readonly decodeTavio: (a: number, b: number, c: number) => number;
|
|
60
59
|
readonly main: () => void;
|
|
61
60
|
readonly registerEventHandler: (a: number) => number;
|
|
62
61
|
readonly sort: (a: number, b: number, c: number) => number;
|
|
63
|
-
readonly
|
|
64
|
-
readonly intounderlyingsource_cancel: (a: number) => void;
|
|
65
|
-
readonly intounderlyingsource_pull: (a: number, b: number) => number;
|
|
66
|
-
readonly __wbg_intounderlyingbytesource_free: (a: number, b: number) => void;
|
|
62
|
+
readonly decodeTavio: (a: number, b: number, c: number) => number;
|
|
67
63
|
readonly __wbg_intounderlyingsink_free: (a: number, b: number) => void;
|
|
64
|
+
readonly intounderlyingsink_abort: (a: number, b: number) => number;
|
|
65
|
+
readonly intounderlyingsink_close: (a: number) => number;
|
|
66
|
+
readonly intounderlyingsink_write: (a: number, b: number) => number;
|
|
67
|
+
readonly __wbg_intounderlyingbytesource_free: (a: number, b: number) => void;
|
|
68
68
|
readonly intounderlyingbytesource_autoAllocateChunkSize: (a: number) => number;
|
|
69
69
|
readonly intounderlyingbytesource_cancel: (a: number) => void;
|
|
70
70
|
readonly intounderlyingbytesource_pull: (a: number, b: number) => number;
|
|
71
71
|
readonly intounderlyingbytesource_start: (a: number, b: number) => void;
|
|
72
72
|
readonly intounderlyingbytesource_type: (a: number) => number;
|
|
73
|
-
readonly
|
|
74
|
-
readonly
|
|
75
|
-
readonly
|
|
76
|
-
readonly
|
|
77
|
-
readonly
|
|
78
|
-
readonly
|
|
79
|
-
readonly
|
|
80
|
-
readonly
|
|
73
|
+
readonly __wbg_intounderlyingsource_free: (a: number, b: number) => void;
|
|
74
|
+
readonly intounderlyingsource_cancel: (a: number) => void;
|
|
75
|
+
readonly intounderlyingsource_pull: (a: number, b: number) => number;
|
|
76
|
+
readonly __wasm_bindgen_func_elem_398: (a: number, b: number) => void;
|
|
77
|
+
readonly __wasm_bindgen_func_elem_747: (a: number, b: number) => void;
|
|
78
|
+
readonly __wasm_bindgen_func_elem_737: (a: number, b: number, c: number, d: number) => void;
|
|
79
|
+
readonly __wasm_bindgen_func_elem_1574: (a: number, b: number, c: number, d: number) => void;
|
|
80
|
+
readonly __wasm_bindgen_func_elem_407: (a: number, b: number, c: number) => void;
|
|
81
81
|
readonly __wbindgen_export: (a: number, b: number) => number;
|
|
82
82
|
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
83
83
|
readonly __wbindgen_export3: (a: number) => void;
|