00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef TA_FUNCSPLINEBEZIER_H
00013 #define TA_FUNCSPLINEBEZIER_H
00014
00015 #ifndef TA_FUNCSPLINE_H
00016 #include "FuncSpline.h"
00017 #endif // TA_FUNCSPLINE_H
00018
00019 namespace TA
00020 {
00021
00022 class TACOMMON_CLASS FuncSplineBezier : public FuncSpline
00023 {
00024 public:
00025 class BezierSegment : public FuncSpline::Point
00026 {
00027 public:
00028
00029
00030
00031
00032
00033
00034
00035 float fA;
00036 float fB;
00037 float fC;
00038 };
00039
00040 FuncSplineBezier();
00041 virtual ~FuncSplineBezier();
00042
00043 virtual void Initialise();
00044 void Initialise(const FuncSplineBezier& that);
00045 virtual void Finalise();
00046
00047 protected:
00048
00049 virtual float GetOutputInSegment(Point* pPoint, float fInput) const;
00050 virtual float GetGradientInSegment(Point* pPoint, float fInput) const;
00051 virtual void Optimise();
00052 virtual Point* CreatePoint();
00053 };
00054
00055 }
00056
00057 #endif // TA_FUNCSPLINEBEZIER_H
© Copyright 2004-2006 TRUE AXIS PTY LTD Australia. All rights reserved.