Box¶
点群ツリーを構成するノード。 ルート要素(level === 0) は、Box.createRoot()を用いて作成する。
Constructors¶
new Box()¶
new Box(
parent,level,x,y,z):Box
Parameters¶
| Parameter | Type | Description |
|---|---|---|
parent |
undefined | Box |
親Box(level === 0の場合はnull) |
level |
number |
レベル |
x |
number |
x |
y |
number |
y |
z |
number |
z |
Returns¶
Properties¶
gocs_center¶
gocs_center:
Vector3
GOCS座標系でのBoxの中心位置
level¶
level:
number
レベル
x¶
x:
number
x
y¶
y:
number
y
z¶
z:
number
z
Accessors¶
Status¶
getstaticStatus(): typeofStatus
Returns¶
typeof Status
is_loaded¶
getis_loaded():boolean
読み込みが完了しているか
Returns¶
boolean
owner¶
getowner():PointCloud
PointCloudオブジェクト
Returns¶
parent¶
getparent():undefined|Box
親ノード
Returns¶
undefined | Box
status¶
getstatus():Status
読み込みステータス
Returns¶
upward_vector¶
getupward_vector():Vector3
上方向のベクトル
Returns¶
vertex_length¶
getvertex_length():number
Boxに含まれる点の数
Returns¶
number
Methods¶
cellPointsAvailable()¶
cellPointsAvailable(
index):boolean
Box領域を8分割した領域ごとに点が存在するかを調べる。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
index |
number |
子Boxと同様の順番 |
Returns¶
boolean
点が存在する場合に true となる。
createRoot()¶
staticcreateRoot(owner,content_root?):Box
ルートBoxを生成します。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
owner |
PointCloud |
|
content_root? |
[number, number, number, number] |
- |
Returns¶
dispose()¶
dispose(
statistics?):void
Boxを破棄します。子孫Boxも全て削除する。 全ての状態でこの関数を呼ぶことができ、複数回呼ぶことができる。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
statistics? |
Statistics |
統計情報 |
Returns¶
void
disposeChildren()¶
disposeChildren(
statistics?):void
子孫Boxを全て削除する。 全ての状態でこの関数を呼ぶことができ、複数回呼ぶことができる。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
statistics? |
Statistics |
統計情報 |
Returns¶
void
forEach()¶
Experimental
forEach(
callback,bounds?):void
読み込み済みの Box を引数として、指定されたコールバック関数を呼び出します。
読み込み済みとは、Box.status == PointCloud.Status.LOADED を満たす Box を指します。
bounds が指定された場合は、boundsと交差するBoxのみを対象としてコールバック関数を呼び出します。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
callback |
(box) => void |
コールバック関数 |
bounds? |
object |
バウンディングボックス(GOCS座標) |
bounds.max? |
Vector3 |
- |
bounds.min? |
Vector3 |
- |
Returns¶
void
getChild()¶
getChild(
index):undefined|Box
Parameters¶
| Parameter | Type | Description |
|---|---|---|
index |
number |
番号 |
Returns¶
undefined | Box
Summary¶
子Boxを取得。 存在しない場合は null を返却する。
getChildInfo()¶
getChildInfo(
index):undefined|object
子Boxの情報を取得
Parameters¶
| Parameter | Type | Description |
|---|---|---|
index |
number |
番号 |
Returns¶
undefined | object
getVertexColor()¶
Experimental
getVertexColor(
vertexIndex,dst):Vector3
頂点色を取得します。
Parameters¶
| Parameter | Type |
|---|---|
vertexIndex |
number |
dst |
Vector3 |
Returns¶
getVertexPosition()¶
Experimental
getVertexPosition(
vertexIndex,dst):Vector3
頂点位置を取得します。
座標値は Gocs座標系 です。
Parameters¶
| Parameter | Type |
|---|---|
vertexIndex |
number |
dst |
Vector3 |
Returns¶
indexOf()¶
indexOf(
child):number
子Boxの番号を返します。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
child |
Box |
子Box |
Returns¶
number
isFloatVertexBufferAvailable()¶
Experimental
isFloatVertexBufferAvailable(
name):boolean
頂点バッファが登録されているか確認します
Parameters¶
| Parameter | Type |
|---|---|
name |
string |
Returns¶
boolean
isInvisible()¶
isInvisible(
clip_planes):boolean
カリングするか?
Parameters¶
| Parameter | Type | Description |
|---|---|---|
clip_planes |
Vector4[] |
クリップ平面配列 |
Returns¶
boolean
見えないとき true, 見えるまたは不明のとき false
load()¶
load():
Promise<void>
点群の読み込み処理
Returns¶
Promise<void>
newChild()¶
newChild(
index,statistics?):undefined|Box
子Boxを生成。(すでに存在する場合は既存のBoxを返す) LOADED 状態でのみ呼ぶことができる
Parameters¶
| Parameter | Type | Description |
|---|---|---|
index |
number |
番号 |
statistics? |
Statistics |
統計情報 |
Returns¶
undefined | Box
newChildAt()¶
newChildAt(
u,v,w,statistics?):undefined|Box
子Boxを生成。(すでに存在する場合は既存のBoxを返す) LOADED 状態でのみ呼ぶことができる
Parameters¶
| Parameter | Type | Description |
|---|---|---|
u |
number |
x方向-側は0、+側は1 |
v |
number |
y方向-側は0、+側は1 |
w |
number |
z方向-側は0、+側は1 |
statistics? |
Statistics |
統計情報 |
Returns¶
undefined | Box
registerFloatVertexBuffer()¶
Experimental
registerFloatVertexBuffer(
name,attribute,values):void
VertexBufferを登録します。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
name |
string |
|
attribute |
object |
|
attribute.byte_offset |
number |
- |
attribute.byte_stride |
number |
- |
attribute.num_components |
number |
- |
values |
Float32Array<ArrayBufferLike> |
Returns¶
void
toString()¶
toString():
string
Boxの文字列表現を返します。
Returns¶
string
toTreeString()¶
toTreeString(
indent):string
Boxのツリー形式の文字列表現を返します。
Parameters¶
| Parameter | Type | Default value | Description |
|---|---|---|---|
indent |
string |
"" |
ルート要素のインデント文字列を指定します。 |
Returns¶
string
unregisterFloatVertexBuffer()¶
Experimental
unregisterFloatVertexBuffer(
name):void
バッファを削除します
Parameters¶
| Parameter | Type |
|---|---|
name |
string |
Returns¶
void
updateFloatVertexBuffer()¶
Experimental
updateFloatVertexBuffer(
name,values):void
頂点バッファの値を更新します
Parameters¶
| Parameter | Type |
|---|---|
name |
string |
values |
Float32Array<ArrayBufferLike> |
Returns¶
void