|
static void do_ugopen_api(void)
/ ^% f" w+ m4 z" C5 P5 x2 y9 R{ u, Y! c/ o! U+ P. q$ m; f( k" q
int obj_count;
5 M. _. o1 I& A) j$ P4 \ UF_FEATURE_SIGN mode_sign = UF_NULLSIGN;
1 i& R, K3 O. Q2 Z; Y" P& \ tag_t generators[4], line1, line2, line3, line4, *objects;
* b6 z' B# C$ z7 J/ J char *body_limit[2] = {"0.0", "360.0"};
+ x! R7 f, b3 S( c) v( x# y char *offsets[2]= {"0.0", "0.0" };
; {2 ^7 C0 X- ]' B7 B X double origin[3] = {-2.0, 0.0, 0.0};
8 A. x0 @$ F& R9 ?( ?3 {, G' E double direction[3] = {0.0, 1.0, 0.0};! Q; r" ^7 A, q* h. ~
]% s/ c- w* ] UF_MODL_SWEEP_TRIM_object_p_t trim_data = NULL; / n- J; k5 C2 G4 s
7 ^7 \! W {& W7 x UF_CURVE_line_t sline1, sline2, sline3, sline4;% r2 V, Z4 ]. n, x
6 v. q) f% N# h- j. u
/* line#1 */
p( P7 ~- i8 m4 M* b5 N2 g4 \ sline1.start_point[0] = 0.0;
. t6 i- l# C$ d$ u+ }& | sline1.start_point[1] = 0.0;4 K$ C2 \! g4 Y( l1 |+ w3 ^
sline1.start_point[2] = 0.0;& K6 A6 Y9 R+ X7 @
sline1.end_point[0] = 0.0;
4 j/ A! i c0 I' ?& @* n* ]6 | sline1.end_point[1] = 1.0;
- u" K1 R% [! z5 n% \; q sline1.end_point[2] = 0.0;0 O# Y7 n+ C9 Q4 X2 e' Q
UF_CALL(UF_CURVE_create_line(&sline1,&line1));
: u- G+ [1 S2 {) e1 v 3 B3 c! ?" Z* e$ K4 T' j5 o
/* line#2 */
8 H: o) Y8 Q0 m0 V sline2.start_point[0] = 0.0;
( Q6 @2 n2 }- Z5 h sline2.start_point[1] = 1.0;
0 p. w3 B% o0 Q sline2.start_point[2] = 0.0;
2 k# d% D" a! G% V sline2.end_point[0] = 2.5;0 `+ l1 v/ i; O! o' @1 k5 Z9 ~
sline2.end_point[1] = 3.5;
) Y. u _% y1 i9 g) t sline2.end_point[2] = 0.0;
4 Q; N" K: q4 D. X, V3 V UF_CALL(UF_CURVE_create_line(&sline2,&line2));
6 G |" E6 i; ~: ~0 M: n
3 w1 {. O) q% T. L, E /* line#3 */
5 Q. |4 s% {" o7 Q sline3.start_point[0] = 2.5;
( {( s# b) I e3 g6 Y( n sline3.start_point[1] = 3.5;
; R' A9 u6 s% c& p% t2 ? sline3.start_point[2] = 0.0;
4 H5 n0 q% n, ]. t! i1 e% A4 s sline3.end_point[0] = 1.0;* u. A" n' J5 v- A
sline3.end_point[1] = 0.0;# I" O6 o. N8 q% p3 F8 C5 G
sline3.end_point[2] = 0.0;
- P& C1 w _2 t, Z, Q3 B0 m UF_CALL(UF_CURVE_create_line(&sline3,&line3));
7 l8 r* m# ~# P# h8 [* H
3 A. l2 c7 I/ L; i /* line#4 */
2 Z; p& ~! p5 g- L sline4.start_point[0] = 1.0;
6 s( N" J' f1 y) l* A! o1 t sline4.start_point[1] = 0.0;9 S( [2 [/ U) Y6 Y' U& _$ a
sline4.start_point[2] = 0.0;
- m! K5 p2 n3 l3 h" \ sline4.end_point[0] = 0.0;
. A: b3 U* k* |! P z sline4.end_point[1] = 0.0;, R% Y& u% `: N( o" }0 N& z
sline4.end_point[2] = 0.0;
O# b( ^: C' r S$ R* Y- d* L) I UF_CALL(UF_CURVE_create_line(&sline4,&line4));: H# ~; N# E) d* [- K/ w
: A& i3 S4 a8 \! V- H! `2 }+ k generators[0] = line1;
! T n; l# ^+ Z generators[1] = line2;$ W: k/ a( z! H! r6 p+ l
generators[2] = line3;
% q& g l( s. e. z5 j generators[3] = line4;8 s" @( P7 h. [" C3 y9 r! ?
. o( L2 P6 l$ X- e$ F7 u4 @6 x# k
UF_CALL(UF_MODL_create_revolution(generators, 4, trim_data,/ B8 w& y) c' S5 ~$ N$ I) g% R
body_limit, offsets, origin, false, A5 A, d( o5 h+ a5 W ?( g" `+ e
true, origin, direction, mode_sign,
2 \8 U; ^$ u* L1 B) ] &objects, &obj_count ));
/ {3 E: x. c- v5 b% a; a7 l7 ?
6 E6 L& m X5 m @3 K} |
|