|
static void do_ugopen_api(void)
3 p* |8 c K# h I- n; b% P{
, I9 V5 Z% S. N( i) R int obj_count;$ i* p" p: k+ X. k1 G+ t' d" S1 f
UF_FEATURE_SIGN mode_sign = UF_NULLSIGN;# L l: m0 _6 ^2 F8 ^ E
tag_t generators[4], line1, line2, line3, line4, *objects;
& } F/ P5 Y% c char *body_limit[2] = {"0.0", "360.0"}; 1 p/ V0 b& g6 ?5 T
char *offsets[2]= {"0.0", "0.0" };
4 V+ m: x. S; [, V! w, M double origin[3] = {-2.0, 0.0, 0.0};
. _# |& _- K% k# w( W5 n5 ` double direction[3] = {0.0, 1.0, 0.0};0 H- G9 D ^! P/ W/ k( E' I2 y" N
) {& ]0 D9 ]& O$ V4 ^1 n& E3 w; } UF_MODL_SWEEP_TRIM_object_p_t trim_data = NULL;
% f( P1 y! g5 U8 Y 9 i G# u/ a4 B
UF_CURVE_line_t sline1, sline2, sline3, sline4;
; a; n7 p, [; a% k, u 5 b& b% m$ {( }8 O9 a
/* line#1 */* O0 _- S+ p3 ]* S1 m
sline1.start_point[0] = 0.0;
9 x& s/ K0 u2 B6 G sline1.start_point[1] = 0.0;
5 c L8 G% a# ] sline1.start_point[2] = 0.0;8 {$ V3 l2 p' V1 o6 e& G: d* D
sline1.end_point[0] = 0.0;2 `& u# X* v) P6 d2 @1 m1 M
sline1.end_point[1] = 1.0;% o7 u6 W1 y& z) E
sline1.end_point[2] = 0.0;- X$ F. v0 R$ c$ X7 G
UF_CALL(UF_CURVE_create_line(&sline1,&line1));1 b3 D3 u; z- ]
+ k$ O' z8 e6 r. b# a
/* line#2 */# t( }/ X3 s8 i6 s8 q! U
sline2.start_point[0] = 0.0;
/ L& m+ |. j3 ~- w. E9 r% B3 K sline2.start_point[1] = 1.0;7 m+ z! U( E2 F6 ]+ l
sline2.start_point[2] = 0.0;0 u9 Q: p( y/ h; z: R% R, @2 Q
sline2.end_point[0] = 2.5;
3 N" a) m% _/ u5 V& U3 r sline2.end_point[1] = 3.5;6 F6 `. ~; d1 ]
sline2.end_point[2] = 0.0;
( r: f$ ]% O3 w. l* v4 a UF_CALL(UF_CURVE_create_line(&sline2,&line2));
@/ e) k3 D: Z u. y
8 v. U2 J- `8 n0 _ /* line#3 */# e3 f9 x) c4 j- ?" H
sline3.start_point[0] = 2.5;
: [ _! l, e$ F2 x sline3.start_point[1] = 3.5;
3 g/ V$ Y8 A0 K) @ sline3.start_point[2] = 0.0;
# g- N" h, m. O4 a sline3.end_point[0] = 1.0;
8 A$ y% d$ d2 o sline3.end_point[1] = 0.0;9 t) U5 i+ S8 q. c
sline3.end_point[2] = 0.0;
# n9 Z* q, Y5 X/ w. E2 B UF_CALL(UF_CURVE_create_line(&sline3,&line3));
0 H1 f* ?$ s8 b* P
( O* R9 ^" N3 c2 Z0 C /* line#4 */
* F. p7 o, H4 _8 w* \+ g sline4.start_point[0] = 1.0;
# _$ g, Z# R' S9 _% o. L+ W sline4.start_point[1] = 0.0;
2 O: [' X1 d+ M* B& I& r1 Y sline4.start_point[2] = 0.0;7 A) j& k, n# U- V9 q* f
sline4.end_point[0] = 0.0;: I. _ [& L; B4 \
sline4.end_point[1] = 0.0;
) v' x3 V" X1 v: G4 _# T0 V sline4.end_point[2] = 0.0;& g7 Q; x: J$ k5 X
UF_CALL(UF_CURVE_create_line(&sline4,&line4));' C' G( H" H$ d/ \ Q
% h9 ]$ \2 x2 v: v generators[0] = line1;
6 y! x! U8 s6 d( @4 \$ b, F" b generators[1] = line2;; ^) _# ~, c: e) J8 c, |" ?8 a
generators[2] = line3;
7 O9 N/ a# U! z: P1 H! @2 T generators[3] = line4;! G+ U: n( }" L) _8 q
7 \. z' W( f# t: b) d UF_CALL(UF_MODL_create_revolution(generators, 4, trim_data,3 f. j! Y8 B5 d& Y- k, c
body_limit, offsets, origin, false,
$ {3 R; Y. |4 l2 B true, origin, direction, mode_sign,/ e# H( f2 q1 p* j+ K3 v
&objects, &obj_count ));
! {3 U, D, E o- y( d! J& |+ P 7 k! X* d3 B/ s# ^- O
} |
|