|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
. A4 J2 K, c' Q5 e5 |' L0 x2 _
; w8 b3 ]* b8 @# M, iNX二次开发源码分享: 高亮镜像Wave linked的面
" l5 i. L# k' O; ^2 l
' b' U& F5 ?& b" vstatic void highlight_mirrored_face(tag_t face)
2 M. m! A8 V- ?* D4 ~2 k: e{2 |3 F% \/ O' ~( C# h0 e5 e
int
. y/ c! ]6 z, R/ [& p ii,, x( M- u# A$ [
jj,3 Q- J0 Y% B a" w
n_feats,
3 d: Z. Q6 B& q5 T- h n_items;: g7 O4 C$ J" ]5 i) V
char
6 ?' F% S5 W$ A9 o6 ^$ Q *feat_type;
2 y3 O/ L4 z: C tag_t% n1 ]% n( [$ }' h0 m# r& }
*feats,
- ?3 [8 p/ p/ ?5 ?' ]( G c% y! f mirror,0 |& X7 `: g* X1 n% F
*results,
1 n! u) `! d/ n5 [ *sources;$ U- R/ ]0 P% h
3 n A& e' E u ?
n_feats = ask_face_feats(face, &feats);
/ I( }2 p( S8 t h2 `/ q* }4 w$ H5 H, C! }2 q$ q! O3 ]/ ?+ V
for (ii = 0; ii < n_feats; ii++)
* O; q4 B" o) M# l- j {) q3 Y6 v7 r. x( b' o9 i+ L" W
UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
- y- e7 |; V9 m/ o if ((!strcmp(feat_type, "MIRROR")) &&
- [# O: J- X+ B! u ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,; U# F; l+ D4 a5 o" Z+ q7 L
&mirror)))
% w( b5 u1 T3 ]& P2 H( c4 W {8 _; P& U* z# Y' D- i- X2 @
# u/ F& j4 V' E* u# K- G
/* Begin work around to PR 4244233 */* A3 ]% w9 }( p- n$ x0 T
if (mirror == NULL_TAG), t) m, u2 w/ H3 X( G) ?
{$ d/ o6 y& @* H$ B0 g
UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,; }8 Z. g J& ~0 P. i
&n_items, &sources, &results));: ?* Z5 Y! l7 f- ~0 _: A' D) I
for (jj = 0; jj < n_items; jj++)
# N% Q* D, N9 q0 O. |: B# l { f1 p9 n, ^" e) P% f$ Q' M) L# Z6 a
if (results[jj] == face)
6 @$ H& L( b* ? {7 o0 `' z, C9 M) R) q
mirror = sources[jj];" K9 I1 g) O+ k. | F: Z0 C
break;
$ m2 n2 r; q, U }
! N/ D; Y" @ \. _: d" k5 j$ Z( e) \ }
( K# _. o/ ^% l9 T5 ]2 Z& O& C5 m& V if (n_items > 0)
) c- y& n8 v4 ?4 C4 I1 v {. f* ~* |, X/ } z+ m
UF_free(sources);
' Y8 A& b3 m/ V. `7 c, j: i" M% ~ UF_free(results);
5 V1 N! y, P! `" i3 d }$ v, C3 V. g. G, V8 @
}
4 P) ~! N( n) f; z) T /* End work around to PR 4244233 */
' t2 i: u! L8 h" K! `- |5 a) W- h- _. f1 O3 r
UF_DISP_set_highlight(face, TRUE);
0 Y/ J: S. u' S( a( d, g# ]: p( l UF_DISP_set_highlight(mirror, TRUE);
/ e; K' Y) `' E6 K uc1601("Mirrored face highlighted", TRUE);8 g* E7 c% u: @$ o, ~/ q
UF_DISP_set_highlight(face, FALSE);& |4 q }5 \& w: |+ n: Y# d% k* h
UF_DISP_set_highlight(mirror, FALSE);+ a$ K. ]9 r G' J
}" K) Y; a: q) h- F5 n
UF_free(feat_type);
# u$ \% P0 z1 z7 {! ? }
8 H+ v5 h0 g4 E4 U/ R( U( F; l2 N. ?; X0 O
if (n_feats > 0) UF_free(feats);
! Q; I" O" A+ ^, S, k2 Q}5 Q8 d% X3 C0 R! c& j* ~% Z @9 S: d
6 u! F" r3 U6 U# v! Q( j9 } |
|