// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics) // SPDX-FileCopyrightText: 2021 Jorrit Rouwe // SPDX-License-Identifier: MIT #include #include #include JPH_NAMESPACE_BEGIN void MotionProperties::SaveState(StateRecorder &inStream) const { // Only write properties that can change at runtime inStream.Write(mLinearVelocity); inStream.Write(mAngularVelocity); inStream.Write(mForce); inStream.Write(mTorque); inStream.Write(mLinearDamping); inStream.Write(mAngularDamping); inStream.Write(mMaxLinearVelocity); inStream.Write(mMaxAngularVelocity); inStream.Write(mGravityFactor); #ifdef JPH_DOUBLE_PRECISION inStream.Write(mSleepTestOffset); #endif // JPH_DOUBLE_PRECISION inStream.Write(mSleepTestSpheres); inStream.Write(mSleepTestTimer); inStream.Write(mMotionQuality); inStream.Write(mAllowSleeping); } void MotionProperties::RestoreState(StateRecorder &inStream) { inStream.Read(mLinearVelocity); inStream.Read(mAngularVelocity); inStream.Read(mForce); inStream.Read(mTorque); inStream.Read(mLinearDamping); inStream.Read(mAngularDamping); inStream.Read(mMaxLinearVelocity); inStream.Read(mMaxAngularVelocity); inStream.Read(mGravityFactor); #ifdef JPH_DOUBLE_PRECISION inStream.Read(mSleepTestOffset); #endif // JPH_DOUBLE_PRECISION inStream.Read(mSleepTestSpheres); inStream.Read(mSleepTestTimer); inStream.Read(mMotionQuality); inStream.Read(mAllowSleeping); } JPH_NAMESPACE_END