VehicleTrack.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
  2. // SPDX-FileCopyrightText: 2021 Jorrit Rouwe
  3. // SPDX-License-Identifier: MIT
  4. #include <Jolt/Jolt.h>
  5. #include <Jolt/Physics/Vehicle/VehicleTrack.h>
  6. #include <Jolt/ObjectStream/TypeDeclarations.h>
  7. JPH_NAMESPACE_BEGIN
  8. JPH_IMPLEMENT_SERIALIZABLE_NON_VIRTUAL(VehicleTrackSettings)
  9. {
  10. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mDrivenWheel)
  11. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mWheels)
  12. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mInertia)
  13. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mAngularDamping)
  14. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mMaxBrakeTorque)
  15. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mDifferentialRatio)
  16. }
  17. void VehicleTrackSettings::SaveBinaryState(StreamOut &inStream) const
  18. {
  19. inStream.Write(mDrivenWheel);
  20. inStream.Write(mWheels);
  21. inStream.Write(mInertia);
  22. inStream.Write(mAngularDamping);
  23. inStream.Write(mMaxBrakeTorque);
  24. inStream.Write(mDifferentialRatio);
  25. }
  26. void VehicleTrackSettings::RestoreBinaryState(StreamIn &inStream)
  27. {
  28. inStream.Read(mDrivenWheel);
  29. inStream.Read(mWheels);
  30. inStream.Read(mInertia);
  31. inStream.Read(mAngularDamping);
  32. inStream.Read(mMaxBrakeTorque);
  33. inStream.Read(mDifferentialRatio);
  34. }
  35. void VehicleTrack::SaveState(StateRecorder &inStream) const
  36. {
  37. inStream.Write(mAngularVelocity);
  38. }
  39. void VehicleTrack::RestoreState(StateRecorder &inStream)
  40. {
  41. inStream.Read(mAngularVelocity);
  42. }
  43. JPH_NAMESPACE_END