1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
- // SPDX-FileCopyrightText: 2021 Jorrit Rouwe
- // SPDX-License-Identifier: MIT
- #include <Jolt/Jolt.h>
- #include <Jolt/Physics/Body/MotionProperties.h>
- #include <Jolt/Physics/StateRecorder.h>
- 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
|