|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ W2 Y4 B0 L/ `! \3 y9 w. a
+ F3 a9 ?) I* R# ANX二次开发源码分享: 高亮镜像Wave linked的面5 N8 @, [4 v" Z- J: N" t2 s4 |! Z1 j
+ K. B5 k5 B1 I- ]6 Z9 u# n9 istatic void highlight_mirrored_face(tag_t face)' q2 ~( m( o _6 N' d# H7 k3 @2 X: U
{
" q$ p- _% b# }& o* N& N. A int. P2 j& V* Z( a6 ~ j
ii,
* U# J- A8 M! V( n z8 k! M6 ?0 f jj,
t1 |1 \# k3 |- H3 M( h4 w( F, [( J1 N n_feats,
3 W: L2 n& e" q! M- V: r: V n_items;$ \ d% w( _3 c/ t0 ]
char6 j- l( z# ^' }2 y( G& u
*feat_type;5 j9 A' f- `1 b% i/ g7 m: @/ o
tag_t& H: ~1 u% Z. d0 a/ t* [ R
*feats,
0 h6 A* N* {$ E0 D8 g mirror,
9 w! m" y, g, Z% H *results,$ M3 ?7 l( v7 \
*sources;! Q& b1 l* _, ?7 p" u6 H$ j+ ~5 F. `
& A* v O; c% C: e, ` n_feats = ask_face_feats(face, &feats);
' B4 L1 B! z5 T6 D3 Z6 z4 r( r$ V' v
for (ii = 0; ii < n_feats; ii++)5 |5 _( w; o. q# g% R, `
{ O) ^/ S! o1 q0 [5 `+ L5 |
UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));) R% O" w7 W- H$ x. H' J
if ((!strcmp(feat_type, "MIRROR")) &&
2 A7 n- K5 X+ b3 p( P$ r7 k ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
( t! Y8 \/ A8 R' A) ]' ] &mirror)))$ y2 a1 z7 R! ^, A9 U$ q: u! a
{$ d! g# H8 H4 v- Q5 m0 |8 n4 k
* V( | n1 Z% Q% J: ^ f
/* Begin work around to PR 4244233 */# a v5 M4 ?3 a% ?; @( |- U
if (mirror == NULL_TAG)
# q, B" C3 r- B l+ ? {
2 s) s w+ d" D5 P' B UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,8 v" ^! x0 D9 m+ Y0 l5 E: N! g8 U
&n_items, &sources, &results)); i1 ?5 Y. y% R7 A- |
for (jj = 0; jj < n_items; jj++)$ m4 N5 `( l$ l9 ~
{
& c( U5 A3 [' L# I' { if (results[jj] == face)0 M, U1 @! {* h2 \2 E1 d% |; c
{ d" {0 q; R# h# D8 x% _
mirror = sources[jj];
1 @, Z7 ~ M B0 d& L5 Y; D% G break; L5 h# g' T# j
}
* u, M# n2 d8 y) t a6 g }' g' g: D1 \ v5 ]! f# Z; y7 O
if (n_items > 0)
* Y$ k6 ?" r3 [+ Z {$ q) |5 A W Q+ x& h; l
UF_free(sources);6 g0 |) a$ A1 H6 r- @1 a. K
UF_free(results);) o3 {$ Q9 A9 d, p. b
}4 q* _% F* k+ a- ]& R6 C* `
}
0 G& y; b3 r' k' y /* End work around to PR 4244233 */5 ?! z, v0 F9 D- |4 |1 Z
5 L( x* U) c/ F* n) J& t UF_DISP_set_highlight(face, TRUE);
) Y- c/ z: @/ w0 c UF_DISP_set_highlight(mirror, TRUE);
1 J7 @) f" s+ f2 ?$ A, S+ e uc1601("Mirrored face highlighted", TRUE);! j, N. f* \; n ~6 E; X5 [
UF_DISP_set_highlight(face, FALSE);* r8 d7 s+ Q& D9 Y) l# j% _
UF_DISP_set_highlight(mirror, FALSE);
" Y R8 Q5 G5 z4 l; B' Y8 L7 { }
- \* X2 u' J6 G+ W. c# F) { UF_free(feat_type);( }# s! p1 H- p5 d# y7 h4 m" C
}
5 |% d1 M& O- T; ]4 X+ g+ `+ G, j J1 U- d2 I2 m
if (n_feats > 0) UF_free(feats);7 N2 I. t0 m+ N( Z3 ?
}
4 D2 g5 k' X! \6 Z; }% r
$ E- |/ B. L/ E; p" D n( | |
|