Set transform.inverse.inverse == transform

https://github.com/immersive-web/webxr/issues/576
This commit is contained in:
Manish Goregaokar 2019-04-05 13:12:19 -07:00
parent 967efc7fbc
commit cdbc08b911

View file

@ -100,8 +100,11 @@ impl XRRigidTransformMethods for XRRigidTransform {
}
// https://immersive-web.github.io/webxr/#dom-xrrigidtransform-inverse
fn Inverse(&self) -> DomRoot<XRRigidTransform> {
self.inverse
.or_init(|| XRRigidTransform::new(&self.global(), self.transform.inverse()))
self.inverse.or_init(|| {
let transform = XRRigidTransform::new(&self.global(), self.transform.inverse());
transform.inverse.set(Some(self));
transform
})
}
// https://immersive-web.github.io/webxr/#dom-xrrigidtransform-matrix
#[allow(unsafe_code)]