Jolt Physics
A multi core friendly Game Physics Engine
|
A path that follows a Hermite spline. More...
#include <PathConstraintPathHermite.h>
Classes | |
struct | Point |
Public Member Functions | |
virtual float | GetPathMaxFraction () const override |
Gets the max fraction along the path. I.e. sort of the length of the path. | |
virtual float | GetClosestPoint (Vec3Arg inPosition, float inFractionHint) const override |
virtual void | GetPointOnPath (float inFraction, Vec3 &outPathPosition, Vec3 &outPathTangent, Vec3 &outPathNormal, Vec3 &outPathBinormal) const override |
void | AddPoint (Vec3Arg inPosition, Vec3Arg inTangent, Vec3Arg inNormal) |
Adds a point to the path. | |
virtual void | SaveBinaryState (StreamOut &inStream) const override |
Saves the contents of the path in binary form to inStream. | |
Public Member Functions inherited from PathConstraintPath | |
virtual | ~PathConstraintPath () override=default |
Virtual destructor to ensure that derived types get their destructors called. | |
void | SetIsLooping (bool inIsLooping) |
If the path is looping or not. If a path is looping, the first and last point are automatically connected to each other. They should not be the same points. | |
bool | IsLooping () const |
void | DrawPath (DebugRenderer *inRenderer, RMat44Arg inBaseTransform) const |
Draw the path relative to inBaseTransform. Used for debug purposes. | |
Public Member Functions inherited from SerializableObject | |
virtual | ~SerializableObject ()=default |
Constructor. | |
Public Member Functions inherited from NonCopyable | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
void | operator= (const NonCopyable &)=delete |
Public Member Functions inherited from RefTarget< PathConstraintPath > | |
RefTarget ()=default | |
Constructor. | |
RefTarget (const RefTarget &) | |
~RefTarget () | |
assert no one is referencing us | |
void | SetEmbedded () const |
RefTarget & | operator= (const RefTarget &) |
Assignment operator. | |
uint32 | GetRefCount () const |
Get current refcount of this object. | |
void | AddRef () const |
Add or release a reference to this object. | |
void | Release () const |
Protected Member Functions | |
virtual void | RestoreBinaryState (StreamIn &inStream) override |
This function should not be called directly, it is used by sRestoreFromBinaryState. | |
Additional Inherited Members | |
Public Types inherited from PathConstraintPath | |
using | PathResult = Result<Ref<PathConstraintPath>> |
Static Public Member Functions inherited from PathConstraintPath | |
static PathResult | sRestoreFromBinaryState (StreamIn &inStream) |
Creates a Shape of the correct type and restores its contents from the binary stream inStream. | |
Static Public Member Functions inherited from RefTarget< PathConstraintPath > | |
static int | sInternalGetRefCountOffset () |
INTERNAL HELPER FUNCTION USED BY SERIALIZATION. | |
Protected Attributes inherited from RefTarget< PathConstraintPath > | |
atomic< uint32 > | mRefCount |
Current reference count. | |
Static Protected Attributes inherited from RefTarget< PathConstraintPath > | |
static constexpr uint32 | cEmbedded |
A large value that gets added to the refcount to mark the object as embedded. | |
A path that follows a Hermite spline.
|
inline |
Adds a point to the path.
|
overridevirtual |
Get the globally closest point on the curve (Could be slow!)
inPosition | Position to find closest point for |
inFractionHint | Last known fraction along the path (can be used to speed up the search) |
Implements PathConstraintPath.
Gets the max fraction along the path. I.e. sort of the length of the path.
Implements PathConstraintPath.
|
overridevirtual |
Given the fraction along the path, get the point, tangent and normal.
inFraction | Fraction along the path [0, GetPathMaxFraction()]. |
outPathPosition | Returns the closest position to inSearchPosition on the path. |
outPathTangent | Returns the tangent to the path at outPathPosition (the vector that follows the direction of the path) |
outPathNormal | Return the normal to the path at outPathPosition (a vector that's perpendicular to outPathTangent) |
outPathBinormal | Returns the binormal to the path at outPathPosition (a vector so that normal cross tangent = binormal) |
Implements PathConstraintPath.
This function should not be called directly, it is used by sRestoreFromBinaryState.
Reimplemented from PathConstraintPath.
Saves the contents of the path in binary form to inStream.
Reimplemented from PathConstraintPath.