[webkit-changes] [WebKit/WebKit] 968ffb: Create a Quaternion class.

mattwoodrow noreply at github.com
Wed Aug 30 13:07:34 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 968ffb00d673ff05aa1645e3964042f413615b8f
      https://github.com/WebKit/WebKit/commit/968ffb00d673ff05aa1645e3964042f413615b8f
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2023-08-30 (Wed, 30 Aug 2023)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/webxr/WebXRFrame.cpp
    M Source/WebCore/Modules/webxr/WebXRRigidTransform.cpp
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    A Source/WebCore/platform/graphics/transforms/Quaternion.cpp
    A Source/WebCore/platform/graphics/transforms/Quaternion.h
    M Source/WebCore/platform/graphics/transforms/RotateTransformOperation.cpp
    M Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
    M Source/WebCore/platform/graphics/transforms/TransformationMatrix.h

  Log Message:
  -----------
  Create a Quaternion class.
https://bugs.webkit.org/show_bug.cgi?id=260891
<rdar://114675971>

Reviewed by Don Olmstead.

The Quaternion code is currently within TransformationMatrix and is getting fairly complicated. Moving it out into a standalone class should make it easier to work on

* Source/WebCore/Headers.cmake:
* Source/WebCore/Modules/webxr/WebXRFrame.cpp:
(WebCore::WebXRFrame::matrixFromPose):
* Source/WebCore/Modules/webxr/WebXRRigidTransform.cpp:
(WebCore::WebXRRigidTransform::WebXRRigidTransform):
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/transforms/Quaternion.cpp: Added.
(WebCore::Quaternion::slerp):
(WebCore::Quaternion::accumulate):
(WebCore::Quaternion::interpolate):
* Source/WebCore/platform/graphics/transforms/Quaternion.h: Added.
(WebCore::Quaternion::operator== const):
* Source/WebCore/platform/graphics/transforms/RotateTransformOperation.cpp:
(WebCore::RotateTransformOperation::blend):
* Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::decompose4):
(WebCore::TransformationMatrix::fromQuaternion):
(WebCore::TransformationMatrix::blend4):
(WebCore::TransformationMatrix::recompose4):
(WebCore::slerp): Deleted.
(WebCore::accumulateQuaternion): Deleted.
(WebCore::interpolateQuaternion): Deleted.
* Source/WebCore/platform/graphics/transforms/TransformationMatrix.h:
(WebCore::TransformationMatrix::Decomposed4Type::operator== const):

Canonical link: https://commits.webkit.org/267465@main




More information about the webkit-changes mailing list