Skip to main content
Version: 0.9.0 (next)

AppVolumeOptions class

Arguments of AppVolumeControl.GetOrCreate. The defaults match qar_app_volume_init_default(): identity poses, a 1 m cube, app scale 1, no world anchor and the default gesture configuration.

Namespace: Quaternar.Qaros · Assembly: Quaternar.Qaros.dll

public sealed class AppVolumeOptions

Constructors​

AppVolumeOptions(string)​

public AppVolumeOptions(string commonName)

Parameters

NameTypeDescription
commonNamestringRequired stable identity key the volume's id is derived from: AppVolumeControl.GetOrCreate returns the existing volume with this name, or creates one.

Properties​

MemberDescription
CommonNameRequired stable identity key the volume's id is derived from. Must be ASCII and non-empty; put any other text in AppVolumeOptions.DisplayName.
DisplayNameLabel shown to users; any text, emoji included.
PosePlacement of the cuboid's centre in room space, and the rotation taking app volume space into room space.
SizeCuboid extents in metres along app-volume-space X (width), Z (length) and Y (height).
InitialPeers
AppPoseOrigin of the rendering application inside app volume space, in volume metres, relative to the cuboid centre. Not a room-space pose, and AppVolumeOptions.AppScale does not scale it.
AppScaleRoom-metres per app-metre: the factor between app content space and app volume space. 1.0 means 1 m in app coordinates renders as 1 m in the app volume; 0.5 makes the app appear smaller, 10.0 bigger. AppVolumeOptions.AppPose remains in app-volume metres.
AppWorldAnchorPins the volume to an Earth-fixed frame; null, the default, sets no anchor.
GestureConfigurationRules of the default gesture mode and the allowed peers. Null, the default, gives the configuration a parameterless AppVolumeGestureConfiguration describes.

CommonName​

Required stable identity key the volume's id is derived from. Must be ASCII and non-empty; put any other text in AppVolumeOptions.DisplayName.

public string CommonName { get; set; }

Value: string

DisplayName​

Label shown to users; any text, emoji included.

public string? DisplayName { get; set; }

Value: string

Pose​

Placement of the cuboid's centre in room space, and the rotation taking app volume space into room space.

public Pose Pose { get; set; }

Value: Pose

Size​

Cuboid extents in metres along app-volume-space X (width), Z (length) and Y (height).

public AppVolumeSize Size { get; set; }

Value: AppVolumeSize

InitialPeers​

public PeerId[] InitialPeers { get; set; }

Value: PeerId[]

AppPose​

Origin of the rendering application inside app volume space, in volume metres, relative to the cuboid centre. Not a room-space pose, and AppVolumeOptions.AppScale does not scale it.

public Pose AppPose { get; set; }

Value: Pose

AppScale​

Room-metres per app-metre: the factor between app content space and app volume space. 1.0 means 1 m in app coordinates renders as 1 m in the app volume; 0.5 makes the app appear smaller, 10.0 bigger. AppVolumeOptions.AppPose remains in app-volume metres.

public float AppScale { get; set; }

Value: float

AppWorldAnchor​

Pins the volume to an Earth-fixed frame; null, the default, sets no anchor.

public GeoAnchorFrame? AppWorldAnchor { get; set; }

Value: GeoAnchorFrame?

GestureConfiguration​

Rules of the default gesture mode and the allowed peers. Null, the default, gives the configuration a parameterless AppVolumeGestureConfiguration describes.

public AppVolumeGestureConfiguration? GestureConfiguration { get; set; }

Value: AppVolumeGestureConfiguration

Methods​

WithExtension​

public AppVolumeOptions WithExtension(Structure extension)

Parameters

NameTypeDescription
extensionStructure

Returns: AppVolumeOptions