mirror of
https://github.com/mii443/rust-openvr.git
synced 2025-08-22 16:25:36 +00:00
Relocate TrackedDevicePoses and make indexable
This commit is contained in:
10
src/lib.rs
10
src/lib.rs
@ -123,13 +123,3 @@ pub enum Eye {
|
|||||||
Left = sys::EVREye_EVREye_Eye_Left as isize,
|
Left = sys::EVREye_EVREye_Eye_Left as isize,
|
||||||
Right = sys::EVREye_EVREye_Eye_Right as isize,
|
Right = sys::EVREye_EVREye_Eye_Right as isize,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Copy, Clone)]
|
|
||||||
pub struct TrackedDevicePoses {
|
|
||||||
data: [TrackedDevicePose; sys::k_unMaxTrackedDeviceCount as usize]
|
|
||||||
}
|
|
||||||
|
|
||||||
impl TrackedDevicePoses {
|
|
||||||
pub fn iter(&self) -> slice::Iter<TrackedDevicePose> { self.data.iter() }
|
|
||||||
pub fn len(&self) -> usize { self.data.len() }
|
|
||||||
}
|
|
||||||
|
@ -64,3 +64,21 @@ pub enum TrackedControllerRole {
|
|||||||
LeftHand = sys::ETrackedControllerRole_ETrackedControllerRole_TrackedControllerRole_LeftHand as isize,
|
LeftHand = sys::ETrackedControllerRole_ETrackedControllerRole_TrackedControllerRole_LeftHand as isize,
|
||||||
RightHand = sys::ETrackedControllerRole_ETrackedControllerRole_TrackedControllerRole_RightHand as isize,
|
RightHand = sys::ETrackedControllerRole_ETrackedControllerRole_TrackedControllerRole_RightHand as isize,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Copy, Clone)]
|
||||||
|
pub struct TrackedDevicePoses {
|
||||||
|
data: [TrackedDevicePose; sys::k_unMaxTrackedDeviceCount as usize]
|
||||||
|
}
|
||||||
|
|
||||||
|
impl TrackedDevicePoses {
|
||||||
|
pub fn iter(&self) -> slice::Iter<TrackedDevicePose> { self.data.iter() }
|
||||||
|
pub fn len(&self) -> usize { self.data.len() }
|
||||||
|
}
|
||||||
|
|
||||||
|
impl ::std::ops::Index<TrackedDeviceIndex> for TrackedDevicePoses {
|
||||||
|
type Output = TrackedDevicePose;
|
||||||
|
|
||||||
|
fn index(&self, index: TrackedDeviceIndex) -> &TrackedDevicePose {
|
||||||
|
&self.data[index as usize]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user