SceneGraphic (クラス)
public SceneGraphic {inherits Renderer3dGraphic}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.

SceneGraphic は、Scene オブジェクト、つまりトップレベルの 3D 保持モード コンテナを含む GUI ウィジェット (Graphic) です (詳細については、Scene および CURL.GRAPHICS.SCENE を参照してください)。

SceneGraphic は、 Renderer3dGraphic の単純なサブクラスで、同様の機能を提供します。さらに、既定の再ペイント ハンドラを提供します。これは、Graphic をクリアして Scene.paint を呼び出します。

一般的に、シーン オブジェクト イベント ハンドラで SceneGraphic.update-drawable を呼び出す必要はありません。通常、SceneGraphic がこの操作を実行します。ただし必要に応じて、SceneGraphic.update-drawable を明示的に呼び出すことができます。

また、SceneGraphic はオプションでマウス イベント処理を提供します。ポインタ プレスやその解放イベントは Scene に転送され、 PointerPressSceneEventPointerReleaseSceneEvent オブジェクトに変換されます。

さらにオプションで、SceneGraphic はマウス入力を SceneCamera の制御として解釈します。3 つのマウス ボタンの 1 つを押したままマウスを動かすと、カメラが移動します。各ボタンは、異なる動きに対応します。これは、 SceneGraphic.camera-motion-mode から無効にすることができます。

SceneGraphic の動作を変更する場合は、SceneGraphic.redraw-proc または SceneGraphic.handle-motion をオーバーライドします。

注意事項

このオブジェクトは、"SceneGraphic"のスタイル ルールを記述することによりスタイル化することが出来ます。

コンストラクタ
default:新しい SceneGraphic を作成し、作成された SceneGraphicScene が表示されるように要求します。 SceneGraphic.camera-motion-mode および SceneGraphic.camera-motion-axis は、コンストラクタで指定できます。このコンストラクタも、 Renderer3dGraphic のコンストラクタと同じ引数を受け取ります。ただし、repaint-handler は例外で、無視されます。
コンストラクタ public {SceneGraphic.default
scene:SCENE.Scene,
camera-motion-mode:CameraMotionMode = CameraMotionMode.orbit,
camera-motion-axis:CameraMotionAxis = CameraMotionAxis.z,
orbit-distance:Distance = -1m,
depth-test-enabled?:bool = true,
...
}

プロパティ
camera-motion-axis:カメラのマウスの動きに関する制約軸を定義します。 ( SceneGraphic.camera-motion-mode を参照してください)。
フィールド public SceneGraphic.camera-motion-axis:CameraMotionAxis =CameraMotionAxis.z
camera-motion-mode:マウスの動きが SceneCamera をどのように制御するかを決定します。値が CameraMotionMode.fly の場合、次のようになります。

  • 左マウス ボタンで上 / 下:カメラを前後に移動します (カメラの z 軸)。
  • 左マウス ボタンで左 / 右:カメラを左右にパン (回転) します。
  • 中央マウス ボタンで上 / 下:カメラを上下に傾けます。
  • 右マウス ボタンで上 / 下:カメラを上下に移動します (カメラの y 軸)。
  • 右マウス ボタンで左 / 右:カメラを左右に移動します (カメラの x 軸)。
左マウス ボタンのカメラの動きは、SceneGraphic.camera-motion-axis により影響を受けます。SceneGraphic.camera-motion-axis が "none" 以外の場合、動きが制約されます。たとえば、軸が "z" の場合、前後の動きは定数 z の値で静止しています。また、カメラの上向きベクトルを z 軸に設定すると、カメラがどのように左右に回転するかに影響します。軸が "x" または "y" の場合、動作はそれぞれの軸で同じようになります。SceneGraphic.camera-motion-axis が "none" の場合、上向きベクトルは影響を受けません。

値が CameraMotionMode.orbit の場合、次のようになります。

  • 左マウス ボタンで左 / 右:シーンの中央ポイントの回りに、カメラを水平に軌道回転させます (カメラの x 軸)。
  • 左マウス ボタンで上 / 下:シーンの中央ポイントの回りに、カメラを垂直に軌道回転させます (カメラの y 軸)。
  • 右マウス ボタンで左 / 右:ビューのカメラ フィールドを変更します (ズーム)。


軌道回転は SceneGraphic.camera-motion-axis により影響を受けます。SceneGraphic.camera-motion-axis が "none" 以外の場合、回転が制約されます。たとえば、軸が "z" の場合、水平方向のマウスの動きでは、カメラは仮想地球儀に沿って緯度の定線上を移動します。同様に、垂直方向のマウスの動きでは、カメラは経度の定線上を移動します。また、カメラの上向きベクトルは z 軸に設定されます (地球儀では、軸は地球儀の中心から北極へ向かうベクトルです)。軸が "x" または "y" の場合、動作はそれぞれの軸で同じようになります。SceneGraphic.camera-motion-axis が "none" の場合、上向きベクトルをカメラの軌道回転に合わせて変更できます。

値が CameraMotionMode.none の場合、SceneCamera は、マウスの動きにより影響を受けません。

注意事項

この値は、 PointerPressSceneEvent などのマウス関連の SceneEventSceneGraphic により生成されるかどうかには関与しません。
フィールド public SceneGraphic.camera-motion-mode:CameraMotionMode =CameraMotionMode.orbit
depth-test-enabled?:Scene がペイントされる場合に、深度バッファ (z バッファ) を使用可能にするかどうかを指定するブール値。
フィールド public SceneGraphic.depth-test-enabled?:bool =true
enter-leave-scene-events-predicate:SceneGraphic により作成される出入りイベントの PointerEnterSceneEvent.predicate および PointerLeaveSceneEvent.predicate を決定します (Predicate を参照してください)。
フィールド public SceneGraphic.enter-leave-scene-events-predicate:SCENE.Predicate =SCENE.Predicate.first
enter-leave-scene-events-sort-order:SceneGraphic により作成される出入りイベントの PointerEnterSceneEvent.sort-order および PointerLeaveSceneEvent.sort-order を決定します (SortOrder を参照してください)。
フィールド public SceneGraphic.enter-leave-scene-events-sort-order:SCENE.SortOrder =SCENE.SortOrder.forward
generate-enter-leave-events?:マウス ポインタが SceneObject に出入りする際、SceneGraphicSceneSceneObject に対して PointerEnterSceneEvent および PointerLeaveSceneEventを作成するかどうかを決定するブール値です。
フィールド public SceneGraphic.generate-enter-leave-events?:bool =false
generate-motion-scene-events?:SceneGraphicScenePointerMotionSceneEvent の作成を指示するかどうかを決定します。
フィールド public SceneGraphic.generate-motion-scene-events?:bool =false
generate-press-scene-events?:SceneGraphicScene PointerPressSceneEvent の作成を指示するかどうかを決定します。
フィールド public SceneGraphic.generate-press-scene-events?:bool =true
generate-release-scene-events?:SceneGraphicScenePointerReleaseSceneEvent の作成を指示するかどうかを決定します。
フィールド public SceneGraphic.generate-release-scene-events?:bool =true
motion-scene-events-predicate:SceneGraphic により作成されるイベントの PointerMotionSceneEvent.predicate を決定します (Predicate を参照してください)。
フィールド public SceneGraphic.motion-scene-events-predicate:SCENE.Predicate =SCENE.Predicate.first
motion-scene-events-sort-order:SceneGraphic により作成されるイベントの PointerMotionSceneEvent.sort-order を決定します (SortOrder を参照してください)。
フィールド public SceneGraphic.motion-scene-events-sort-order:SCENE.SortOrder =SCENE.SortOrder.forward
orbit-distance:CameraMotionMode.orbit の場合、このプロパティはカメラの軌道回転の中心となるポイントを決定します。
フィールド public SceneGraphic.orbit-distance:Distance
press-scene-events-predicate:SceneGraphic により作成されるイベントの PointerPressSceneEvent.predicate を決定します (Predicate を参照してください)。
フィールド public SceneGraphic.press-scene-events-predicate:SCENE.Predicate =SCENE.Predicate.first
press-scene-events-sort-order:SceneGraphic により作成されるイベントの PointerPressSceneEvent.sort-order を決定します (SortOrder を参照してください)。
フィールド public SceneGraphic.press-scene-events-sort-order:SCENE.SortOrder =SCENE.SortOrder.forward
release-scene-events-predicate:SceneGraphic により作成されたイベントの PointerReleaseSceneEvent.predicate を決定します (Predicate を参照してください)。
フィールド public SceneGraphic.release-scene-events-predicate:SCENE.Predicate =SCENE.Predicate.first
release-scene-events-sort-order:SceneGraphic により作成されたイベントの PointerReleaseSceneEvent.sort-order を決定します (SortOrder を参照してください)。
フィールド public SceneGraphic.release-scene-events-sort-order:SCENE.SortOrder =SCENE.SortOrder.forward
scene:この SceneGraphic に表示される Scene オブジェクト。Scene には、この SceneGraphic に表示されるすべての SceneObject や他の状態 (カメラの位置や方向など) が含まれます。詳細については、CURL.GRAPHICS.SCENE の説明を参照してください。
アクセサ public SceneGraphic.scene:SCENE.Scene
セッター public SceneGraphic.scene:SCENE.Scene
style-element:スタイリングの目的のための、この Visual の "要素" や "型" です。
アクセサ public SceneGraphic.style-element:String
update-drawable-on-drag-motion?:PointerMotionSceneEvent が生成されてボタンが押された場合に、SceneGraphicupdate-drawable を呼び出すかどうかを決定するブール値です。
フィールド public SceneGraphic.update-drawable-on-drag-motion?:bool =true
update-drawable-on-enter-leave?:PointerEnterSceneEvent および PointerLeaveSceneEvent が生成された場合に、SceneGraphicupdate-drawable を呼び出すかどうかを決定するブール値です。
フィールド public SceneGraphic.update-drawable-on-enter-leave?:bool =true
update-drawable-on-pointer-press?: PointerPressSceneEvent が生成された場合に、SceneGraphicupdate-drawable を呼び出すかどうかを決定するブール値です。
フィールド public SceneGraphic.update-drawable-on-pointer-press?:bool =true
update-drawable-on-pointer-release?:PointerReleaseSceneEvent が生成された場合に、SceneGraphicupdate-drawable を呼び出すかどうかを決定するブール値です。
フィールド public SceneGraphic.update-drawable-on-pointer-release?:bool =true
プロパティ 継承 Renderer3dGraphic: repaint-handler
プロパティ 継承 DrawableGraphic: display-context, draw-operation, drawable, drawable-changed?, occlusion-performance-mode, visible?
プロパティ 継承 Graphic: avoid-page-break?, background, border-color, border-spec, border-style, border-width, cell-border-spec, cell-border-width, cell-margin, clip-child-shadows?, discrete-select-in-range?, enabled?, graphic-selectable, height, horigin, is-paginating?, layout, margin, opaque-to-events?, option-parent, outside-margin, pagination-state, parent, possibly-displayed?, selection-context, shadow-color, shadow-spec, visual-parent, vorigin, width
プロパティ 継承 Visual: _style-element, clonable-class?, completely-clonable-children?, cursor, data-source, dragee, font-size, graphical-parent, has-key-focus?, input-method-enabled?, input-method-keyboard-mode, name, options, style-class, style-manager, style-options, test-child?, test-description, test-name, test-parent?, test-type-name, test-visible?, tooltip, user-data
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 EventTarget: event-handlers
プロパティ 継承 OptionListInterface: option-register-proc, options-present-here, registered-option-keys

メソッド
compute-background:このメソッドは既定の SceneGraphic.redraw-proc により呼び出され、Renderer3d.clear が使用する色を計算します。
protected {SceneGraphic.compute-background}:Color
handle-motion:このメソッドは、マウス ポインタが SceneGraphic 内にあり、マウス ボタンが押されたりマウスが移動したときに呼び出されます。

このメソッドをオーバーライドして、独自のマウス処理を提供することができます。この場合、記述したメソッドの最後で {self.update-drawable} を呼び出すようにしてください。既定の実装は、delta-xdelta-y、および button-pressed の値に基づいて SceneCamera を操作します。button-pressed を使用してどの種類のカメラの動きが要求されているかを決定し、delta-x および delta-y でカメラの動きの度合いを決定します (既定の実装は、 SceneGraphic.camera-motion-modenone でない場合にのみこの操作を実行することに注意してください)。
public {SceneGraphic.handle-motion
button-pressed:int,
delta-x:Distance,
delta-y:Distance
}:void
on-drag-started:DragStarted イベントのスタティック イベント ハンドラ
public {SceneGraphic.on-drag-started e:DragStarted}:void
on-pointer-enter:PointerEnter イベントのスタティック イベント ハンドラ
public {SceneGraphic.on-pointer-enter e:PointerEnter}:void
on-pointer-leave:PointerLeave イベントのスタティック イベント ハンドラ
public {SceneGraphic.on-pointer-leave e:PointerLeave}:void
on-pointer-motion:PointerMotion イベントのスタティック イベント ハンドラ
public {SceneGraphic.on-pointer-motion e:PointerMotion}:void
on-pointer-press:PointerPress イベントのスタティック イベント ハンドラ
public {SceneGraphic.on-pointer-press e:PointerPress}:void
on-pointer-release:PointerRelease イベントのスタティック イベント ハンドラ
public {SceneGraphic.on-pointer-release e:PointerRelease}:void
redraw-proc:redraw-proc は、SceneGraphic の再描画が必要になるたびに呼び出されます。SceneGraphic の既定の実装では、DrawableRenderer3d 上で Renderer3d.depth-test-enabled? を使用可能にし、Drawable (Renderer3dGraphic.drawable) をクリアしてから Scene.paint を呼び出します。このメソッドをオーバーライドして、独自の再ペイント ハンドラを使用することもできます。
public {SceneGraphic.redraw-proc}:void
メソッド 継承 DrawableGraphic: draw, get-height-preference, get-width-preference, set-size, update-drawable
メソッド 継承 Graphic: after-reposition, attempt-revalidate-layout, before-reposition, constrain-height, constrain-width, contains-point?, create-pagination-state, detach, draw-range-as-selected, draw-shadow, end-pagination, find-ancestor, find-graphic-at, find-graphical-ancestor, fire-inferior-crossing-event, get-graphical-root, get-gui-path, get-origin-in-graphical-ancestor, get-origin-in-root, get-pagination-state, get-range-as-selected-text, get-top-left-in-ancestor, get-visible-bounds-into, graphical-child-visible-at, make-gui-mark, on-drag-enter, on-inspection, option-changed, paginate, paint-with-decorations, pointer-enter-occurred, pointer-leave-occurred, replace-with, request-draw, request-draw-rect, request-layout, request-pointer-trace, search-next, search-next-here, search-prev, search-prev-here, set-layout, start-pagination, xy-offset-to
メソッド 継承 Visual: add, add-from-init-args, animate, change-cursor, clear, clonable-appearance?, clone-appearance, clone-appearance-helper, find-test-children, get-focus-manager, get-gui-path-to-child, get-layout-context, get-test-parent, get-test-property, get-text, get-view, maybe-fire-attach-event, maybe-fire-detach-event, non-keyword-init-arg, note-attached, note-caret-position, note-detaching, on-drag-leave, on-pointer-envelope-event, pop-cursor, prepare-test-object, prepare-test-parent, push-cursor, quantize-width, refresh-style-options, release-key-focus, request-key-focus, scroll-to-include, test-record, test-run, transform-from-display-coordinates, transform-from-graphical-root-coordinates, transform-to-display-coordinates, transform-to-graphical-root-coordinates
メソッド 継承 GraphicOptions: any-to-Distance, get-display-context
メソッド 継承 GuiEventTarget: handle-delegate-event, handle-event, on-action, on-cancel-mode, on-command-changed, on-commit, on-composition-change-event, on-composition-result-event, on-context-menu-event, on-current-record-change-request, on-current-record-changed, on-destroy-notify, on-destroy-requested, on-drag-over, on-drag-pointer, on-drop, on-end-composition-event, on-focus-event, on-focus-in, on-focus-out, on-gesture, on-gesture-begin, on-gesture-end, on-gesture-magnify, on-gesture-pan, on-gesture-rotate, on-gesture-swipe, on-gesture-tap, on-gesture-touch, on-grab-release, on-gui-event, on-input-method-event, on-key-event, on-key-press, on-pointer-button, on-pointer-crossing, on-pointer-event, on-pointer-scroll, on-raw-key-event, on-raw-key-press, on-raw-key-release, on-reset, on-selectable-added, on-selectable-removed, on-selection-changed, on-selection-context-activated, on-selection-context-deactivated, on-selection-event, on-start-composition-event, on-start-event, on-stop-event, on-view-activate, on-view-deactivate, on-window-close, remove-event-handlers-for-event-class
メソッド 継承 DataBindingTarget: add-data-binding, get-data-binding, refresh-data-binding, remove-data-binding, unset-property, update-data-binding, validate-data-binding
メソッド 継承 EventTarget: accepts-event-class?, add-event-handler, event-handler-present?, remove-event-handler, verify-event
メソッド 継承 OptionListInterface: add-option, add-style-option, change-option-parent-notify, clone-options, get-option, get-option-by-name, keyword-init-arg, local-add-notify, local-remove-notify, name-to-option-key, new-option-item, notify-option-children, option-change-notify, option-lookup, option-lookup-here, option-propagate-notify, option-set?, propagate-option-change, register-options, remove-option, remove-style-option, remove-styles, set-option-by-name, set-style-option-by-name, unset-option-by-name, unset-style-option-by-name
メソッド 継承 BasicEventTarget: enqueue-event
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {SceneGraphic.default
scene:SCENE.Scene,
camera-motion-mode:CameraMotionMode = CameraMotionMode.orbit,
camera-motion-axis:CameraMotionAxis = CameraMotionAxis.z,
orbit-distance:Distance = -1m,
depth-test-enabled?:bool = true,
...
}

新しい SceneGraphic を作成し、作成された SceneGraphicScene が表示されるように要求します。 SceneGraphic.camera-motion-mode および SceneGraphic.camera-motion-axis は、コンストラクタで指定できます。このコンストラクタも、 Renderer3dGraphic のコンストラクタと同じ引数を受け取ります。ただし、repaint-handler は例外で、無視されます。

注意事項

パフォーマンスを向上するため、開発者は Renderer3dGraphic の閉塞パフォーマンス モードを使用することができます。詳細については、 Renderer3dGraphic.occlusion-performance-mode および Renderer3dGraphic.default を参照してください。



プロパティ詳細
camera-motion-axis (フィールド)
public SceneGraphic.camera-motion-axis:CameraMotionAxis =CameraMotionAxis.z

カメラのマウスの動きに関する制約軸を定義します。 ( SceneGraphic.camera-motion-mode を参照してください)。



camera-motion-mode (フィールド)
public SceneGraphic.camera-motion-mode:CameraMotionMode =CameraMotionMode.orbit

マウスの動きが SceneCamera をどのように制御するかを決定します。値が CameraMotionMode.fly の場合、次のようになります。

左マウス ボタンのカメラの動きは、SceneGraphic.camera-motion-axis により影響を受けます。SceneGraphic.camera-motion-axis が "none" 以外の場合、動きが制約されます。たとえば、軸が "z" の場合、前後の動きは定数 z の値で静止しています。また、カメラの上向きベクトルを z 軸に設定すると、カメラがどのように左右に回転するかに影響します。軸が "x" または "y" の場合、動作はそれぞれの軸で同じようになります。SceneGraphic.camera-motion-axis が "none" の場合、上向きベクトルは影響を受けません。

値が CameraMotionMode.orbit の場合、次のようになります。



軌道回転は SceneGraphic.camera-motion-axis により影響を受けます。SceneGraphic.camera-motion-axis が "none" 以外の場合、回転が制約されます。たとえば、軸が "z" の場合、水平方向のマウスの動きでは、カメラは仮想地球儀に沿って緯度の定線上を移動します。同様に、垂直方向のマウスの動きでは、カメラは経度の定線上を移動します。また、カメラの上向きベクトルは z 軸に設定されます (地球儀では、軸は地球儀の中心から北極へ向かうベクトルです)。軸が "x" または "y" の場合、動作はそれぞれの軸で同じようになります。SceneGraphic.camera-motion-axis が "none" の場合、上向きベクトルをカメラの軌道回転に合わせて変更できます。

値が CameraMotionMode.none の場合、SceneCamera は、マウスの動きにより影響を受けません。

注意事項

この値は、 PointerPressSceneEvent などのマウス関連の SceneEventSceneGraphic により生成されるかどうかには関与しません。



depth-test-enabled? (フィールド)
public SceneGraphic.depth-test-enabled?:bool =true

Scene がペイントされる場合に、深度バッファ (z バッファ) を使用可能にするかどうかを指定するブール値。

説明

既存値は true です。


enter-leave-scene-events-predicate (フィールド)
public SceneGraphic.enter-leave-scene-events-predicate:SCENE.Predicate =SCENE.Predicate.first

SceneGraphic により作成される出入りイベントの PointerEnterSceneEvent.predicate および PointerLeaveSceneEvent.predicate を決定します (Predicate を参照してください)。



enter-leave-scene-events-sort-order (フィールド)
public SceneGraphic.enter-leave-scene-events-sort-order:SCENE.SortOrder =SCENE.SortOrder.forward

SceneGraphic により作成される出入りイベントの PointerEnterSceneEvent.sort-order および PointerLeaveSceneEvent.sort-order を決定します (SortOrder を参照してください)。



generate-enter-leave-events? (フィールド)
public SceneGraphic.generate-enter-leave-events?:bool =false

マウス ポインタが SceneObject に出入りする際、SceneGraphicSceneSceneObject に対して PointerEnterSceneEvent および PointerLeaveSceneEventを作成するかどうかを決定するブール値です。

説明

既定値は false です。


generate-motion-scene-events? (フィールド)
public SceneGraphic.generate-motion-scene-events?:bool =false

SceneGraphicScenePointerMotionSceneEvent の作成を指示するかどうかを決定します。



generate-press-scene-events? (フィールド)
public SceneGraphic.generate-press-scene-events?:bool =true

SceneGraphicScene PointerPressSceneEvent の作成を指示するかどうかを決定します。



generate-release-scene-events? (フィールド)
public SceneGraphic.generate-release-scene-events?:bool =true

SceneGraphicScenePointerReleaseSceneEvent の作成を指示するかどうかを決定します。



motion-scene-events-predicate (フィールド)
public SceneGraphic.motion-scene-events-predicate:SCENE.Predicate =SCENE.Predicate.first

SceneGraphic により作成されるイベントの PointerMotionSceneEvent.predicate を決定します (Predicate を参照してください)。



motion-scene-events-sort-order (フィールド)
public SceneGraphic.motion-scene-events-sort-order:SCENE.SortOrder =SCENE.SortOrder.forward

SceneGraphic により作成されるイベントの PointerMotionSceneEvent.sort-order を決定します (SortOrder を参照してください)。



orbit-distance (フィールド)
public SceneGraphic.orbit-distance:Distance

CameraMotionMode.orbit の場合、このプロパティはカメラの軌道回転の中心となるポイントを決定します。

説明

軌道回転の中心は、カメラからカメラのビュー ベクトルに沿った orbit-distance 空間内のポイントを計算して決定します。


press-scene-events-predicate (フィールド)
public SceneGraphic.press-scene-events-predicate:SCENE.Predicate =SCENE.Predicate.first

SceneGraphic により作成されるイベントの PointerPressSceneEvent.predicate を決定します (Predicate を参照してください)。



press-scene-events-sort-order (フィールド)
public SceneGraphic.press-scene-events-sort-order:SCENE.SortOrder =SCENE.SortOrder.forward

SceneGraphic により作成されるイベントの PointerPressSceneEvent.sort-order を決定します (SortOrder を参照してください)。



release-scene-events-predicate (フィールド)
public SceneGraphic.release-scene-events-predicate:SCENE.Predicate =SCENE.Predicate.first

SceneGraphic により作成されたイベントの PointerReleaseSceneEvent.predicate を決定します (Predicate を参照してください)。



release-scene-events-sort-order (フィールド)
public SceneGraphic.release-scene-events-sort-order:SCENE.SortOrder =SCENE.SortOrder.forward

SceneGraphic により作成されたイベントの PointerReleaseSceneEvent.sort-order を決定します (SortOrder を参照してください)。



scene (アクセサ)
アクセサ public SceneGraphic.scene:SCENE.Scene
セッター public SceneGraphic.scene:SCENE.Scene

この SceneGraphic に表示される Scene オブジェクト。Scene には、この SceneGraphic に表示されるすべての SceneObject や他の状態 (カメラの位置や方向など) が含まれます。詳細については、CURL.GRAPHICS.SCENE の説明を参照してください。



style-element (アクセサ)
アクセサ public SceneGraphic.style-element:String

スタイリングの目的のための、この Visual の "要素" や "型" です。

説明

この実装によって Visual._style-elementの値が返されますが、通常は定数を返すためにオーバーライドされます。

オーバーライド

Visual のサブクラスのスタイルが他のオブジェクトと異なる場合、このゲッターは適切な文字列を返すようにオーバーライドされる必要があります。 慣例では,この文字列はクラス名または、オブジェクトを生成するマークアップの名前です。
オーバーライドでは、空の文字列でないかぎり、self._style-elementを返さなければなりません。
導入: バージョン 6.0


update-drawable-on-drag-motion? (フィールド)
public SceneGraphic.update-drawable-on-drag-motion?:bool =true

PointerMotionSceneEvent が生成されてボタンが押された場合に、SceneGraphicupdate-drawable を呼び出すかどうかを決定するブール値です。



update-drawable-on-enter-leave? (フィールド)
public SceneGraphic.update-drawable-on-enter-leave?:bool =true

PointerEnterSceneEvent および PointerLeaveSceneEvent が生成された場合に、SceneGraphicupdate-drawable を呼び出すかどうかを決定するブール値です。

説明

既存値は true です。


update-drawable-on-pointer-press? (フィールド)
public SceneGraphic.update-drawable-on-pointer-press?:bool =true

PointerPressSceneEvent が生成された場合に、SceneGraphicupdate-drawable を呼び出すかどうかを決定するブール値です。



update-drawable-on-pointer-release? (フィールド)
public SceneGraphic.update-drawable-on-pointer-release?:bool =true

PointerReleaseSceneEvent が生成された場合に、SceneGraphicupdate-drawable を呼び出すかどうかを決定するブール値です。






メソッド詳細
compute-background (メソッド)
protected {SceneGraphic.compute-background}:Color

このメソッドは既定の SceneGraphic.redraw-proc により呼び出され、Renderer3d.clear が使用する色を計算します。



handle-motion (メソッド)
public {SceneGraphic.handle-motion
button-pressed:int,
delta-x:Distance,
delta-y:Distance
}:void

このメソッドは、マウス ポインタが SceneGraphic 内にあり、マウス ボタンが押されたりマウスが移動したときに呼び出されます。

このメソッドをオーバーライドして、独自のマウス処理を提供することができます。この場合、記述したメソッドの最後で {self.update-drawable} を呼び出すようにしてください。既定の実装は、delta-xdelta-y、および button-pressed の値に基づいて SceneCamera を操作します。button-pressed を使用してどの種類のカメラの動きが要求されているかを決定し、delta-x および delta-y でカメラの動きの度合いを決定します (既定の実装は、 SceneGraphic.camera-motion-modenone でない場合にのみこの操作を実行することに注意してください)。



on-drag-started (メソッド)
public {SceneGraphic.on-drag-started e:DragStarted}:void

DragStarted イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


on-pointer-enter (メソッド)
public {SceneGraphic.on-pointer-enter e:PointerEnter}:void

PointerEnter イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


on-pointer-leave (メソッド)
public {SceneGraphic.on-pointer-leave e:PointerLeave}:void

PointerLeave イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


on-pointer-motion (メソッド)
public {SceneGraphic.on-pointer-motion e:PointerMotion}:void

PointerMotion イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


on-pointer-press (メソッド)
public {SceneGraphic.on-pointer-press e:PointerPress}:void

PointerPress イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


on-pointer-release (メソッド)
public {SceneGraphic.on-pointer-release e:PointerRelease}:void

PointerRelease イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


redraw-proc (メソッド)
public {SceneGraphic.redraw-proc}:void

redraw-proc は、SceneGraphic の再描画が必要になるたびに呼び出されます。SceneGraphic の既定の実装では、DrawableRenderer3d 上で Renderer3d.depth-test-enabled? を使用可能にし、Drawable (Renderer3dGraphic.drawable) をクリアしてから Scene.paint を呼び出します。このメソッドをオーバーライドして、独自の再ペイント ハンドラを使用することもできます。