// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics) // SPDX-FileCopyrightText: 2021 Jorrit Rouwe // SPDX-License-Identifier: MIT #include #include #include #include #include JPH_NAMESPACE_BEGIN JPH_IMPLEMENT_SERIALIZABLE_NON_VIRTUAL(MotorSettings) { JPH_ADD_ENUM_ATTRIBUTE_WITH_ALIAS(MotorSettings, mSpringSettings.mMode, "mSpringMode") JPH_ADD_ATTRIBUTE_WITH_ALIAS(MotorSettings, mSpringSettings.mFrequency, "mFrequency") // Renaming attributes to stay compatible with old versions of the library JPH_ADD_ATTRIBUTE_WITH_ALIAS(MotorSettings, mSpringSettings.mDamping, "mDamping") JPH_ADD_ATTRIBUTE(MotorSettings, mMinForceLimit) JPH_ADD_ATTRIBUTE(MotorSettings, mMaxForceLimit) JPH_ADD_ATTRIBUTE(MotorSettings, mMinTorqueLimit) JPH_ADD_ATTRIBUTE(MotorSettings, mMaxTorqueLimit) } void MotorSettings::SaveBinaryState(StreamOut &inStream) const { mSpringSettings.SaveBinaryState(inStream); inStream.Write(mMinForceLimit); inStream.Write(mMaxForceLimit); inStream.Write(mMinTorqueLimit); inStream.Write(mMaxTorqueLimit); } void MotorSettings::RestoreBinaryState(StreamIn &inStream) { mSpringSettings.RestoreBinaryState(inStream); inStream.Read(mMinForceLimit); inStream.Read(mMaxForceLimit); inStream.Read(mMinTorqueLimit); inStream.Read(mMaxTorqueLimit); } JPH_NAMESPACE_END