20 {
return {
a.
x +
b.x,
a.y +
b.y,
a.z +
b.z}; }
23 {
return {
a.
x -
b.x,
a.y -
b.y,
a.z -
b.z}; }
26 {
return {
a.
x *
s,
a.y *
s,
a.z *
s}; }
44 std::array<float, BezierMaxSegments>
lengths{};
62 InterpolationVec3
a, InterpolationVec3
b,
63 InterpolationVec3
c, InterpolationVec3
d,
66 InterpolationVec3
c, InterpolationVec3
d,
69 const PieceInterpolationPath&
path, std::uint64_t tick)
noexcept;
PieceInterpolationSample samplePieceInterpolation(const PieceInterpolationPath &path, std::uint64_t tick) noexcept
constexpr std::size_t BezierMaxSegments
constexpr InterpolationVec3 operator+(InterpolationVec3 a, InterpolationVec3 b) noexcept
constexpr float BezierTangentDelta
constexpr InterpolationVec3 operator-(InterpolationVec3 a, InterpolationVec3 b) noexcept
bool addBezierSegmentSmooth(PieceInterpolationPath &path, std::size_t index, InterpolationVec3 c, InterpolationVec3 d, float tangentDelta) noexcept
bool addBezierSegment(PieceInterpolationPath &path, std::size_t index, InterpolationVec3 a, InterpolationVec3 b, InterpolationVec3 c, InterpolationVec3 d, float tangentDelta) noexcept
constexpr InterpolationVec3 operator*(InterpolationVec3 a, float s) noexcept
friend constexpr bool operator==(const InterpolationVec3 &, const InterpolationVec3 &)=default
std::array< std::array< InterpolationVec3, 4 >, BezierMaxSegments > segments
std::array< float, BezierMaxSegments > lengths
std::array< float, BezierMaxSegments > tangentDeltas
InterpolationVec3 location
InterpolationVec3 forward