Drawableクラス
Drawableは、ARObjectのグラフィカル表現を実装したスーパークラスです。
Drawableは他のクラスのスーパークラスなので、ユーザーコードで直接インスタンス化しないでください。
定義された変換(ローカルおよびグローバルの回転と平行移動、ローカルスケーリング)はDrawablesに適用できます。Drawableには回転を適用できます。Drawableのローカル座標系は右手座標系として定義されており、以下のように定義されます。
- 座標系の原点は、DrawableがアタッチされているObjectのロケーションにあります。
- x軸は右を指します。
- y軸は上を指します。
- z軸は画面から離れる方向を指します。
フロントカメラを使用するとき、mirroredフラグを設定することでDrawableをミラーリングできます。デフォルトでは、ラベルとHTMLDrawable以外のDrawableはすべてミラーリングしますが、この設定はオーバーライドできます。
項目索引
メソッド
プロパティ
- destroyed
- enabled
- mirrored
- rotate
- rotate.global.x
- rotate.global.y
- rotate.global.z
- rotate.heading 非推奨
- rotate.roll 非推奨
- rotate.tilt 非推奨
- rotate.x
- rotate.y
- rotate.z
- rotatesToCamera
- scale
- scale.x
- scale.y
- scale.z
- translate
- translate.global.x
- translate.global.y
- translate.global.z
- translate.x
- translate.y
- translate.z
メソッド
destroy
()
オブジェクトを破棄します。
プロパティ
enabled
Boolean
Drawableを有効または無効にするフラグ。無効なDrawableはカメラビューに表示されず、トリガーも発生しません。有効な場合は状況に応じてレンダリングされ、トリガーが発生します。
デフォルト値: true
mirrored
Boolean
このDrawableのミラーリングを有効または無効にするフラグ。フロントカメラを使用したとき、ミラーリングしたDrawableはy軸を中心に180°回転します。
デフォルト値: 一般的なDrawableの場合はtrue、ラベルとHTMLDrawableの場合はfalse
rotate
Object
Drawableの中央を中心とする回転を定義します。 このプロパティを使用すると、最高のパフォーマンスを出すために、Wikitude SDKのネイティブサイドへの1回の呼び出しで、x、y、zコンポーネントを同時に設定できます。 Objectは、x、y、z、またはそのサブセットを含むことができます。
rotate.global.x
Number
x軸を中心としたDrawableの回転(度単位)を定義します。 値には360の剰余が適用されます。 つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。 すべてのグローバル変換は、ローカル変換後に適用されます。
デフォルト値: 0
rotate.global.y
Number
y軸を中心としたDrawableの回転(度単位)を定義します。値には360の剰余が適用されます。つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。 すべてのグローバル変換は、ローカル変換後に適用されます。
デフォルト値: 0
rotate.global.z
Number
z軸を中心としたDrawableの回転(度単位)を定義します。値には360の剰余が適用されます。つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。 すべてのグローバル変換は、ローカル変換後に適用されます。
デフォルト値: 0
rotate.x
Number
x軸を中心としたDrawableの回転(度単位)を定義します。 値には360の剰余が適用されます。 つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。
デフォルト値: 0
rotate.y
Number
y軸を中心としたDrawableの回転(度単位)を定義します。 値には360の剰余が適用されます。 つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。
デフォルト値: 0
rotate.z
Number
z軸を中心としたDrawableの回転(度単位)を定義します。 値には360の剰余が適用されます。 つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。
デフォルト値: 0
rotatesToCamera
Boolean
drawableがカメラに向いているかどうかを定義します。これは、GeoObject にアタッチされたDrawablesに対してのみ可能です。
デフォルト値:一般的なdrawableの場合はtrue、モデルの場合はfalse。
scale
Object
Drawableのスケールを定義します。 このプロパティを使用すると、最高のパフォーマンスを出すために、Wikitude SDKのネイティブサイドへの1回の呼び出しで、x、y、zコンポーネントを同時に設定できます。 Objectは、x、y、z、またはそのサブセットを含むことができます。
translate
Object
Drawableの平行移動を定義します。 このプロパティを使用すると、最高のパフォーマンスを出すために、Wikitude SDKのネイティブサイドへの1回の呼び出しで、x、y、zコンポーネントを同時に設定できます。 Objectは、x、y、z、またはそのサブセットを含むことができます。
translate.global.x
Number
Drawableの計算された位置への水平オフセット( SDU 単位)。 正の数xはDrawableを右に移動させ、負の数xは左に移動させます。 すべてのグローバル変換は、ローカル変換後に適用されます。
デフォルト値: 0
translate.global.y
Number
Drawableの計算された位置への垂直オフセット( SDU 単位)。 正の数yはDrawableを上に移動させ、負の数yは下に移動させます。 すべてのグローバル変換は、ローカル変換後に適用されます。
デフォルト値: 0
translate.global.z
Number
Drawableの計算された位置までの深さオフセット( SDU 単位)。 正の数zはDrawableをユーザーの方に移動させ、負の数zは奥に移動させます。 すべてのグローバル変換は、ローカル変換後に適用されます。
デフォルト値: 0
translate.x
Number
Drawableの計算された位置への水平オフセット( SDU 単位)。 正の数xはDrawableを右に移動させ、負の数xは左に移動させます。
デフォルト値: 0
イベント
onClick
Drawableをクリックすると、Drawable.onClickトリガーが実行されます。画面上のクリックは複数のDrawableにヒットする場合があるため、最前面のDrawableを先頭とする"クリックされたDrawableのキュー"が作成されます。トリガーの戻り値は、このDrawableのonClick()トリガーが実行された後にキューの次のDrawableのonClick()トリガーを実行するかどうかを決定します。キューの最後のDrawableがさらにonClick()トリガーの実行を要求した場合は、ARObject.onClick()トリガーが実行されます。さらにキューの実行が要求された場合は、context.onScreenClick()トリガーが実行されます。
このトリガーの戻り値により後続のクリックキューの処理を決定します。falseの場合、クリックキューの実行はこのDrawableで停止しません。したがって、次のDrawableのonClick()トリガーが実行されます。これは、戻り値が設定されていない場合、またはこのDrawableに対してonClickトリガーが定義されていない場合のデフォルト値です。trueの場合、キューの実行は現在のDrawableで停止し、後続のDrawableのonClick()トリガーは実行されません。
イベントペイロード:
-
arObject
ARObjectクリックされたDrawableにアタッチされているARObject。
このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者はonClickトリガーにカスタム関数を指定することで、カスタム機能を追加できます。
onDragBegan
ユーザーが1本の指でDrawableのドラッグを開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
xNormalized
Number開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。 ドラッグジェスチャへの変更が発生していない場合、onDragBeganは常に0です。
-
yNormalized
Number開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。 ドラッグジェスチャへの変更が発生していない場合、onDragBeganは常に0です。
-
xIntersection
Numberワールド空間における、開始タッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義
-
yIntersection
Numberワールド空間における、開始タッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義
onDragChanged
ユーザーが1本の指でDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
xNormalized
Number開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。
-
yNormalized
Number開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。
-
xIntersection
Numberワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義
-
yIntersection
Numberワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義
onDragEnded
ユーザーが1本の指でDrawableのドラッグを停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
xNormalized
Number開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。 onDragChangedで受信した最新の距離と常に同じ
-
yNormalized
Number開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。 onDragChangedで受信した最新の距離と常に同じ
-
xIntersection
Numberワールド空間における、終了タッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義
-
yIntersection
Numberワールド空間における、終了タッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義
onPanBegan
ユーザーが2本の指でDrawableのドラッグを開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
onPanChanged
ユーザーが2本の指でDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onPanEnded
ユーザーが2本の指でDrawableのドラッグを停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onRotationBegan
ユーザーが2本の指でDrawableの回転を開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
angle
Number開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。回転ジェスチャの変更が発生していない場合、onRotationBeganでは常に0です。
onRotationChanged
ユーザーが2本の指でDrawableを回転したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
angle
Number開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。
onRotationEnded
ユーザーが2本の指でDrawableの回転を停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
angle
Number開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。onRotationChangedで受け取った最新の角度と常に同じ。
onScaleBegan
ユーザーが2本の指でDrawableの拡大縮小を開始するときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
scale
Number開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。 スケールジェスチャへの変更が発生していない場合、onScaleBeganは常に1です。
onScaleChanged
ユーザーが2本の指でDrawableを拡大縮小するときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
scale
Number開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。
onScaleEnded
ユーザーが2本の指でDrawableのスケーリングを停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
scale
Number開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。 onScaleChangedで受信した最新のスケールと常に同じ。