#include <Spline.h>
Inherited by AZ::BezierSpline, AZ::CatmullRomSpline, and AZ::LinearSpline.
Static Public Member Functions | |
| static void | Reflect (SerializeContext &context) | 
Public Attributes | |
| VertexContainer< Vector3 > | m_vertexContainer | 
| Vertices representing the spline.  | |
Protected Member Functions | |
| 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).   | |
Protected Attributes | |
| bool | m_closed = false | 
| Is the spline closed - default is not.  | |
Static Protected Attributes | |
| static const float | s_splineEpsilon | 
| Epsilon value for splines to use to check approximate results.  | |
Generic base spline class.
      
  | 
  pure virtual | 
Gets the Aabb of the vertices in the spline.
| aabb | out param of filled aabb. | 
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
      
  | 
  pure virtual | 
Return address at distance value - range [0, splineLength].
| distance | Distance along the spline. | 
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
      
  | 
  pure virtual | 
Return address at fractional value - range [0, 1].
| fraction | fraction/proportion/percentage along the spline. | 
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
      
  | 
  pure virtual | 
Returns spline length from the beginning to the specific point.
| splineAddress | Address of the point to get the distance to. | 
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
      
  | 
  pure virtual | 
Return nearest address on spline from position (local space).
| localPos | Position in local space of spline (must be transformed prior to being passed). | 
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
      
  | 
  pure virtual | 
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). | 
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
      
  | 
  pure virtual | 
Return normal at SplineAddress (local space).
| splineAddress | Address representing a point on the spline. | 
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
      
  | 
  pure virtual | 
Return position at SplineAddress (local space).
| splineAddress | Address representing a point on the spline. | 
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
      
  | 
  pure virtual | 
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).
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
Return the number of parts (lines) that make up a segment (higher granularity - smoother curve).
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
Returns length the segment between vertices - [index, index + 1].
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
Returns total length of spline.
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
      
  | 
  pure virtual | 
Return tangent at SplineAddress (local space).
| splineAddress | Address representing a point on the spline. | 
Implemented in AZ::LinearSpline, AZ::BezierSpline, and AZ::CatmullRomSpline.
Return immutable position of vertex at index (local space).
      
  | 
  inline | 
Return number of vertices composing the spline.
      
  | 
  inline | 
Return immutable stored vertices (local space).
      
  | 
  inline | 
Return if the spline is closed (looping) or not
Notification that spline has changed
Reimplemented in AZ::BezierSpline.
Internal function to be overridden by derived spline spline to handle custom logic when a vertex is added.
Reimplemented in AZ::BezierSpline.
Internal function to be overridden by derived spline to handle custom logic when a vertex is removed.
Reimplemented in AZ::BezierSpline.
Internal function to be overridden by derived spline to handle custom logic when spline is reset (vertices are cleared).
Reimplemented in AZ::BezierSpline.
Internal function to be overridden by derived spline spline to handle custom logic when all vertices are set.
Reimplemented in AZ::BezierSpline.
| void AZ::Spline::SetCallbacks | ( | const IndexFunction & | onAddVertex, | 
| const IndexFunction & | onRemoveVertex, | ||
| const IndexFunction & | onUpdateVertex, | ||
| const VoidFunction & | onSetVertices, | ||
| const VoidFunction & | onClearVertices, | ||
| const BoolFunction & | onOpenClose | ||
| ) | 
Override callbacks to be used when spline changes/is modified (specific). (use if you need more fine grained control over modifications to the container)
| void AZ::Spline::SetCallbacks | ( | const VoidFunction & | onChangeElement, | 
| const VoidFunction & | onChangeContainer, | ||
| const BoolFunction & | onOpenClose | ||
| ) | 
Override callbacks to be used when spline changes/is modified (general).
Set whether the spline is closed or not - should its last vertex connect to the first