#include <Spline.h>
Inherits AZ::Spline.
Public Member Functions | |
LinearSpline (const LinearSpline &spline) | |
LinearSpline (const Spline &spline) | |
RaySplineQueryResult | GetNearestAddressRay (const Vector3 &localRaySrc, const Vector3 &localRayDir) const override |
PositionSplineQueryResult | GetNearestAddressPosition (const Vector3 &localPos) const override |
SplineAddress | GetAddressByDistance (float distance) const override |
SplineAddress | GetAddressByFraction (float fraction) const override |
Vector3 | GetPosition (const SplineAddress &splineAddress) const override |
Vector3 | GetNormal (const SplineAddress &splineAddress) const override |
Vector3 | GetTangent (const SplineAddress &splineAddress) const override |
float | GetLength (const SplineAddress &splineAddress) const override |
float | GetSplineLength () const override |
float | GetSegmentLength (size_t index) const override |
size_t | GetSegmentCount () const override |
void | GetAabb (Aabb &aabb, const Transform &transform=Transform::CreateIdentity()) const override |
LinearSpline & | operator= (const LinearSpline &spline)=default |
LinearSpline & | operator= (const Spline &spline) |
Public Member Functions inherited from AZ::Spline | |
Spline (const Spline &spline) | |
virtual RaySplineQueryResult | GetNearestAddressRay (const Vector3 &localRaySrc, const Vector3 &localRayDir) const =0 |
virtual PositionSplineQueryResult | GetNearestAddressPosition (const Vector3 &localPos) const =0 |
virtual SplineAddress | GetAddressByDistance (float distance) const =0 |
virtual SplineAddress | GetAddressByFraction (float fraction) const =0 |
virtual Vector3 | GetPosition (const SplineAddress &splineAddress) const =0 |
virtual Vector3 | GetNormal (const SplineAddress &splineAddress) const =0 |
virtual Vector3 | GetTangent (const SplineAddress &splineAddress) const =0 |
virtual float | GetLength (const SplineAddress &splineAddress) const =0 |
virtual float | GetSplineLength () const =0 |
virtual float | GetSegmentLength (size_t index) const =0 |
virtual size_t | GetSegmentCount () const =0 |
virtual u16 | GetSegmentGranularity () const =0 |
virtual void | GetAabb (Aabb &aabb, const Transform &transform=Transform::CreateIdentity()) const =0 |
void | SetClosed (bool closed) |
bool | IsClosed () const |
size_t | GetVertexCount () const |
const AZStd::vector< Vector3 > & | GetVertices () const |
const Vector3 & | GetVertex (size_t index) const |
void | SetCallbacks (const VoidFunction &onChangeElement, const VoidFunction &onChangeContainer, const BoolFunction &onOpenClose) |
void | SetCallbacks (const IndexFunction &onAddVertex, const IndexFunction &onRemoveVertex, const IndexFunction &onUpdateVertex, const VoidFunction &onSetVertices, const VoidFunction &onClearVertices, const BoolFunction &onOpenClose) |
virtual void | OnSplineChanged () |
Static Public Member Functions | |
static void | Reflect (SerializeContext &context) |
Static Public Member Functions inherited from AZ::Spline | |
static void | Reflect (SerializeContext &context) |
Protected Member Functions | |
u16 | GetSegmentGranularity () const override |
Protected Member Functions inherited from AZ::Spline | |
virtual void | OnVertexAdded (size_t index) |
Internal function to be overridden by derived spline spline to handle custom logic when a vertex is added. | |
virtual void | OnVerticesSet () |
Internal function to be overridden by derived spline spline to handle custom logic when all vertices are set. | |
virtual void | OnVertexRemoved (size_t index) |
Internal function to be overridden by derived spline to handle custom logic when a vertex is removed. | |
virtual void | OnVerticesCleared () |
Internal function to be overridden by derived spline to handle custom logic when spline is reset (vertices are cleared). | |
Additional Inherited Members | |
Public Attributes inherited from AZ::Spline | |
VertexContainer< Vector3 > | m_vertexContainer |
Vertices representing the spline. | |
Protected Attributes inherited from AZ::Spline | |
bool | m_closed = false |
Is the spline closed - default is not. | |
Static Protected Attributes inherited from AZ::Spline | |
static const float | s_splineEpsilon |
Epsilon value for splines to use to check approximate results. | |
Linear spline implementation
|
overridevirtual |
Gets the Aabb of the vertices in the spline.
aabb | out param of filled aabb. |
Implements AZ::Spline.
|
overridevirtual |
Return address at distance value - range [0, splineLength].
distance | Distance along the spline. |
Implements AZ::Spline.
|
overridevirtual |
Return address at fractional value - range [0, 1].
fraction | fraction/proportion/percentage along the spline. |
Implements AZ::Spline.
|
overridevirtual |
Returns spline length from the beginning to the specific point.
splineAddress | Address of the point to get the distance to. |
Implements AZ::Spline.
|
overridevirtual |
Return nearest address on spline from position (local space).
localPos | Position in local space of spline (must be transformed prior to being passed). |
Implements AZ::Spline.
|
overridevirtual |
Return nearest address on spline from ray (local space).
localRaySrc | Position of ray in local space of spline (must be transformed prior to being passed). |
localRayDir | Direction of ray in local space of spline (must be transformed prior to being passed). |
Implements AZ::Spline.
|
overridevirtual |
Return normal at SplineAddress (local space).
splineAddress | Address representing a point on the spline. |
Implements AZ::Spline.
|
overridevirtual |
Return position at SplineAddress (local space).
splineAddress | Address representing a point on the spline. |
Implements AZ::Spline.
|
overridevirtual |
Return number of Segments along spline. Explicitly returns the number of valid/real segments in the spline Some splines technically have invalid segments (example: that lie in the range [0 - 1] and [vertexCount - 2, vertexCount -1] - these will be ignored in the segment count calculation).
Implements AZ::Spline.
|
inlineoverrideprotectedvirtual |
Return the number of parts (lines) that make up a segment (higher granularity - smoother curve).
Implements AZ::Spline.
|
overridevirtual |
Returns length the segment between vertices - [index, index + 1].
Implements AZ::Spline.
|
overridevirtual |
Returns total length of spline.
Implements AZ::Spline.
|
overridevirtual |
Return tangent at SplineAddress (local space).
splineAddress | Address representing a point on the spline. |
Implements AZ::Spline.