Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
PathConstraintPath.h
Go to the documentation of this file.
1// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
2// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
8#include <Jolt/Core/Result.h>
10
12
13class StreamIn;
14class StreamOut;
15#ifdef JPH_DEBUG_RENDERER
16class DebugRenderer;
17#endif // JPH_DEBUG_RENDERER
18
20class JPH_EXPORT PathConstraintPath : public SerializableObject, public RefTarget<PathConstraintPath>
21{
22public:
24
26
29
31 virtual float GetPathMaxFraction() const = 0;
32
37 virtual float GetClosestPoint(Vec3Arg inPosition, float inFractionHint) const = 0;
38
46
48 void SetIsLooping(bool inIsLooping) { mIsLooping = inIsLooping; }
49 bool IsLooping() const { return mIsLooping; }
50
51#ifdef JPH_DEBUG_RENDERER
54#endif // JPH_DEBUG_RENDERER
55
57 virtual void SaveBinaryState(StreamOut &inStream) const;
58
60 static PathResult sRestoreFromBinaryState(StreamIn &inStream);
61
62protected:
64 virtual void RestoreBinaryState(StreamIn &inStream);
65
66private:
68 bool mIsLooping = false;
69};
70
#define JPH_EXPORT
Definition Core.h:227
#define JPH_NAMESPACE_END
Definition Core.h:367
#define JPH_NAMESPACE_BEGIN
Definition Core.h:361
AllocateFunction Allocate
Definition Memory.cpp:59
#define JPH_DECLARE_SERIALIZABLE_ABSTRACT(linkage, class_name)
Definition SerializableObject.h:111
Definition DebugRenderer.h:47
Holds a 4x4 matrix of floats, but supports also operations on the 3x3 upper left part of the matrix.
Definition Mat44.h:13
The path for a path constraint. It allows attaching two bodies to each other while giving the second ...
Definition PathConstraintPath.h:21
bool IsLooping() const
Definition PathConstraintPath.h:49
Definition Reference.h:101
Definition Reference.h:35
Helper class that either contains a valid result or an error.
Definition Result.h:15
Definition SerializableObject.h:147
Simple binary input stream.
Definition StreamIn.h:13
Simple binary output stream.
Definition StreamOut.h:13
Definition Vec3.h:16