#[repr(C)]pub struct SystemInfo { /* private fields */ }
Expand description
Information about a system’s capabilities and properties! https://stereokit.net/Pages/StereoKit/SystemInfo.html
see also: SkInfo::get_system
Sk::get_system
§Examples
use stereokit_rust::sk::{Sk, SkSettings, SystemInfo, AppMode};
use stereokit_rust::system::LogLevel;
let mut settings = SkSettings::default();
settings.app_name("Test").mode(AppMode::Offscreen);
let sk = Sk::init(&settings).unwrap();
let system_info: SystemInfo = sk.get_system();
// 0 everywhere:
assert_eq!(system_info, SystemInfo::default());
Sk::shutdown();
Implementations§
Source§impl SystemInfo
impl SystemInfo
Sourcepub fn get_display_width(&self) -> i32
pub fn get_display_width(&self) -> i32
Width of the display surface, in pixels! For a stereo display, this will be the width of a single eye. https://stereokit.net/Pages/StereoKit/SystemInfo/displayWidth.html
Sourcepub fn get_display_height(&self) -> i32
pub fn get_display_height(&self) -> i32
Height of the display surface, in pixels! For a stereo display, this will be the height of a single eye. https://stereokit.net/Pages/StereoKit/SystemInfo/displayHeight.html
Sourcepub fn get_spatial_bridge_present(&self) -> bool
pub fn get_spatial_bridge_present(&self) -> bool
Does the device we’re currently on have the spatial graph bridge extension? The extension is provided through
the function crate::system::World::from_spatial_node
. This allows OpenXR to talk with certain windows APIs, such
as the QR code API that provides Graph Node GUIDs for the pose.
https://stereokit.net/Pages/StereoKit/SystemInfo/spatialBridgePresent.html
Sourcepub fn get_perception_bridge_present(&self) -> bool
pub fn get_perception_bridge_present(&self) -> bool
Can the device work with externally provided spatial anchors, like UWP’s Windows.Perception.Spatial.SpatialAnchor https://stereokit.net/Pages/StereoKit/SystemInfo/perceptionBridgePresent.html
Sourcepub fn get_eye_tracking_present(&self) -> bool
pub fn get_eye_tracking_present(&self) -> bool
Does the device we’re on have eye tracking support present? This is not an indicator that the user has given the application permission to access this information. See Input.Gaze for how to use this data. https://stereokit.net/Pages/StereoKit/SystemInfo/eyeTrackingPresent.html
Sourcepub fn get_overlay_app(&self) -> bool
pub fn get_overlay_app(&self) -> bool
This tells if the app was successfully started as an overlay application. If this is true, then expect this application to be composited with other content below it! https://stereokit.net/Pages/StereoKit/SystemInfo/overlayApp.html
Sourcepub fn get_world_occlusion_present(&self) -> bool
pub fn get_world_occlusion_present(&self) -> bool
Does this device support world occlusion of digital objects? If this is true, then World.OcclusionEnabled can
be set to true, and crate::system::World::occlusion_material
can be modified.
https://stereokit.net/Pages/StereoKit/SystemInfo/worldOcclusionPresent.html
Sourcepub fn get_world_raycast_present(&self) -> bool
pub fn get_world_raycast_present(&self) -> bool
Can this device get ray intersections from the environment? If this is true, then crate::system::World::raycast_enabled
can be set to true, and crate::system::World::raycast
can be used.
https://stereokit.net/Pages/StereoKit/SystemInfo/worldRaycastPresent.html
Trait Implementations§
Source§impl Clone for SystemInfo
impl Clone for SystemInfo
Source§fn clone(&self) -> SystemInfo
fn clone(&self) -> SystemInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SystemInfo
impl Debug for SystemInfo
Source§impl Default for SystemInfo
impl Default for SystemInfo
Source§fn default() -> SystemInfo
fn default() -> SystemInfo
Source§impl PartialEq for SystemInfo
impl PartialEq for SystemInfo
impl StructuralPartialEq for SystemInfo
Auto Trait Implementations§
impl Freeze for SystemInfo
impl RefUnwindSafe for SystemInfo
impl Send for SystemInfo
impl Sync for SystemInfo
impl Unpin for SystemInfo
impl UnwindSafe for SystemInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.