MotionProperties.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // SPDX-FileCopyrightText: 2021 Jorrit Rouwe
  2. // SPDX-License-Identifier: MIT
  3. #include <Jolt/Jolt.h>
  4. #include <Jolt/Physics/Body/MotionProperties.h>
  5. #include <Jolt/Physics/StateRecorder.h>
  6. JPH_NAMESPACE_BEGIN
  7. void MotionProperties::SaveState(StateRecorder &inStream) const
  8. {
  9. // Only write properties that can change at runtime
  10. inStream.Write(mLinearVelocity);
  11. inStream.Write(mAngularVelocity);
  12. inStream.Write(mForce);
  13. inStream.Write(mTorque);
  14. inStream.Write(mLinearDamping);
  15. inStream.Write(mAngularDamping);
  16. inStream.Write(mMaxLinearVelocity);
  17. inStream.Write(mMaxAngularVelocity);
  18. inStream.Write(mGravityFactor);
  19. inStream.Write(mSleepTestSpheres);
  20. inStream.Write(mSleepTestTimer);
  21. inStream.Write(mMotionQuality);
  22. inStream.Write(mAllowSleeping);
  23. }
  24. void MotionProperties::RestoreState(StateRecorder &inStream)
  25. {
  26. inStream.Read(mLinearVelocity);
  27. inStream.Read(mAngularVelocity);
  28. inStream.Read(mForce);
  29. inStream.Read(mTorque);
  30. inStream.Read(mLinearDamping);
  31. inStream.Read(mAngularDamping);
  32. inStream.Read(mMaxLinearVelocity);
  33. inStream.Read(mMaxAngularVelocity);
  34. inStream.Read(mGravityFactor);
  35. inStream.Read(mSleepTestSpheres);
  36. inStream.Read(mSleepTestTimer);
  37. inStream.Read(mMotionQuality);
  38. inStream.Read(mAllowSleeping);
  39. }
  40. JPH_NAMESPACE_END