1 /**********
2 *
3 * This file is part of the TINA Open Source Image Analysis Environment
4 * henceforth known as TINA
5 *
6 * TINA is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation.
9 *
10 * TINA is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with TINA; if not, write to the Free Software Foundation, Inc.,
17 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 *
19 * ANY users of TINA who require exemption from the existing licence must
20 * negotiate a new licence with Dr. Neil.A.Thacker, the sole agent for
21 * the University of Manchester.
22 *
23 **********
24 *
25 * Program : TINA
26 * File : $Source: /home/tina/cvs/tina-libs/tina/geometry/geom_SplineDef.h,v $
27 * Date : $Date: 2002/12/09 11:51:23 $
28 * Version : $Revision: 1.1.1.1 $
29 * CVS Id : $Id: geom_SplineDef.h,v 1.1.1.1 2002/12/09 11:51:23 cvstina Exp $
30 *
31 * Notes : 1D uniform cubic B-spline
32 *
33 *********
34 */
35
36 #ifndef TINA_GEOM_SPLINE_DEF_HDR
37 #define TINA_GEOM_SPLINE_DEF_HDR
38
39 #include <tina/sys/sysDef.h>
40
41 typedef struct ucbs
42 {
43 Ts_id ts_id; /* Tina structure identifier */
44 int type; /** LOOP or STRING **/
45
46 /** controls **/
47 int n; /** number of intervals **/
48 double *cx; /** control values **/
49
50 /** extra props **/
51 List *props;
52 } Ucbs;
53 #define UCBS_SWAP_STRING "ii.p"
54
55 /**
56 2D uniform cubic B-spline
57 **/
58
59 typedef struct ucbs2
60 {
61 Ts_id ts_id; /* Tina structure identifier */
62 int type; /** LOOP or STRING **/
63
64 /** controls **/
65 int n; /** number of intervals **/
66 double *cx, *cy; /** control points **/
67
68 /** extra props **/
69 List *props;
70 } Ucbs2;
71 #define UCBS2_SWAP_STRING "ii..p"
72
73 /**
74 3D uniform cubic B-spline
75 **/
76
77 typedef struct ucbs3
78 {
79 Ts_id ts_id; /* Tina structure identifier */
80 int type; /** LOOP or STRING **/
81
82 /** controls **/
83 int n; /** number of intervals **/
84 double *cx, *cy, *cz; /** control points **/
85
86 /** extra props **/
87 List *props;
88 } Ucbs3;
89 #define UCBS3_SWAP_STRING "ii...p"
90
91 /**
92 2D interpolating cubic spline (goes through the knot points)
93 **/
94
95 typedef struct ics2
96 {
97 Ts_id ts_id; /* Tina structure identifier */
98 int type; /** LOOP or STRING **/
99
100 /** controls **/
101 int n; /** number of knots **/
102 double *t; /** parametric coefficients **/
103 double *x, *y; /** knot points **/
104 double *x2, *y2; /** 2nd diffs **/
105
106 /** extra props **/
107 List *props;
108 } Ics2;
109 #define ICS2_SWAP_STRING "ii.....p"
110
111 /**
112 2D Kass-Witken snake
113 **/
114
115 typedef struct kwsnake
116 {
117 Ts_id ts_id; /* Tina structure identifier */
118 int type; /** LOOP or STRING **/
119 int n; /** number of points **/
120 double *x, *y; /** sample points **/
121 } Kwsnake;
122 #define KWSNAKE_SWAP_STRING "ii.."
123
124 #define KW_STEP 1
125 #define KW_MAXSTEP 2
126 #define KW_FULLSTEP 3
127
128 #endif /* TINA_GEOM_SPLINE_DEF_HDR */
129
130
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.