#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.