コンテンツにスキップ

B3dCollection

Summary

B3dScene インスタンスを管理

Classdesc

Viewer で表示する複数の B3dScene インスタンスを管理する。

See

Memberof

mapray

Hideconstructor

Constructors

new B3dCollection()

new B3dCollection(viewer): B3dCollection

Parameters

Parameter Type Description
viewer Viewer this を所有する Viewer インスタンス

Returns

B3dCollection

Properties

$debug

$debug: object

clip_coloring

clip_coloring: boolean = false

render_mode

render_mode: number = 0


_b3d_scenes

_b3d_scenes: Set<any>


_shader_cache

_shader_cache: object


_viewer

_viewer: Viewer


_wa_module

_wa_module: null | Module

Accessors

num_scenes

get num_scenes(): number

Summary

B3dScene インスタンスの数

Returns

number


shader_cache

get shader_cache(): object

シェーダをキャッシュするための特殊なプロパティ

Package

Returns

object


viewer

get viewer(): Viewer

Summary

this を所有するオブジェクト

Returns

Viewer

Methods

clearScenes()

clearScenes(): void

Returns

void

Summary

すべての B3dScene インスタンスを削除

Desc

this に含まれるすべての B3dScene インスタンスを削除する。

このメソッドを呼び出した後は、以前に this から取得した B3dScene インスタンスに アクセスすることができない。


createScene()

createScene(provider): B3dScene

Parameters

Parameter Type Description
provider B3dProvider B3dScene に対応する B3D プロバイダ

Returns

B3dScene

this に追加された B3dScene インスタンス

Summary

B3dScene インスタンスを作成して追加

Desc

provider に対応する B3dScene インスタンスを生成して this に追加する。


draw()

draw(stage): void

Parameters

Parameter Type Description
stage RenderStage

Returns

void

Summary

すべての B3D タイルの描画

Package


endFrame()

endFrame(): void

Returns

void

Summary

フレーム終了処理

Package


extraTouchCounterBegin()

extraTouchCounterBegin(extra_renderers): void

Parameters

Parameter Type
extra_renderers any

Returns

void


extraTouchCounterEnd()

extraTouchCounterEnd(): void

Returns

void


extraTouchCounterOnNodraw()

extraTouchCounterOnNodraw(extra_renderer): void

Parameters

Parameter Type
extra_renderer any

Returns

void


extraTouchCounterOnPostDraw()

extraTouchCounterOnPostDraw(extra_renderer): void

Parameters

Parameter Type
extra_renderer any

Returns

void


extraTouchCounterOnPreDraw()

extraTouchCounterOnPreDraw(extra_renderer): void

Parameters

Parameter Type
extra_renderer any

Returns

void


extraTouchCounterOnSkip()

extraTouchCounterOnSkip(extra_renderer): void

Parameters

Parameter Type
extra_renderer any

Returns

void


getIterator()

getIterator(): object

Returns

object

反復子

Summary

B3dScene インスタンスの反復子を取得

Desc

このメソッドが返したオブジェクトを it とするとき、example の (A) のコメント位置で、個々の B3dScene インスタンスを取得することができる。

このとき B3dScene インスタンスの反復順序は決まっていない。

また、反復中に B3dScene インスタンスを追加または削除したときの動作は未定義である。

Example

while ( it.value !== null ) {
    // (A): ここで it.value の値が B3dScene インスタンス
    it.next();
}

getRayIntersection()

getRayIntersection(ray, limit): null | object

Parameters

Parameter Type Description
ray Ray 半直線を表すレイ (GOCS)
limit number 制限距離 (ray.direction の長さを単位)

Returns

null | object

交点の情報

Summary

すべての B3D シーンとレイとの交点を探す

Desc

線分 (ray.position を始点とし、そこから ray.direction 方向に limit 距離 未満にある点) と this 全体の三角形との交点の中で、始点から最も近い交点の情 報を返す。ただし線分と交差する三角形が見つからないときは null を返す。

戻り値のオブジェクト形式は次のようになる。ここで uint32 は 0 から 2^32 - 1 の整数値である。

{ b3d_scene: B3dScene, distance: number, feature_id: [uint32, uint32] }

戻り値のオブジェクトと、そこから参照できるオブジェクトは変更しても問 題ない。

Package


getWasmModule()

getWasmModule(): null | Module

Returns

null | Module

Summary

wasm モジュールを取得

B3dScene が必要とする wasm モジュールを返す。まだモジュールがロードされていない ときは null を返す。

Package


removeScene()

removeScene(scene): void

Parameters

Parameter Type Description
scene B3dScene 削除する B3dScene インスタンス

Returns

void

Summary

B3dScene インスタンスを削除

Desc

this に含まれる scene を this から削除する。

このメソッドを呼び出した後は scene にアクセスすることはできない。