#include <circlearcsplinesection.h>
Class representing either an oriented circle arc or a straight line segment, to be aggregated into a CircleArcSpline.
Public Member Functions | |
CircleArcSplineSection () | |
CircleArcSplineSection (const Bubble &bubble, const Vec3f &startPosition, KyUInt32 startSectionIdx, const Vec3f &endPosition, KyUInt32 endSectionIdx, const Vec2f &startTangent=Vec2f::Zero(), const Vec2f &endTangent=Vec2f::Zero()) | |
CircleArcSplineSection (const Vec3f &startPosition, KyUInt32 startSectionIdx, const Vec3f &endPosition, KyUInt32 endSectionIdx, const Vec2f &dir2d=Vec2f::Zero()) | |
Vec2f | ComputeTangent (const Vec3f &position) const |
void | MoveTo (Vec3f &position, KyFloat32 distanceFromStart, Vec2f *tangent=0) const |
void | SetEndPosition (const Vec3f &endPosition, KyUInt32 endSectionIdx, const Vec2f &endTangent) |
void | SetStartPosition (const Vec3f &startPosition, KyUInt32 startSectionIdx, const Vec2f &startTangent) |
|
inline |
Creates an uninitialized CircleArcSplineSection.
|
inline |
Creates a CircleArcSplineSection as sub part of an oriented circle (a.k.a. Bubble).
|
inline |
Creates a CircleArcSplineSection representing a straight line segment.
Computes the tangent direction at the given position.
It does not check (nor need) the position is actually on the CircleArcSplineSection.
void Kaim::CircleArcSplineSection::MoveTo | ( | Vec3f & | position, |
KyFloat32 | distanceFromStart, | ||
Vec2f * | tangent = 0 |
||
) | const |
Moves the provided position to the one on CircleArcSplineSection at the given distance from start position.
It also updates the corresponding tangent direction.
void Kaim::CircleArcSplineSection::SetEndPosition | ( | const Vec3f & | endPosition, |
KyUInt32 | endSectionIdx, | ||
const Vec2f & | endTangent | ||
) |
Sets end position related information.
It then calls ComputeProperties to maintain internals up-to-date.
void Kaim::CircleArcSplineSection::SetStartPosition | ( | const Vec3f & | startPosition, |
KyUInt32 | startSectionIdx, | ||
const Vec2f & | startTangent | ||
) |
Sets start position related information.
It then calls ComputeProperties to maintain internals up-to-date.