|
#include
2 Z. e( m; n& G. \6 {/ ~#include 6 + {" S9 Q0 i* U. }
#include
& |; G, E( v; _% }' v#define NUMBER_POINTS 5 6 c/ ^3 E. Y L" p8 B t( H; J
#define UF_CALL(X) (report( __FILE__, __LINE__, #X, (X)))
& o( R& x8 q2 B3 Q& Sstatic int report( char *file, int line, char *call, int irc)
) T( x6 ^& O$ N4 c{ + @& n: E3 c# }
if (irc)
7 ?& _, \- C, p& }6 a2 e+ g% L {
9 g# I; [) f( y5 ]! n+ S) u char messg[133];
; Z( R- X# G+ @8 w M% ` printf("%s, line %d: %sn", file, line, call); 7 l% w) X! o0 t. y w, ]
(UF_get_fail_message(irc, messg)) ?
8 [8 r3 y; }2 x! {( Y: E. S printf(" returned a %dn", irc) :
# X/ y7 U7 p* a% @ printf(" returned error %d: %sn", irc, messg);/
' ^) r: m! @$ l; n+ j }
& R2 j {% p: G( A* B return(irc);
1 @- g0 G: D6 L}
2 m" y* b, i, \% P5 D) kstatic void do_ugopen_api(void)
9 y9 v. F& C+ ?: y# ?% `{ 9 t6 C) ]3 u1 h+ N. g5 w
/* B-spline parameters */
% ~% z- t/ b8 W' z+ i, x' {0 Y rint degree = 3;
# F' R- t% R: ^) q3 y* yint periodicity = 0; " n# W7 i; L+ Z5 E
int num_points = NUMBER_POINTS;
* y8 e3 }+ T1 b6 v3 k/* Point/slope curve attribute array */ 5 s! a% G; M* i) g
UF_CURVE_pt_slope_crvatr_t point_data[NUMBER_POINTS] = 6 s2 s( s7 S% f5 X
{
" ^$ D, x Z) k. f ? { {-0.0539, 0.0511, 0.0000}, 5 }0 r0 v, d/ S6 l
UF_CURVE_SLOPE_AUTO, {-0.3597, 0.9639, 0.0000},
+ _9 ~4 Y% K9 H% V: C: C UF_CURVE_CRVATR_NONE, {0.0000, 0.0000, 0.0000} )
# U1 @/ Q5 j& ?. T },
& ]& R9 s3 o, D; U { {-0.4801, 0.8428, 0.0000}, " d2 K% m6 L5 X2 s
UF_CURVE_SLOPE_NONE, {0.0000, 0.0000, 0.0000}, ! e& i8 `0 g' y" l- }9 M1 c1 w
UF_CURVE_CRVATR_NONE, {0.0000, 0.0000, 0.0000}
+ {* d% j+ g) H/ e2 R8 ]: M. I },
" p' ^* S2 I( j" \: @: p, k { {2.0000, 0.9000, 3.5956}, H$ c# f& h2 x! m9 S1 K
UF_CURVE_SLOPE_NONE, {0.0000, 0.0000, 0.0000}, 1 X E4 s) a; {0 F: i8 N
UF_CURVE_CRVATR_NONE, {0.0000, 0.0000, 0.0000} $ @( s t; w7 u/ A4 s
}," ' b; t/ u* |1 P( |0 Q, z
{ {2.3456, 1.3456, 3.7890}, 7 f* Q! a& y& w; ?4 d
UF_CURVE_SLOPE_DIR, {0.5000, 1.0000, 0.5000},
6 ~9 C9 o( n, I$ ?7 P, ] Q1 C% L4 i UF_CURVE_CRVATR_VEC, {1.0000, -1.0000, 1.0000}
+ S# h- d* w1 T# Z5 B$ c9 A3 R }, { {3.1000, 2.4567, 3.3214}, 9 [) [1 K/ d8 J, S
UF_CURVE_SLOPE_VEC, {1.0000, -2.0000, 1.0000}, ( g+ O! v" D2 J4 @. N! E/ D
UF_CURVE_CRVATR_VEC, {-1.0000, -1.0000, -1.0000} } c4 F, U' z7 C! v3 J
}; ' V4 W* Z a+ w+ k" z! m
3 _0 a& ]+ b! |# ~0 k, n$ \' b/* Arrays of user's defining point data */ . R( h, y0 E y m4 L
double parameters[NUMBER_POINTS] = {0.00, 0.89, 1.73, 2.23, 2.85}; 2 N# \! I$ N6 \
int i, save_def_data = 1; y/ i+ G; u7 x6 Z
tag_t spline_tag;
0 V! B- z$ T3 P+ V
6 Q; ^6 c; g2 h) V5 g/* Create B-spline curve */ ! k3 t, a. w. U5 T& h
UF_CALL(UF_CURVE_create_spline_thru_pts(degree, " W3 W' ]2 }! X2 _3 \, j* K& C) n
periodicity, / S4 N, b8 A7 `9 u* B- L0 U& `
num_points, ' ^ p5 e& o$ N
point_data,
- V" H0 Z; O! k6 a! V parameters,
0 {- v% q1 G+ \ save_def_data,
4 z. G% j$ n; @& ^ &spline_tag));
! D( ?+ r9 W+ F( Z} 3 T0 i; ]1 h: j+ N( k* U$ i: ]9 E
/*ARGSUSED*/
# G/ L0 t3 N1 G! d3 a6 Ovoid ufusr(char *param, int *retcode, int paramLen)
! m* M0 c! s3 P; x- ?- \2 s" h{
/ v0 T( q& ^7 J2 J$ s if (!UF_CALL(UF_initialize()))
3 Q. t; Y" } r0 Y, u5 b { 5 j) `* z4 m. n; T
do_UGopen_api();
. z2 H! H7 _4 H2 q UF_CALL(UF_terminate()); 8 n5 K$ w% o4 p& N+ t0 j
} * ]. K4 K& ]7 C
} ( `/ L" S {" d/ \7 A" U/ I* a
int ufusr_ask_unload(void) 7 I. n# y0 I8 D; y/ r
{
% w2 ]* _9 e5 s2 Z return (UF_UNLOAD_IMMEDIATELY); ( ?; q* g0 O; T" R: Q
} 1 f2 W* L* r9 c! a3 K
请问程序中的红色的那段程序是不是表示斜率?后面的数字表示什么?( K/ C4 B9 A; U2 c
|
|