00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef TA_FUNCSPLINECUBIC_H
00013 #define TA_FUNCSPLINECUBIC_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 FuncSplineCubic : public FuncSpline
00023 {
00024 public:
00025 FuncSplineCubic();
00026 virtual ~FuncSplineCubic();
00027
00028 virtual void Initialise();
00029 virtual void Finalise();
00030
00031 protected:
00032
00033 class CubicSegment : public FuncSpline::Point
00034 {
00035 public:
00036
00037
00038 float fPA;
00039 float fPB;
00040 float fU;
00041 };
00042
00043 virtual float GetOutputInSegment(Point* pPoint, float fInput) const;
00044 virtual float GetGradientInSegment(Point* pPoint, float fInput) const;
00045 virtual void Optimise();
00046 virtual Point* CreatePoint();
00047 };
00048
00049 };
00050
00051 #endif // TA_FUNCSPLINECUBIC_H
© Copyright 2004-2006 TRUE AXIS PTY LTD Australia. All rights reserved.