|
static void do_ugopen_api(void)
% ?) x8 c2 a4 O/ f{
6 [5 y5 k# y& Q# ?& Q1 j int obj_count;+ N( y/ T+ c, ^9 ^7 B
UF_FEATURE_SIGN mode_sign = UF_NULLSIGN;! S4 k: s' \& v4 E
tag_t generators[4], line1, line2, line3, line4, *objects; ( E8 L7 C1 H! c5 B
char *body_limit[2] = {"0.0", "360.0"};
4 O* g$ w5 i2 E: f# h' i2 j char *offsets[2]= {"0.0", "0.0" };4 [! A6 K( i# m% o8 |9 i
double origin[3] = {-2.0, 0.0, 0.0};
; B0 _1 ]( L) X' o! |% H* N# p' g0 A double direction[3] = {0.0, 1.0, 0.0};- L; Y; @ @9 h+ T! e+ R. i
# D e! U( q& t$ c$ a
UF_MODL_SWEEP_TRIM_object_p_t trim_data = NULL;
0 t0 c5 r' Q' {6 |+ q
+ E( p+ _2 u- t% N% k UF_CURVE_line_t sline1, sline2, sline3, sline4;
. M& r1 K. p$ b4 x U % X9 h3 g. O) v4 }5 P
/* line#1 */
: G/ h' w& ]# ]# B) c1 @ A5 b sline1.start_point[0] = 0.0;
. G% p, }+ b( J1 m: W sline1.start_point[1] = 0.0;
3 a( e; a" s1 o4 {( r; G sline1.start_point[2] = 0.0;/ s( Z. I2 Y$ [2 {2 ]+ i
sline1.end_point[0] = 0.0;1 L& E( h( `: \, |# A, V- a
sline1.end_point[1] = 1.0;
( E3 {* ?% C5 t6 ^( [/ Q sline1.end_point[2] = 0.0;
4 M) U" p6 g+ c' |8 a% `' d UF_CALL(UF_CURVE_create_line(&sline1,&line1));
0 d- z( h! S0 m2 Z* V( X* R4 X# y
8 p/ h+ T2 i8 |. R. d3 C /* line#2 */7 g& ] c) |. m( I/ G
sline2.start_point[0] = 0.0;
# S6 G. p+ o. A. v+ D4 T/ n sline2.start_point[1] = 1.0;. a0 c. y2 K* C$ W
sline2.start_point[2] = 0.0;
: t6 D1 O$ q9 A3 c- L6 K- P1 k sline2.end_point[0] = 2.5;7 r1 ^5 W* b* H% l7 q8 Z! g2 H$ _* B
sline2.end_point[1] = 3.5;4 j/ O* | ?4 H3 S; L n( m
sline2.end_point[2] = 0.0;
; r2 {+ k" z+ v; d/ L; L UF_CALL(UF_CURVE_create_line(&sline2,&line2));5 E/ E( t1 W6 I8 i k' Z/ h
% d; c5 w4 g2 j+ ? /* line#3 */% a V1 d. ^! @, `" h- `/ s8 X
sline3.start_point[0] = 2.5;
7 T/ I6 Q5 K( m5 z+ T: u) _ sline3.start_point[1] = 3.5;4 E$ E: R/ \; R0 s
sline3.start_point[2] = 0.0;3 B0 |# c) q- k* u0 }
sline3.end_point[0] = 1.0;
8 Q! ^$ K/ G) N1 v! F/ i sline3.end_point[1] = 0.0;% x/ Y6 U4 Q7 `- s8 b
sline3.end_point[2] = 0.0;
% `+ [ N. x4 ]# M UF_CALL(UF_CURVE_create_line(&sline3,&line3));& O7 y3 c+ w. f/ ]
?1 G! |) c j" I+ Q: I
/* line#4 */% V3 e- {+ B* U
sline4.start_point[0] = 1.0;; k: e' V" x# N, m3 _2 a$ h
sline4.start_point[1] = 0.0;* R5 B4 o/ |% B8 L* O
sline4.start_point[2] = 0.0;2 b, o; W; a& T# B. o3 n
sline4.end_point[0] = 0.0;! \/ v& d* p; O- o; k& }
sline4.end_point[1] = 0.0;) Y j6 {, _7 ?0 _
sline4.end_point[2] = 0.0;
1 R" Y4 v4 p; k9 m# K" s& u& I UF_CALL(UF_CURVE_create_line(&sline4,&line4));
2 d5 w% d' r/ V1 _6 s( \
! {) g, T# _9 G$ j5 l$ ]( m generators[0] = line1;4 z7 Z) }4 Z( v) i4 K8 d1 [2 c
generators[1] = line2;& l3 k: t( z* O/ j/ u$ N, v: M
generators[2] = line3;0 E, Z. v# V" m. A5 n9 Z v) |
generators[3] = line4;- V' K& P: @- ?! e; Y
: q6 }, J' F! z4 X2 O* s9 i
UF_CALL(UF_MODL_create_revolution(generators, 4, trim_data,
4 V1 P7 ]4 G+ s: L8 B0 h body_limit, offsets, origin, false,
3 j& \0 h3 d! `0 I8 v2 S3 e1 h true, origin, direction, mode_sign,0 @, J8 n" ?) {) Q5 s% t' m' g ?
&objects, &obj_count ));
& A6 X' c* K! x; W9 {0 b/ h# ?
6 L- S5 O2 s3 @5 d! ?} |
|