# PanelEntity

Artifact: [androidx.xr.scenecore:scenecore](https://developer.android.com/jetpack/androidx/releases/xr-scenecore) [View Source](https://cs.android.com/search?q=file:androidx/xr/scenecore/PanelEntity.kt+class:androidx.xr.scenecore.PanelEntity) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

*** ** * ** ***


```
open class PanelEntity : Entity
```

<br />

|---|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) ||||
| ↳ | [androidx.xr.scenecore.BaseScenePose](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/BaseScenePose) |||
|   | ↳ | [androidx.xr.scenecore.Entity](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity) ||
|   |   | ↳ | [androidx.xr.scenecore.PanelEntity](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity) |

Known direct subclasses [ActivityPanelEntity](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/ActivityPanelEntity), [MainPanelEntity](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/MainPanelEntity)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/ActivityPanelEntity` | ActivityPanelEntity creates a spatial panel for embedding an `https://developer.android.com/reference/android/app/Activity.html` in Android XR. |
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/MainPanelEntity` | Represents the main spatialized panel in a `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Scene`. |

*** ** * ** ***

PanelEntity contains an arbitrary 2D Android `https://developer.android.com/reference/android/view/View.html`, within a spatialized XR scene.

## Summary

| ### Public companion functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity` | `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity#create(androidx.xr.runtime.Session,android.view.View,androidx.xr.runtime.math.FloatSize2d,kotlin.String,androidx.xr.runtime.math.Pose,androidx.xr.scenecore.Entity)( session: https://developer.android.com/reference/kotlin/androidx/xr/runtime/Session, view: https://developer.android.com/reference/android/view/View.html, dimensions: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/FloatSize2d, name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, pose: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose, parent: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity? )` Factory method for a spatialized PanelEntity. |
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity` | `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity#create(androidx.xr.runtime.Session,android.view.View,androidx.xr.runtime.math.IntSize2d,kotlin.String,androidx.xr.runtime.math.Pose,androidx.xr.scenecore.Entity)( session: https://developer.android.com/reference/kotlin/androidx/xr/runtime/Session, view: https://developer.android.com/reference/android/view/View.html, pixelDimensions: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/IntSize2d, name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, pose: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose, parent: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity? )` Factory method for a spatialized PanelEntity. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PerceivedResolutionResult` | `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity#getPerceivedResolution(androidx.xr.arcore.RenderViewpoint)(renderViewpoint: https://developer.android.com/reference/kotlin/androidx/xr/arcore/RenderViewpoint)` Gets the perceived resolution of this Entity in the provided `https://developer.android.com/reference/kotlin/androidx/xr/arcore/RenderViewpoint`. |
| `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3` | `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity#transformNormalizedCoordinatesToLocalPosition(androidx.xr.runtime.math.Vector2)(coordinates: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector2)` Gets the 3D position of a 2D normalized extent coordinate within the entity's local space. |
| `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3` | `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity#transformPixelCoordinatesToLocalPosition(androidx.xr.runtime.math.Vector2)(coordinates: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector2)` Gets the 3D position of a 2D pixel coordinate within the entity's local space. |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity#cornerRadius()` The corner radius of the PanelEntity, in meters. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity#isMainPanelEntity()` True if this panel is the [MainPanelEntity](https://developer.android.com/develop/xr/jetpack-xr-sdk/work-with-entities), false otherwise. |
| `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/FloatSize2d` | `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity#size()` The dimensions of this PanelEntity in local space, in units relative to the scale of this Entity's parent. |
| `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/IntSize2d` | `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity#sizeInPixels()` The dimensions of this PanelEntity, in pixels, which is the resolution of the underlying surface. |

### Inherited functions

From [androidx.xr.scenecore.BaseScenePose](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/BaseScenePose) `open suspend https://developer.android.com/reference/kotlin/androidx/xr/scenecore/HitTestResult?` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/BaseScenePose#hitTest(androidx.xr.runtime.math.Vector3,androidx.xr.runtime.math.Vector3)(origin: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3, direction: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3)`

Perform a hit test from the specified origin in the specified direction into the Scene.
`open suspend https://developer.android.com/reference/kotlin/androidx/xr/scenecore/HitTestResult?` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/BaseScenePose#hitTest(androidx.xr.runtime.math.Vector3,androidx.xr.runtime.math.Vector3,kotlin.Int)(origin: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3, direction: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3, hitTestFilter: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Creates a hit test from the specified origin in the specified direction into the scene.
`open https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/BaseScenePose#transformDirectionTo(androidx.xr.runtime.math.Vector3,androidx.xr.scenecore.ScenePose)(direction: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3, destination: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/ScenePose)`

Transforms a direction from this ScenePose's local space to the destination ScenePose's local space.
`open https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/BaseScenePose#transformPoseTo(androidx.xr.runtime.math.Pose,androidx.xr.scenecore.ScenePose)(pose: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose, destination: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/ScenePose)`

Returns a `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose` relative to this ScenePose, transformed into a Pose relative to the destination.
`open https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/BaseScenePose#transformPositionTo(androidx.xr.runtime.math.Vector3,androidx.xr.scenecore.ScenePose)(position: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3, destination: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/ScenePose)`

Transforms a position from this ScenePose's local space to the destination ScenePose's local space.
`open https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/BaseScenePose#transformVectorTo(androidx.xr.runtime.math.Vector3,androidx.xr.scenecore.ScenePose)(vector: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3, destination: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/ScenePose)`

Transforms a vector from this ScenePose's local space to the destination ScenePose's local space.
From [androidx.xr.scenecore.Entity](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#addChild(androidx.xr.scenecore.Entity)(child: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity)`

Sets an Entity to be a child of this Entity in the scene graph.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#addComponent(androidx.xr.scenecore.Component)(component: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Component)`

Adds a Component to this Entity.
`@https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0, to = 1.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#getAlpha(androidx.xr.scenecore.Space)(relativeTo: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Space)`

Returns the alpha transparency set for this Entity, relative to given Space.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Component>` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#getComponents()()`

Retrieves all components attached to this Entity.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<T>` `<T : https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Component> https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#getComponentsOfType(java.lang.Class)(type: https://developer.android.com/reference/java/lang/Class.html<T>)`

Retrieves all Components of the given type `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#getComponentsOfType(java.lang.Class)` and its subtypes attached to this Entity.
`open https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#getPose(androidx.xr.scenecore.Space)(relativeTo: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Space)`

Returns the `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose` for this Entity, relative to the provided `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Space`.
`open @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#getScale(androidx.xr.scenecore.Space)(relativeTo: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Space)`

Returns the scale of this entity, relative to given space.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#isEnabled(kotlin.Boolean)(includeParents: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Returns the enabled status of this Entity.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#removeAllComponents()()`

Remove all components from this Entity.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#removeComponent(androidx.xr.scenecore.Component)(component: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Component)`

Removes the given Component from this Entity.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#setAlpha(kotlin.Float)(alpha: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0, to = 1.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`

Sets the alpha transparency of the Entity relative to the parent Space.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#setEnabled(kotlin.Boolean)(enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Sets the local enabled state of this Entity.
`open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#setPose(androidx.xr.runtime.math.Pose,androidx.xr.scenecore.Space)(pose: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose, relativeTo: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Space)`

Sets the `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose` for this Entity.
`open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#setScale(kotlin.Float,androidx.xr.scenecore.Space)(scale: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, relativeTo: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Space)`

Sets the scale of this Entity relative to the given Space.

### Inherited properties

From [androidx.xr.scenecore.BaseScenePose](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/BaseScenePose) `open https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/BaseScenePose#poseInActivitySpace()`

The current `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose` relative to the activity space root.
From [androidx.xr.scenecore.Entity](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity>` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#children()`

Provides the list of all children of this entity.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#contentDescription()`

Alternate text for this Entity to be consumed by Accessibility systems.
`open https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity?` `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity#parent()`

The parent of this Entity, from which this Entity will inherit most of its properties.

## Public companion functions

### create

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
fun create(
    session: Session,
    view: View,
    dimensions: FloatSize2d,
    name: String,
    pose: Pose = Pose.Identity,
    parent: Entity? = null
): PanelEntity
```

Factory method for a spatialized PanelEntity.

| Parameters |
|---|---|
| `session: https://developer.android.com/reference/kotlin/androidx/xr/runtime/Session` | XR `https://developer.android.com/reference/kotlin/androidx/xr/runtime/Session` in which to create the PanelEntity. |
| `view: https://developer.android.com/reference/android/view/View.html` | `https://developer.android.com/reference/android/view/View.html` to embed in this panel entity. |
| `dimensions: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/FloatSize2d` | Spatialized dimensions for the underlying surface for the given view, in meters. |
| `name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | Name of this PanelEntity. |
| `pose: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose = Pose.Identity` | `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose` of this entity relative to its parent, default value is Identity. |
| `parent: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity? = null` | Parent entity. Defaults to `null`. If `null`, the entity is created but not attached to the scene graph, meaning it will be invisible. If a parent entity (e.g., `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/ActivitySpace` or any other `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity` already present in the scene) is assigned later, the entity will become visible (provided it is enabled). This allows for `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity` pre-configuration before making it visible. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity` | a PanelEntity instance. |

### create

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
fun create(
    session: Session,
    view: View,
    pixelDimensions: IntSize2d,
    name: String,
    pose: Pose = Pose.Identity,
    parent: Entity? = null
): PanelEntity
```

Factory method for a spatialized PanelEntity.

| Parameters |
|---|---|
| `session: https://developer.android.com/reference/kotlin/androidx/xr/runtime/Session` | XR `https://developer.android.com/reference/kotlin/androidx/xr/runtime/Session` in which to create the PanelEntity. |
| `view: https://developer.android.com/reference/android/view/View.html` | `https://developer.android.com/reference/android/view/View.html` to embed in this panel entity. |
| `pixelDimensions: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/IntSize2d` | Dimensions for the underlying surface for the given view, in pixels. |
| `name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | Name of the panel. |
| `pose: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose = Pose.Identity` | `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Pose` of this PanelEntity relative to its parent, default value is Identity. |
| `parent: https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity? = null` | Parent entity. Defaults to `null`. If `null`, the entity is created but not attached to the scene graph, meaning it will be invisible. If a parent entity (e.g., `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/ActivitySpace` or any other `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity` already present in the scene) is assigned later, the entity will become visible (provided it is enabled). This allows for `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/Entity` pre-configuration before making it visible. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity` | a PanelEntity instance. |

## Public functions

### getPerceivedResolution

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
fun getPerceivedResolution(renderViewpoint: RenderViewpoint): PerceivedResolutionResult
```

Gets the perceived resolution of this Entity in the provided `https://developer.android.com/reference/kotlin/androidx/xr/arcore/RenderViewpoint`.

This API is only intended for use in Full Space and will return `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PerceivedResolutionResult.InvalidRenderViewpoint` in Home Space. For applications requiring perceived resolution in Home Space, see `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity#getPerceivedResolution(androidx.xr.arcore.RenderViewpoint)`.

This value represents the dimensions of the Entity on the camera view if its largest surface was facing the camera without changing the distance of the Entity to the camera. This can be used by clients to dynamically optimize the resolution of assets within the PanelEntity, for example by using lower-resolution assets within panels that are further from the viewer. The Entity's own rotation and the camera's viewing direction are disregarded.

| Parameters |
|---|---|
| `renderViewpoint: https://developer.android.com/reference/kotlin/androidx/xr/arcore/RenderViewpoint` | that provides the pose and field-of-view of the camera. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PerceivedResolutionResult` | A `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PerceivedResolutionResult` which encapsulates the outcome: - `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PerceivedResolutionResult.Success` containing the if the calculation is successful. - `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PerceivedResolutionResult.EntityTooClose` if the Entity is too close to the camera. - `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PerceivedResolutionResult.InvalidRenderViewpoint` if the camera information required for the calculation is invalid or unavailable. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PerceivedResolutionResult` |   |

### transformNormalizedCoordinatesToLocalPosition

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
fun transformNormalizedCoordinatesToLocalPosition(coordinates: Vector2): Vector3
```

Gets the 3D position of a 2D normalized extent coordinate within the entity's local space.

This method's inputs use a 2D normalized coordinate system where:

- The origin (0.0, 0.0) is at the **center** of the panel.

- The +X axis points towards the **right** edge (mapped to 1.0) of the panel content.

- The +Y axis points towards the **top** edge (mapped to 1.0) of the panel content.

Values outside the -1.0, 1.0 range are permitted and will result in a position outside the panel's surface.

Note that calling this method on `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/MainPanelEntity` during `https://developer.android.com/reference/android/app/Activity.html#onCreate(android.os.Bundle)` can result in incorrect values.

| Parameters |
|---|---|
| `coordinates: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector2` | The normalized coordinates, relative to the origin at the center of the panel. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3` | The 3D position in the Entity's local space corresponding to the 2D normalized coordinate. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/ScenePose#transformPositionTo(androidx.xr.runtime.math.Vector3,androidx.xr.scenecore.ScenePose)` | to transform the position to a different coordinate space. |

### transformPixelCoordinatesToLocalPosition

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
fun transformPixelCoordinatesToLocalPosition(coordinates: Vector2): Vector3
```

Gets the 3D position of a 2D pixel coordinate within the entity's local space.

This method's inputs use a 2D pixel coordinate system where:

- The origin (0, 0) is at the **top-left** corner of the panel.

- The +X axis points towards the **right** edge of the panel content.

- The +Y axis points towards the **bottom** edge of the panel content.

Input values are floats to allow for sub-pixel accuracy. Values outside the panel's pixel dimensions (e.g., `x < 0` or `y > panelHeight`) are permitted and will result in a position outside the panel's surface.

Note that calling this method on `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/MainPanelEntity` during `https://developer.android.com/reference/android/app/Activity.html#onCreate(android.os.Bundle)` can result in incorrect values.

| Parameters |
|---|---|
| `coordinates: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector2` | The pixel coordinate, relative to the top-left origin. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Vector3` | The 3D position in the Entity's local space corresponding to the 2D pixel coordinate. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/scenecore/ScenePose#transformPositionTo(androidx.xr.runtime.math.Vector3,androidx.xr.scenecore.ScenePose)` | to transform the position to a different coordinate space. |

## Public properties

### cornerRadius

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
var cornerRadius: Float
```

The corner radius of the PanelEntity, in meters.

### isMainPanelEntity

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
val isMainPanelEntity: Boolean
```

True if this panel is the [MainPanelEntity](https://developer.android.com/develop/xr/jetpack-xr-sdk/work-with-entities), false otherwise.

### size

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
var size: FloatSize2d
```

The dimensions of this PanelEntity in local space, in units relative to the scale of this Entity's parent.

### sizeInPixels

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
var sizeInPixels: IntSize2d
```

The dimensions of this PanelEntity, in pixels, which is the resolution of the underlying surface.

This API doesn't do any scale compensation to the pixel dimensions.