8 #ifndef Navigation_PositionOnCircleArcSpline_H
9 #define Navigation_PositionOnCircleArcSpline_H
17 class CircleArcSpline;
18 class CircleArcSplineSection;
35 const Vec3f& GetPosition()
const {
return m_position; }
36 const Vec2f& GetTangent()
const {
return m_tangent; }
37 KyFloat32 GetDistanceFromStart()
const {
return m_distFromStart; }
38 KyFloat32 GetDistanceToEnd()
const {
return (m_circleArcSplineSection ? (m_circleArcSplineSection->GetLength2d() - m_distFromStart) : 0.0f); }
39 KyFloat32 GetTurningRadius()
const {
return (m_circleArcSplineSection ? m_circleArcSplineSection->GetRadius() : 0.0f); }
69 void Reset(
const CircleArcSpline* circleArcSpline);
73 const CircleArcSplineSection* GetSection()
const {
return m_positionOnCircleArcSplineSection.GetSection(); }
74 const Vec3f& GetPosition()
const {
return m_positionOnCircleArcSplineSection.GetPosition(); }
75 const Vec2f& GetTangent()
const {
return m_positionOnCircleArcSplineSection.GetTangent(); }
76 KyFloat32 GetDistanceFromSectionStart()
const {
return m_positionOnCircleArcSplineSection.GetDistanceFromStart(); }
77 KyFloat32 GetDistanceToSectionEnd()
const {
return m_positionOnCircleArcSplineSection.GetDistanceToEnd(); }
78 KyFloat32 GetTurningRadius()
const {
return m_positionOnCircleArcSplineSection.GetTurningRadius(); }
80 KyFloat32 GetDistanceFromSplineStart()
const;
108 PositionOnCircleArcSplineSection m_positionOnCircleArcSplineSection;
109 const CircleArcSpline* m_circleArcSpline;
115 #endif // Navigation_PositionOnCircleArcSpline_H
KyFloat32 MoveForward(KyFloat32 distance)
Moves the position forward for the provided distance (in meter), taken along the circle if the Circle...
KyResult MoveToNextTurnSectionStart()
Moves this PositionOnCircleArcSpline to the next upcoming curve CircleArcSplineSection start position...
KyResult MoveToNextStraigthLineSectionStart()
Moves this PositionOnCircleArcSpline to the next upcoming straight CircleArcSplineSection start posit...
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
KyFloat32 MoveBackward(KyFloat32 distance)
Moves the position backward for the provided distance (in meter), taken along the circle if the Circl...
Maintains a position moving along a given CricleArcSpline.
Definition: positiononcirclearcspline.h:64
Maintains a position moving along a given CricleArc.
Definition: positiononcirclearcspline.h:22
KyResult GetDistanceTo(const PositionOnCircleArcSpline &other, KyFloat32 &distanceToOther) const
Computes the distance along spline from this position to other one.
The class representing a spline compounded of oriented circle arcs and straight line segments...
Definition: circlearcspline.h:29
This class defines a two-dimensional vector whose coordinates are stored using floating-point numbers...
Definition: vec2f.h:24
KyResult MoveToNextSectionStart()
Moves this PositionOnCircleArcSpline to the next CircleArcSplineSection start position.
bool IsStrictlyBefore(const PositionOnCircleArcSpline &other) const
Compares the relative position with another PositionOnCircleArcSpline.
Definition: gamekitcrowddispersion.h:20
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
Class representing either an oriented circle arc or a straight line segment, to be aggregated into a ...
Definition: circlearcsplinesection.h:25
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43
This class defines a three-dimensional vector whose coordinates are stored using floating-point numbe...
Definition: vec3f.h:23