// Get the SceneObject associated with the entity (returns a CompletableFuture)
systemManager.findSystem<SceneObjectSystem>().getSceneObject(entity)?.thenAccept { sceneObject ->
if (sceneObject is PanelSceneObject) {
// Now you can work with the panel
}
}
class PanelSceneObject : SceneObject
PanelSceneObject
(
scene
, ctx
, intent
, ent
, config
, displayCreator
)
| Parameters scene: Scene?ctx: SpatialContextintent: Intentent: Entity?config: PanelConfigOptionsdisplayCreator: Function4Returns PanelSceneObject |
PanelSceneObject
(
scene
, ctx
, id
, ent
, config
, displayCreator
)
| Parameters scene: Scene?ctx: SpatialContextid: Class?ent: Entity?config: PanelConfigOptionsdisplayCreator: Function4Returns PanelSceneObject |
PanelSceneObject
(
scene
, ctx
, ent
, config
, getView
, displayCreator
)
| Parameters scene: Scene?ctx: SpatialContextent: Entity?config: PanelConfigOptionsgetView: Function1displayCreator: Function4Returns PanelSceneObject |
PanelSceneObject
(
scene
, ctx
, id
, ent
, config
, displayCreator
)
| Parameters scene: Scene?ctx: SpatialContextid: Intent: Entity?config: PanelConfigOptionsdisplayCreator: Function4Returns PanelSceneObject |
PanelSceneObject
(
scene
, ent
, config
)
|
Signature
constructor(scene: Scene?, ent: Entity?, config: PanelConfigOptions = PanelConfigOptions()) Parameters Returns PanelSceneObject |
PanelSceneObject
(
scene
, ent
, opts
)
|
Signature
constructor(scene: Scene?, ent: Entity?, opts: PanelConfigOptions2) Parameters Returns PanelSceneObject |
PanelSceneObject
(
scene
, ctx
, ent
, opts
, displayCreator
)
|
Signature
constructor(scene: Scene?, ctx: SpatialContext, ent: Entity?, opts: PanelConfigOptions2, displayCreator: (ctx: SpatialContext, panelSurface: PanelSurface, options: PanelConfigOptions2) -> PanelDisplay = { ctx_, panelSurface_, options_ ->
val style = options_.style() ?: StyleConfigOptions2()
val resolution = options_.resolution() ?: ResolutionConfigOptions2()
val layout = options_.get(LayoutOptions::class.java)!!
when (layout) {
is ContentViewConfigOptions2 ->
PanelDisplay(
ctx_,
panelSurface_,
resolution.dpi,
getView = (layout as ContentViewConfigOptions2).getView(),
themeResourceId = style.themeResourceId,
)
is ActivityConfigOptions2 ->
PanelDisplay(
ctx_,
panelSurface_,
resolution.dpi,
intent = ((layout as ActivityConfigOptions2).getIntent())(ctx_))
else ->
throw IllegalArgumentException(
"Missing panel layout config options, use activity or contentView API to setup the panel layout.")
}
})Parameters Returns PanelSceneObject |
entity
: Entity?
[Get] |
Signature
val entity: Entity? |
handle
: Long
[Get] |
Signature
var handle: Long |
materials
: Array?
[Get] |
Array of SceneMaterials created from this SceneObject's mesh property. Changes to the materials in this array will be unique to this SceneObject, but these materials will inhererit any changes made in the SceneMesh they come from.
Signature
var materials: Array<SceneMaterial>? |
mesh
: SceneMesh?
[Get][Set] |
Reference to the SceneMesh used by this SceneObject. This property is a reference to the underlying mesh resource. Changes to the SceneMesh or its SceneMaterials will be reflected across all SceneObjects that reference it.
Signature
var mesh: SceneMesh? |
options
: PanelConfigOptions2
[Get][Set] |
Signature
var options: PanelConfigOptions2 |
rootView
: View?
[Get] |
Gets the root View of the panel's display.
Signature
val rootView: View |
shapeType
: PanelShapeType
[Get] |
Signature
val PanelSceneObject.shapeType: PanelShapeType |
addInputListener
(
listener
)
|
Add an input listener to this SceneObject.
Signature
fun addInputListener(listener: InputListener): Long Parameters Returns Long
The id of the input listener.
|
attachDisplay
(
ctxt
, clickButtons
, displayCreator
)
|
Signature
fun attachDisplay(ctxt: SpatialContext, clickButtons: Int, displayCreator: (PanelSurface) -> PanelDisplay) Parameters |
createIsdkComponents
(
entity
)
|
Signature
fun PanelSceneObject.createIsdkComponents(entity: Entity) Parameters entity: Entity |
destroy
()
|
Destory this SceneObject.
Signature
fun destroy() |
destroyInternal
()
|
Destroy this SceneObject's native components.
Signature
open override fun destroyInternal() |
detachDisplay
()
|
Signature
fun detachDisplay() |
getDisplay
()
|
Gets the PanelDisplay associated with this panel.
Signature
fun getDisplay(): PanelDisplay |
getLayer
()
|
Gets the layer used by this panel.
Signature
fun getLayer(): SceneLayer? |
getPanelConfigOptions2
()
|
Signature
fun getPanelConfigOptions2(): PanelConfigOptions2 Returns PanelConfigOptions2 |
getPanelShapeConfig
()
|
Gets the config used used to create this panel.
Signature
fun getPanelShapeConfig(): PanelShapeConfig? |
getSurface
()
|
Gets the PanelSurface associated with this panel.
Signature
fun getSurface(): Surface Returns Surface
The PanelSurface object
|
getSwapchain
()
|
Gets the SceneSwapchain associated with this panel.
Signature
fun getSwapchain(): SceneSwapchain? |
getTexture
()
|
Gets the texture used by this panel.
Signature
fun getTexture(): SceneTexture? |
onClick
(
hitInfo
, sourceOfInput
)
| |
onClickDown
(
hitInfo
, sourceOfInput
)
|
Handler for click downs on this SceneObject. Use onClick() to ensure user releases the click on the SceneObject.
Signature
fun onClickDown(hitInfo: HitInfo, sourceOfInput: Entity) |
onHoverStart
(
sourceOfInput
)
|
Handler for the start of hovers on this SceneObject.
Signature
open fun onHoverStart(sourceOfInput: Entity) Parameters |
onHoverStop
(
sourceOfInput
)
|
Handler for the termination of hovers on this SceneObject.
Signature
open fun onHoverStop(sourceOfInput: Entity) Parameters |
onInput
(
hitInfo
, sourceOfInput
, changed
, buttonState
, downTime
)
|
Handler to handle generic input.
Signature
open fun onInput(hitInfo: HitInfo, sourceOfInput: Entity, changed: Int, buttonState: Int, downTime: Long): Boolean Parameters changed: Int
A bit mask of changed button state.
buttonState: Int
A bit mask of button state.
downTime: Long
The timestamp when the input interaction began (initial button change)
Returns Boolean
Whether the input was handled.
|
onPointerEvent
(
hitInfo
, type
, sourceOfInput
, scrollInfo
, semanticType
)
|
Handler to handle pointer events on this SceneObject.
Signature
open fun onPointerEvent(hitInfo: HitInfo, type: Int, sourceOfInput: Entity, scrollInfo: Vector2, semanticType: Int = SemanticType.Unknown.id) Parameters type: Int
The type of pointer event.
semanticType: Int
The semantic type (e.g. select, grab, etc).
|
removeInputListener
(
id
)
|
Remove an input listener by id.
Signature
fun removeInputListener(id: Long) Parameters id: Long
The id of the input listnener to remove.
|
reshape
(
shapeConfig
)
|
Destroy and recreate the PanelShape with the given config.
Signature
fun reshape(shapeConfig: PanelShapeConfig) Parameters |
reshape
(
options
)
|
Signature
fun reshape(options: PanelConfigOptions2) Parameters options: PanelConfigOptions2 |
setIsVisible
(
isVisible
)
|
Set whether this SceneObject is visible.
Signature
fun setIsVisible(isVisible: Boolean) Parameters isVisible: Boolean
Whether or not this SceneObjet is visible.
|
setLocalNodePose
(
node
, pose
)
|
Sets the local transform of the node (relative to it's parent) to the input pose
Signature
fun setLocalNodePose(node: Int, pose: Pose) Parameters node: Int
: The node id.
|
setPosition
(
position
)
|
Set the 3D position of this SceneObject.
Signature
fun setPosition(position: Vector3) Parameters |
setPosition
(
x
, y
, z
)
|
Set the 3D position of this SceneObject.
Signature
fun setPosition(x: Float, y: Float, z: Float) Parameters x: Float
The x coordinate of the position.
y: Float
The y coordinate of the position.
z: Float
The z coordinate of the position.
|
setRotation
(
pitch
, yaw
, roll
)
|
Set the rotation of this SceneObject.
Signature
fun setRotation(pitch: Float, yaw: Float, roll: Float) Parameters pitch: Float
The pitch of the rotation in degrees.
yaw: Float
The yaw of the rotation in degrees.
roll: Float
The roll of the rotation in degrees.
|
setRotationQuat
(
quat
)
|
Set the rotation of this SceneObject.
Signature
fun setRotationQuat(quat: Quaternion) Parameters |
setRotationQuat
(
x
, y
, z
, w
)
|
Set the rotation of this SceneObject.
Signature
fun setRotationQuat(x: Float, y: Float, z: Float, w: Float) Parameters x: Float
The x component of the quaternion
y: Float
The y component of the quaternion
z: Float
The z component of the quaternion
w: Float
The w component of the quaternion
|
setScale
(
scale
)
|
Set the scale of the model. The default value is 1.0f.
Signature
open override fun setScale(scale: Vector3) Parameters |
setSceneMesh
(
mesh
, name
)
| |
shouldFrustumCull
(
cull
)
|
Whether this SceneObject can be frustum culled (default is true)
Signature
fun shouldFrustumCull(cull: Boolean) Parameters cull: Boolean
Whether or not this SceneObject can be frustum called.
|
stopInput
(
sourceOfInput
, downTime
)
|
This function calls the stopInput function on all InputListener for this SceneObject. This is called automatically by Scene when handling inputs.
Signature
open fun stopInput(sourceOfInput: Entity, downTime: Long) Parameters downTime: Long
The timestamp when the input interaction began (initial button change)
|
updateAnimationTrackToTime
(
track
, timeInSeconds
)
|
Update the local transforms of the model to match the given animation track at the specified time (matching keyframe time in the glTF).
Track can be found from SceneMesh.getAnimationTracks
Signature
fun updateAnimationTrackToTime(track: Int, timeInSeconds: Float) Parameters track: Int
The track id.
timeInSeconds: Float
The time in seconds.
|
updateIsdkComponentProperties
(
entity
)
|
Signature
fun PanelSceneObject.updateIsdkComponentProperties(entity: Entity) Parameters entity: Entity |
updateNodeLocalPoseToObjectPose
(
node
, pose
)
|
Sets the local transform of a node (relative to it's parent) such that the resulting object transform (relative to the model) is placed at the input pose
WARNING: This may be an expensive operation as it recalculates object positions
Signature
fun updateNodeLocalPoseToObjectPose(node: Int, pose: Pose) Parameters node: Int
: The node id.
|
updateSceneMesh
(
meshModifier
)
|
Modify and update this SceneObject's mesh.
Signature
fun updateSceneMesh(meshModifier: SceneMesh.() -> Unit) Parameters meshModifier: Function1
The mesh modifier to apply to this SceneObject's mesh.
|