True Axis Physics SDK 1.2.0.1 Beta Documentation
www.trueaxis.com

FuncSplineCubic.h

00001 //---------------------------------------------------------------------------------
00002 // File Name: FuncSplineCubic.h
00003 // Description:
00004 //
00005 // Copyright (C) 2004 True Axis Pty Ltd, Australia. 
00006 // All Rights Reserved.
00007 //
00008 // History:
00009 //      Created File.
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     //  float fGradientIn;
00037     //  float fGradientOut;
00038         float fPA; // todo: Give better name
00039         float fPB; // todo: Give better name
00040         float fU; // todo: Give better name
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.