18#ifndef TRINITY_SPLINECHAIN_H
19#define TRINITY_SPLINECHAIN_H
22#include <G3D/Vector3.h>
27 template <
typename iteratorType>
SplineChainLink(iteratorType begin, iteratorType end,
uint32 expectedDuration,
uint32 msToNext,
float velocity) :
Points(begin, end), ExpectedDuration(expectedDuration), TimeToNext(msToNext), Velocity(velocity) { }
37 SplineChainResumeInfo() : PointID(0), Chain(nullptr), IsWalkMode(false), SplineIndex(0), PointIndex(0), TimeToNext(0) { }
39 PointID(id), Chain(chain), IsWalkMode(walk), SplineIndex(splineIndex), PointIndex(wpIndex), TimeToNext(msToNext) { }
40 bool Empty()
const {
return Chain ==
nullptr; }
41 void Clear() { Chain =
nullptr; }
43 std::vector<SplineChainLink>
const*
Chain;
std::vector< Vector3 > PointsArray
SplineChainLink(iteratorType begin, iteratorType end, uint32 expectedDuration, uint32 msToNext, float velocity)
Movement::PointsArray Points
SplineChainLink(Movement::PointsArray const &points, uint32 expectedDuration, uint32 msToNext, float velocity)
SplineChainLink(uint32 expectedDuration, uint32 msToNext, float velocity)
std::vector< SplineChainLink > const * Chain
SplineChainResumeInfo(uint32 id, std::vector< SplineChainLink > const *chain, bool walk, uint8 splineIndex, uint8 wpIndex, uint32 msToNext)