/********************************************************************
*
* Created: 15/4/2014 15:28
*
* File: fsCArcLineTrailComponent.h
*
* Author: Mick Waites
*
* Purpose:
*
*********************************************************************/
#ifndef fsCArcLineTrailComponenthdr
#define fsCArcLineTrailComponenthdr
#include "../../src/fsCGraph.h"
#include "fsITrailComponent.h"
class fsCBezierPath;
struct fsPoint;
class fsVec2d;
class fsCArcLineTrailComponent : public fsITrailComponent
{
friend class fsCComponentFactory;
public:
static fsF32 distanceBetweenPoints(const fsVec2d& pKnotA, const fsVec2d& pKnotB);
static fsVec2d midPoint(const fsVec2d& pStart, const fsVec2d& pEnd);
static const fsCUniqueId mTypeId;
protected:
static fsIComponent* create(fsCEntity* pParent);
void initialiseDo(const fsPoint& pStartPos, const fsPoint& pEndPos) override;
void updateDo() override;
fsCArcLineTrailComponent(fsCEntity* pParent);
virtual ~fsCArcLineTrailComponent();<--- Destructor in derived class
private:
fsCBezierPath* mPath;
};
#endif