Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
cubicsplines.h
Go to the documentation of this file.
1
#ifndef CUBICSPLINES_H
2
#define CUBICSPLINES_H
3
4
//Spline
5
/* Cubic spline interpolation functions<p>
6
*
7
* <b>Historique : </b><font size=-1><ul>
8
* <li>16/07/02 - Egg - Added methods to access slope per axis
9
* <li>28/05/00 - Egg - Javadocisation, minor changes & optimizations,
10
* Renamed TSpline to TCubicSpline, added W component
11
* and a bunch of helper methods
12
* <li>20/05/00 - RoC - Created, based on the C source code from Eric
13
* </ul></font>
14
*/
15
16
//#define SPLINE_METHOD1
17
#define SPLINE_METHOD2
18
//#define SPLINE_METHOD3
19
20
#include "
gfx/vec.h
"
21
22
class
CubicSpline
23
{
24
private
:
25
//Private Declarations
26
#ifdef SPLINE_METHOD1
27
double
**MatX;
28
double
**MatY;
29
double
**MatZ;
30
double
**MatW;
31
int
FNb;
32
#endif
33
#ifdef SPLINE_METHOD2
34
double
A, B, C, D, E, F, G, H, I, J, K, L;
35
#endif
36
#ifdef SPLINE_METHOD3
37
#endif
38
39
public
:
40
//Public Declarations
41
/* Creates the spline and declares interpolation points.<p>
42
* Time references go from 0 (first point) to nb-1 (last point), the
43
* first and last reference matrices respectively are used when T is
44
* used beyond this range.<p>
45
* Note : "nil" single arrays are accepted, in this case the axis is
46
* disabled and calculus will return 0 (zero) for this component. */
47
CubicSpline
();
48
~CubicSpline
();
49
50
void
createSpline
(
QVector
P0,
QVector
P1,
QVector
P2,
QVector
P3 );
51
//Calculates affine vector at time t.<p>
52
QVector
computePoint
(
double
t )
const
;
53
};
54
55
#endif
/* CUBICSPLINES_H */
56
src
networking
cubicsplines.h
Generated on Fri May 29 2015 23:07:34 for Vegastrike 0.5.1 rc1 by
1.8.4