// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/webxr-hand-input
///|
/// XRHandJoint enum
pub(all) enum XRHandJoint {
Wrist
ThumbMetacarpal
ThumbPhalanxProximal
ThumbPhalanxDistal
ThumbTip
IndexFingerMetacarpal
IndexFingerPhalanxProximal
IndexFingerPhalanxIntermediate
IndexFingerPhalanxDistal
IndexFingerTip
MiddleFingerMetacarpal
MiddleFingerPhalanxProximal
MiddleFingerPhalanxIntermediate
MiddleFingerPhalanxDistal
MiddleFingerTip
RingFingerMetacarpal
RingFingerPhalanxProximal
RingFingerPhalanxIntermediate
RingFingerPhalanxDistal
RingFingerTip
PinkyFingerMetacarpal
PinkyFingerPhalanxProximal
PinkyFingerPhalanxIntermediate
PinkyFingerPhalanxDistal
PinkyFingerTip
} derive(Eq, Show)
///|
/// Convert to string value
pub fn XRHandJoint::to_string(self : XRHandJoint) -> String {
match self {
XRHandJoint::Wrist => "wrist"
XRHandJoint::ThumbMetacarpal => "thumb-metacarpal"
XRHandJoint::ThumbPhalanxProximal => "thumb-phalanx-proximal"
XRHandJoint::ThumbPhalanxDistal => "thumb-phalanx-distal"
XRHandJoint::ThumbTip => "thumb-tip"
XRHandJoint::IndexFingerMetacarpal => "index-finger-metacarpal"
XRHandJoint::IndexFingerPhalanxProximal => "index-finger-phalanx-proximal"
XRHandJoint::IndexFingerPhalanxIntermediate =>
"index-finger-phalanx-intermediate"
XRHandJoint::IndexFingerPhalanxDistal => "index-finger-phalanx-distal"
XRHandJoint::IndexFingerTip => "index-finger-tip"
XRHandJoint::MiddleFingerMetacarpal => "middle-finger-metacarpal"
XRHandJoint::MiddleFingerPhalanxProximal => "middle-finger-phalanx-proximal"
XRHandJoint::MiddleFingerPhalanxIntermediate =>
"middle-finger-phalanx-intermediate"
XRHandJoint::MiddleFingerPhalanxDistal => "middle-finger-phalanx-distal"
XRHandJoint::MiddleFingerTip => "middle-finger-tip"
XRHandJoint::RingFingerMetacarpal => "ring-finger-metacarpal"
XRHandJoint::RingFingerPhalanxProximal => "ring-finger-phalanx-proximal"
XRHandJoint::RingFingerPhalanxIntermediate =>
"ring-finger-phalanx-intermediate"
XRHandJoint::RingFingerPhalanxDistal => "ring-finger-phalanx-distal"
XRHandJoint::RingFingerTip => "ring-finger-tip"
XRHandJoint::PinkyFingerMetacarpal => "pinky-finger-metacarpal"
XRHandJoint::PinkyFingerPhalanxProximal => "pinky-finger-phalanx-proximal"
XRHandJoint::PinkyFingerPhalanxIntermediate =>
"pinky-finger-phalanx-intermediate"
XRHandJoint::PinkyFingerPhalanxDistal => "pinky-finger-phalanx-distal"
XRHandJoint::PinkyFingerTip => "pinky-finger-tip"
}
}
///|
/// Parse from string value
pub fn XRHandJoint::from_string(s : String) -> XRHandJoint? {
match s {
"wrist" => Some(XRHandJoint::Wrist)
"thumb-metacarpal" => Some(XRHandJoint::ThumbMetacarpal)
"thumb-phalanx-proximal" => Some(XRHandJoint::ThumbPhalanxProximal)
"thumb-phalanx-distal" => Some(XRHandJoint::ThumbPhalanxDistal)
"thumb-tip" => Some(XRHandJoint::ThumbTip)
"index-finger-metacarpal" => Some(XRHandJoint::IndexFingerMetacarpal)
"index-finger-phalanx-proximal" =>
Some(XRHandJoint::IndexFingerPhalanxProximal)
"index-finger-phalanx-intermediate" =>
Some(XRHandJoint::IndexFingerPhalanxIntermediate)
"index-finger-phalanx-distal" => Some(XRHandJoint::IndexFingerPhalanxDistal)
"index-finger-tip" => Some(XRHandJoint::IndexFingerTip)
"middle-finger-metacarpal" => Some(XRHandJoint::MiddleFingerMetacarpal)
"middle-finger-phalanx-proximal" =>
Some(XRHandJoint::MiddleFingerPhalanxProximal)
"middle-finger-phalanx-intermediate" =>
Some(XRHandJoint::MiddleFingerPhalanxIntermediate)
"middle-finger-phalanx-distal" =>
Some(XRHandJoint::MiddleFingerPhalanxDistal)
"middle-finger-tip" => Some(XRHandJoint::MiddleFingerTip)
"ring-finger-metacarpal" => Some(XRHandJoint::RingFingerMetacarpal)
"ring-finger-phalanx-proximal" =>
Some(XRHandJoint::RingFingerPhalanxProximal)
"ring-finger-phalanx-intermediate" =>
Some(XRHandJoint::RingFingerPhalanxIntermediate)
"ring-finger-phalanx-distal" => Some(XRHandJoint::RingFingerPhalanxDistal)
"ring-finger-tip" => Some(XRHandJoint::RingFingerTip)
"pinky-finger-metacarpal" => Some(XRHandJoint::PinkyFingerMetacarpal)
"pinky-finger-phalanx-proximal" =>
Some(XRHandJoint::PinkyFingerPhalanxProximal)
"pinky-finger-phalanx-intermediate" =>
Some(XRHandJoint::PinkyFingerPhalanxIntermediate)
"pinky-finger-phalanx-distal" => Some(XRHandJoint::PinkyFingerPhalanxDistal)
"pinky-finger-tip" => Some(XRHandJoint::PinkyFingerTip)
_ => None
}
}
///|
/// XRHand interface
pub type XRHand
///|
pub extern "js" fn XRHand::to_js_value(self : XRHand) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to XRHand (unchecked)
pub extern "js" fn XRHand::from_js_value(v : JsValue) -> XRHand =
#| (v) => v
///|
/// Safely cast JsValue to XRHand (checked with instanceof)
pub extern "js" fn XRHand::from_js_value_opt(v : JsValue) -> XRHand? =
#| (v) => (v instanceof XRHand) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to XRHand (checked with instanceof)
pub extern "js" fn JsValue::as_xr_hand(self : JsValue) -> XRHand? =
#| (self) => (self instanceof XRHand) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to XRHand (unchecked)
pub extern "js" fn JsValue::to_xr_hand(self : JsValue) -> XRHand =
#| (self) => self
///|
pub extern "js" fn XRHand::keys(self : XRHand) -> JsValue =
#| (self) => self.keys()
///|
pub extern "js" fn XRHand::values(self : XRHand) -> JsValue =
#| (self) => self.values()
///|
pub extern "js" fn XRHand::entries(self : XRHand) -> JsValue =
#| (self) => self.entries()
///|
pub extern "js" fn XRHand::for_each(self : XRHand, callback : JsValue) -> Unit =
#| (self, callback) => { self.forEach(callback) }
///|
pub extern "js" fn XRHand::get_size(self : XRHand) -> Int =
#| (self) => self.size
///|
pub extern "js" fn XRHand::get(
self : XRHand,
key : XRHandJoint,
) -> XRJointSpace =
#| (self, key) => self.get(['wrist', 'thumb-metacarpal', 'thumb-phalanx-proximal', 'thumb-phalanx-distal', 'thumb-tip', 'index-finger-metacarpal', 'index-finger-phalanx-proximal', 'index-finger-phalanx-intermediate', 'index-finger-phalanx-distal', 'index-finger-tip', 'middle-finger-metacarpal', 'middle-finger-phalanx-proximal', 'middle-finger-phalanx-intermediate', 'middle-finger-phalanx-distal', 'middle-finger-tip', 'ring-finger-metacarpal', 'ring-finger-phalanx-proximal', 'ring-finger-phalanx-intermediate', 'ring-finger-phalanx-distal', 'ring-finger-tip', 'pinky-finger-metacarpal', 'pinky-finger-phalanx-proximal', 'pinky-finger-phalanx-intermediate', 'pinky-finger-phalanx-distal', 'pinky-finger-tip'][key])
///|
/// XRJointSpace interface
pub type XRJointSpace
///|
pub extern "js" fn XRJointSpace::to_js_value(self : XRJointSpace) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to XRJointSpace (unchecked)
pub extern "js" fn XRJointSpace::from_js_value(v : JsValue) -> XRJointSpace =
#| (v) => v
///|
/// Safely cast JsValue to XRJointSpace (checked with instanceof)
pub extern "js" fn XRJointSpace::from_js_value_opt(
v : JsValue,
) -> XRJointSpace? =
#| (v) => (v instanceof XRJointSpace) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to XRJointSpace (checked with instanceof)
pub extern "js" fn JsValue::as_xr_joint_space(self : JsValue) -> XRJointSpace? =
#| (self) => (self instanceof XRJointSpace) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to XRJointSpace (unchecked)
pub extern "js" fn JsValue::to_xr_joint_space(self : JsValue) -> XRJointSpace =
#| (self) => self
///|
pub extern "js" fn XRJointSpace::to_xr_space(self : XRJointSpace) -> XRSpace =
#| (self) => self
///|
pub extern "js" fn XRJointSpace::to_event_target(
self : XRJointSpace,
) -> EventTarget =
#| (self) => self
///|
pub extern "js" fn XRJointSpace::get_joint_name(
self : XRJointSpace,
) -> XRHandJoint =
#| (self) => ['wrist', 'thumb-metacarpal', 'thumb-phalanx-proximal', 'thumb-phalanx-distal', 'thumb-tip', 'index-finger-metacarpal', 'index-finger-phalanx-proximal', 'index-finger-phalanx-intermediate', 'index-finger-phalanx-distal', 'index-finger-tip', 'middle-finger-metacarpal', 'middle-finger-phalanx-proximal', 'middle-finger-phalanx-intermediate', 'middle-finger-phalanx-distal', 'middle-finger-tip', 'ring-finger-metacarpal', 'ring-finger-phalanx-proximal', 'ring-finger-phalanx-intermediate', 'ring-finger-phalanx-distal', 'ring-finger-tip', 'pinky-finger-metacarpal', 'pinky-finger-phalanx-proximal', 'pinky-finger-phalanx-intermediate', 'pinky-finger-phalanx-distal', 'pinky-finger-tip'].indexOf(self.jointName)
///|
/// XRJointPose interface
pub type XRJointPose
///|
pub extern "js" fn XRJointPose::to_js_value(self : XRJointPose) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to XRJointPose (unchecked)
pub extern "js" fn XRJointPose::from_js_value(v : JsValue) -> XRJointPose =
#| (v) => v
///|
/// Safely cast JsValue to XRJointPose (checked with instanceof)
pub extern "js" fn XRJointPose::from_js_value_opt(v : JsValue) -> XRJointPose? =
#| (v) => (v instanceof XRJointPose) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to XRJointPose (checked with instanceof)
pub extern "js" fn JsValue::as_xr_joint_pose(self : JsValue) -> XRJointPose? =
#| (self) => (self instanceof XRJointPose) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to XRJointPose (unchecked)
pub extern "js" fn JsValue::to_xr_joint_pose(self : JsValue) -> XRJointPose =
#| (self) => self
///|
pub extern "js" fn XRJointPose::to_xr_pose(self : XRJointPose) -> XRPose =
#| (self) => self
///|
pub extern "js" fn XRJointPose::get_radius(self : XRJointPose) -> Double =
#| (self) => self.radius