|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
D1 ]5 @1 @! Y7 D
6 e; w. n* R6 K; p/ l& E( uNX二次开发源码分享: 高亮镜像Wave linked的面" D- g- Z0 `* a7 m
4 ]1 V( c7 H2 p$ n; [7 G. [3 w5 h ]static void highlight_mirrored_face(tag_t face)
2 q9 B7 j4 W/ I8 }{- A- @ f4 x( C5 n4 X( a
int! r# z3 s o; p3 h% Y# j* {
ii,
0 x" e" r. W( u8 p7 d3 @9 | jj,
; H2 I+ L9 {# D3 V2 ~ n_feats,* f1 A8 d" V/ v9 [( b
n_items;
4 a6 m- k" ]6 P9 J' r0 T char2 f: k9 [3 d4 S* j+ l/ V
*feat_type;) s7 J4 z2 }# e5 Y v
tag_t
9 J- L8 z8 B+ _ *feats,; [; M3 z& w% |3 W( @% M7 N, Z1 y
mirror,( {9 H: n! k9 r6 d! c
*results,
6 v- e- b2 R4 R3 Z$ Y% }$ R8 S *sources;- d, M& r( p% H7 K: r
8 U F6 e. D0 T* i n_feats = ask_face_feats(face, &feats);3 z( }! v5 I& |% _' \
0 \" X. s% Y5 L( R9 D# y+ W for (ii = 0; ii < n_feats; ii++)
1 W3 o, {1 q0 f6 v {
! X' D& T! ^, \# S* Y& L5 q UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));" T$ I3 C% T% `; e5 }+ ?. J: E
if ((!strcmp(feat_type, "MIRROR")) &&% X3 E* Q1 Q5 A
! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,3 O% |2 ~* ^' N- {5 I( N+ Z
&mirror)))
& S. F3 t/ o$ c9 A {% R- S: J/ x9 l
4 W$ ?# L9 a9 }- G2 ^ /* Begin work around to PR 4244233 */
; u! w, K f& w if (mirror == NULL_TAG)
+ u& s5 ~& B5 B3 c; V9 P6 o {
% e0 i/ g8 e8 m+ t0 v4 l UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,3 G c, G( D' D
&n_items, &sources, &results));
" `7 W' M. h6 J for (jj = 0; jj < n_items; jj++)
- ]: \$ D1 }( ^9 h {
0 q$ k1 Q3 V5 H& p if (results[jj] == face)( ?9 H* M* t5 \* |. o- J0 ~" q
{
+ \/ q- d& e3 G9 c) ^) |3 b6 I mirror = sources[jj];
4 q! S S+ h8 x7 U3 S break;# g/ f; y3 \: j2 d
}
L$ H, Q W% A3 @$ ?% |" e# _% v }
5 v+ ^7 `# ?- }8 | if (n_items > 0): v: b+ ^* V+ t
{
+ @( m* g, r, `7 I2 I- p UF_free(sources);
S$ G1 a1 c8 l# D UF_free(results);# n: ~/ ]! }1 H# k8 L3 ]
}
" M9 i6 t: b9 u9 Z V8 L+ j }
( c; M. [! `- J. m9 u% ] /* End work around to PR 4244233 */* P3 S$ P D! h" N d* s
& j, d2 s* R6 c: W
UF_DISP_set_highlight(face, TRUE);
7 H. W z' m1 K! N% d UF_DISP_set_highlight(mirror, TRUE);
6 s1 r3 V% }- @/ @: j* ~ uc1601("Mirrored face highlighted", TRUE);) \9 R& `% t; c7 z8 z. I7 V p
UF_DISP_set_highlight(face, FALSE);# a# Q2 N/ g1 c# H& Z. {* l' N
UF_DISP_set_highlight(mirror, FALSE);/ o9 l% y9 ^ v
}
* G8 M, S& x' k5 P+ Q; s UF_free(feat_type);8 x* d8 g# w' @8 s+ d
}% [9 }$ e5 u" C: F0 d# ^ [. D
# Z, H4 P! B( V( H5 m7 A
if (n_feats > 0) UF_free(feats);
2 \. I8 R% Q5 r$ ]}9 X/ k2 W7 V$ h" Z
/ y' v. E- C+ W# N3 k |
|