From 843f2bcd8824f9f444de37995bedf953583335b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sat, 15 Jan 2022 18:19:04 +0100 Subject: [PATCH] Havok: Add hkpBoxMotion --- lib/hkStubs/CMakeLists.txt | 1 + .../Dynamics/Motion/Rigid/hkpBoxMotion.h | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 lib/hkStubs/Havok/Physics2012/Dynamics/Motion/Rigid/hkpBoxMotion.h diff --git a/lib/hkStubs/CMakeLists.txt b/lib/hkStubs/CMakeLists.txt index f891710f..a53a9bfa 100644 --- a/lib/hkStubs/CMakeLists.txt +++ b/lib/hkStubs/CMakeLists.txt @@ -104,6 +104,7 @@ add_library(hkStubs OBJECT Havok/Physics2012/Dynamics/Entity/hkpRigidBody.h Havok/Physics2012/Dynamics/Entity/hkpRigidBodyCinfo.h Havok/Physics2012/Dynamics/Motion/hkpMotion.h + Havok/Physics2012/Dynamics/Motion/Rigid/hkpBoxMotion.h Havok/Physics2012/Dynamics/Motion/Rigid/hkpKeyframedRigidMotion.h Havok/Physics2012/Dynamics/World/hkpPhysicsSystem.h Havok/Physics2012/Dynamics/World/hkpWorld.cpp diff --git a/lib/hkStubs/Havok/Physics2012/Dynamics/Motion/Rigid/hkpBoxMotion.h b/lib/hkStubs/Havok/Physics2012/Dynamics/Motion/Rigid/hkpBoxMotion.h new file mode 100644 index 00000000..14d58490 --- /dev/null +++ b/lib/hkStubs/Havok/Physics2012/Dynamics/Motion/Rigid/hkpBoxMotion.h @@ -0,0 +1,32 @@ +#pragma once + +#include +#include + +class hkpBoxMotion : public hkpMotion { +public: + HK_DECLARE_CLASS_ALLOCATOR(hkpBoxMotion) + HK_DECLARE_REFLECTION() + + hkpBoxMotion(const hkVector4& position, const hkQuaternion& rotation); + explicit hkpBoxMotion(hkFinishLoadedObjectFlag flag) : hkpMotion(flag) {} + + void getInertiaLocal(hkMatrix3& inertia) const override; + void getInertiaWorld(hkMatrix3& inertiaOut) const override; + void setInertiaLocal(const hkMatrix3& inertia) override; + void setMass(hkReal m) override; + void setMass(hkSimdRealParameter m) override; + void setInertiaInvLocal(const hkMatrix3& inertiaInv) override; + void getInertiaInvLocal(hkMatrix3& inertiaInv) const override; + void getInertiaInvWorld(hkMatrix3& inertiaInvOut) const override; + void applyPointImpulse(const hkVector4& imp, const hkVector4& p) override; + void applyAngularImpulse(const hkVector4& imp) override; + void applyForce(const hkReal deltaTime, const hkVector4& force) override; + void applyForce(const hkReal deltaTime, const hkVector4& force, const hkVector4& p) override; + void applyTorque(const hkReal deltaTime, const hkVector4& torque) override; + void getProjectedPointVelocity(const hkVector4& p, const hkVector4& normal, hkReal& velOut, + hkReal& invVirtMassOut) const override; + void getProjectedPointVelocitySimd(const hkVector4& p, const hkVector4& normal, + hkSimdReal& velOut, + hkSimdReal& invVirtMassOut) const override; +};