Terminus
catmullromspline.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 
5 #include <QVector2D>
6 
7 namespace terminus
8 {
9 
15 {
16 public:
17  CatmullRomSpline(const std::vector<QVector2D> & controlPoints);
18  virtual ~CatmullRomSpline();
19 
25  virtual QVector2D getPosition(float param) const;
26 
30  virtual float length() const;
31 
32 protected:
33  virtual void calculateKnotSequence();
34  virtual float ctlPointDistance(int i) const;
35 
36  virtual int getIndex(float t) const;
37  virtual QVector2D spline(int i0, float t) const;
38 protected:
39  std::vector<QVector2D> m_controlPoints;
40  std::vector<float> m_knotSequence;
41  float m_tBegin;
42  float m_tEnd;
43 };
44 
45 }
float m_tBegin
Definition: catmullromspline.h:41
virtual float length() const
Definition: catmullromspline.cpp:30
virtual QVector2D getPosition(float param) const
evaluate the spline function for the given parameter
Definition: catmullromspline.cpp:20
virtual int getIndex(float t) const
Definition: catmullromspline.cpp:59
virtual void calculateKnotSequence()
Definition: catmullromspline.cpp:35
The CatmullRomSpline class implements a spline, that is determined by control points that lie on the ...
Definition: catmullromspline.h:14
virtual float ctlPointDistance(int i) const
Definition: catmullromspline.cpp:50
float m_tEnd
Definition: catmullromspline.h:42
std::vector< QVector2D > m_controlPoints
Definition: catmullromspline.h:39
virtual QVector2D spline(int i0, float t) const
Definition: catmullromspline.cpp:82
Definition: eventhandler.cpp:18
std::vector< float > m_knotSequence
Definition: catmullromspline.h:40
CatmullRomSpline(const std::vector< QVector2D > &controlPoints)
Definition: catmullromspline.cpp:9
virtual ~CatmullRomSpline()
Definition: catmullromspline.cpp:16