PLplot  5.10.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
csa.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 //
3 // File: csa.h
4 //
5 // Created: 16/10/2002
6 //
7 // Author: Pavel Sakov
8 // CSIRO Marine Research
9 //
10 // Purpose: A header for csa library (2D data approximation with
11 // bivariate C1 cubic spline)
12 //
13 // Revisions: None
14 //
15 //--------------------------------------------------------------------------
16 
17 #if !defined ( _CSA_H )
18 #define _CSA_H
19 
20 // include header file for dll definitions
21 #include "csadll.h"
22 
23 #if _MSC_VER > 1309
24  #define hypot _hypot
25 #endif
26 
27 #if !defined ( _POINT_STRUCT )
28 #define _POINT_STRUCT
29 typedef struct
30 {
31  double x;
32  double y;
33  double z;
34 } point;
35 #endif
36 
37 extern int csa_verbose;
38 extern const char* csa_version;
39 
40 struct csa;
41 typedef struct csa csa;
42 
44 csa* csa_create( void );
46 void csa_destroy( csa* a );
48 void csa_addpoints( csa* a, int n, point points[] );
50 void csa_calculatespline( csa* a );
52 void csa_approximate_point( csa* a, point* p );
54 void csa_approximate_points( csa* a, int n, point* points );
55 
57 void csa_setnpmin( csa* a, int npmin );
59 void csa_setnpmax( csa* a, int npmax );
61 void csa_setk( csa* a, int k );
63 void csa_setnpps( csa* a, double npps );
64 
65 #endif