godot-module-template/engine/thirdparty/jolt_physics/Jolt/Physics/Vehicle/VehicleTrack.cpp

53 lines
1.4 KiB
C++

// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
// SPDX-License-Identifier: MIT
#include <Jolt/Jolt.h>
#include <Jolt/Physics/Vehicle/VehicleTrack.h>
#include <Jolt/ObjectStream/TypeDeclarations.h>
JPH_NAMESPACE_BEGIN
JPH_IMPLEMENT_SERIALIZABLE_NON_VIRTUAL(VehicleTrackSettings)
{
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mDrivenWheel)
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mWheels)
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mInertia)
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mAngularDamping)
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mMaxBrakeTorque)
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mDifferentialRatio)
}
void VehicleTrackSettings::SaveBinaryState(StreamOut &inStream) const
{
inStream.Write(mDrivenWheel);
inStream.Write(mWheels);
inStream.Write(mInertia);
inStream.Write(mAngularDamping);
inStream.Write(mMaxBrakeTorque);
inStream.Write(mDifferentialRatio);
}
void VehicleTrackSettings::RestoreBinaryState(StreamIn &inStream)
{
inStream.Read(mDrivenWheel);
inStream.Read(mWheels);
inStream.Read(mInertia);
inStream.Read(mAngularDamping);
inStream.Read(mMaxBrakeTorque);
inStream.Read(mDifferentialRatio);
}
void VehicleTrack::SaveState(StateRecorder &inStream) const
{
inStream.Write(mAngularVelocity);
}
void VehicleTrack::RestoreState(StateRecorder &inStream)
{
inStream.Read(mAngularVelocity);
}
JPH_NAMESPACE_END