Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/jolt_physics/Jolt/Physics/Vehicle/VehicleTrack.cpp
9913 views
1
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
2
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
3
// SPDX-License-Identifier: MIT
4
5
#include <Jolt/Jolt.h>
6
7
#include <Jolt/Physics/Vehicle/VehicleTrack.h>
8
#include <Jolt/ObjectStream/TypeDeclarations.h>
9
10
JPH_NAMESPACE_BEGIN
11
12
JPH_IMPLEMENT_SERIALIZABLE_NON_VIRTUAL(VehicleTrackSettings)
13
{
14
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mDrivenWheel)
15
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mWheels)
16
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mInertia)
17
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mAngularDamping)
18
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mMaxBrakeTorque)
19
JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mDifferentialRatio)
20
}
21
22
void VehicleTrackSettings::SaveBinaryState(StreamOut &inStream) const
23
{
24
inStream.Write(mDrivenWheel);
25
inStream.Write(mWheels);
26
inStream.Write(mInertia);
27
inStream.Write(mAngularDamping);
28
inStream.Write(mMaxBrakeTorque);
29
inStream.Write(mDifferentialRatio);
30
}
31
32
void VehicleTrackSettings::RestoreBinaryState(StreamIn &inStream)
33
{
34
inStream.Read(mDrivenWheel);
35
inStream.Read(mWheels);
36
inStream.Read(mInertia);
37
inStream.Read(mAngularDamping);
38
inStream.Read(mMaxBrakeTorque);
39
inStream.Read(mDifferentialRatio);
40
}
41
42
void VehicleTrack::SaveState(StateRecorder &inStream) const
43
{
44
inStream.Write(mAngularVelocity);
45
}
46
47
void VehicleTrack::RestoreState(StateRecorder &inStream)
48
{
49
inStream.Read(mAngularVelocity);
50
}
51
52
JPH_NAMESPACE_END
53
54