mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
XRRigidTransform.inverse is now a lazy attribute
This commit is contained in:
parent
fcec93ae16
commit
eb837d1ed7
2 changed files with 6 additions and 2 deletions
|
@ -10,5 +10,5 @@ interface XRRigidTransform {
|
|||
readonly attribute DOMPointReadOnly position;
|
||||
readonly attribute DOMPointReadOnly orientation;
|
||||
// readonly attribute Float32Array matrix;
|
||||
XRRigidTransform inverse();
|
||||
readonly attribute XRRigidTransform inverse;
|
||||
};
|
||||
|
|
|
@ -23,6 +23,7 @@ pub struct XRRigidTransform {
|
|||
orientation: MutNullableDom<DOMPointReadOnly>,
|
||||
#[ignore_malloc_size_of = "defined in euclid"]
|
||||
transform: RigidTransform3D<f64>,
|
||||
inverse: MutNullableDom<XRRigidTransform>,
|
||||
}
|
||||
|
||||
impl XRRigidTransform {
|
||||
|
@ -32,6 +33,7 @@ impl XRRigidTransform {
|
|||
position: MutNullableDom::default(),
|
||||
orientation: MutNullableDom::default(),
|
||||
transform,
|
||||
inverse: MutNullableDom::default(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,7 +95,9 @@ impl XRRigidTransformMethods for XRRigidTransform {
|
|||
}
|
||||
// https://immersive-web.github.io/webxr/#dom-xrrigidtransform-inverse
|
||||
fn Inverse(&self) -> DomRoot<XRRigidTransform> {
|
||||
XRRigidTransform::new(&self.global(), self.transform.inverse())
|
||||
self.inverse.or_init(|| {
|
||||
XRRigidTransform::new(&self.global(), self.transform.inverse())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue