|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# }1 E0 o7 m6 v
# b+ a8 Q7 k* }" G. `NX二次开发源码分享: 高亮镜像Wave linked的面
- f7 b `( D5 V8 T) @+ M
+ g% h/ V+ [8 Q5 }static void highlight_mirrored_face(tag_t face)
: m* d0 V( O B' h{$ o) W) F* p' D7 o) ?1 p" O4 X: e6 o! }
int6 L" b8 X! Z& t5 n8 { K
ii,: ]- x! w3 ]. g" D
jj,, x& b" }- b: b3 u; y: }
n_feats,3 h; J+ J! c% r' ?$ H0 H! k
n_items;* M: O2 ? T) j5 Z8 o, i; m7 z% j
char
8 D6 |: a# S- l8 l- U4 Y; g, P *feat_type;
# [5 i" y/ r! Y+ C/ v tag_t
- Y" x( K, z. F- g *feats,
& [ W. S8 x' m* Y' _# E mirror,7 q% s; @% d R& O
*results,
( k7 l7 G/ r% _$ z7 f | *sources;0 e( W; J" ^, Q W1 `# o
( c7 |+ ?3 t2 G( s: C n_feats = ask_face_feats(face, &feats);
8 C: ]- g7 Y+ r6 T' W# a$ S' t8 Q# r
for (ii = 0; ii < n_feats; ii++)
* L* E5 `* n! ]; \6 P. r* e" t {
: M( t2 _: `4 Z3 L; | UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
- P$ p" J( D V$ V9 W0 y3 @ if ((!strcmp(feat_type, "MIRROR")) &&1 S; {/ I9 ?; c8 o# _/ q- z! Q
! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,& T) Z! d# z$ k5 d' s2 X
&mirror)))3 p; j- C0 n! C# p
{- G6 d% M5 m) f! `! T
- H8 e7 n- J% F+ l& O( B0 p /* Begin work around to PR 4244233 */: j' y" R7 m- E$ u& |' L- H* m
if (mirror == NULL_TAG)
) e9 g; N! U X& V" M! l {/ Z' o9 u: O" o' {
UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,* l* d8 S8 I. g
&n_items, &sources, &results));
2 v8 J9 P9 k3 z- t! W% U for (jj = 0; jj < n_items; jj++)) l: x$ z- }1 j& b" F
{8 r; R7 @9 }/ c+ a, h. f# d
if (results[jj] == face)
# b0 _+ a- H: o2 q {
, K C2 t- }8 T) h3 P mirror = sources[jj];
9 X& A3 C! a, J: O/ y h4 K2 n5 K break;" z* X2 _" |. H3 w) l( [8 l& D
}: h( Z$ }- |; F, y, R6 I
}
7 K; a1 o5 R, {# V) N2 u if (n_items > 0)% B3 Z1 c6 W- V+ O
{
2 B2 ]" y& n, x2 L+ m& a( ` UF_free(sources);# I0 F' e- J6 b7 u* P. _2 u
UF_free(results);9 @: d: \2 I2 p' Y8 V: w
}% F1 d& |7 I4 G* @# `/ w+ y# ~
}
; U7 t8 p6 Q5 @9 K /* End work around to PR 4244233 */! q. p8 {0 K6 s! T
$ a6 I" i2 @2 e8 _. Q
UF_DISP_set_highlight(face, TRUE);( @7 A) H) n& u; X3 G, q! P
UF_DISP_set_highlight(mirror, TRUE);0 O- \. ?2 P2 Y# N, A
uc1601("Mirrored face highlighted", TRUE);9 [1 e! _1 q: L$ c: V
UF_DISP_set_highlight(face, FALSE);
$ N# f7 ~( C4 G; j/ F UF_DISP_set_highlight(mirror, FALSE);
! d8 g, }; ]8 ]& ~3 v' Y- X: Y }
/ N( f; s& V% L$ M. A5 H6 O; g UF_free(feat_type);6 ~& i: t& l& g( t" y
}
+ w% c! s" J# s$ o0 B
# w/ {$ w1 w! k( @4 ?& z! K/ i! A if (n_feats > 0) UF_free(feats);) s$ M& c2 N8 ~; J/ s( n1 B) G
}, c# X: a+ S% o% z/ I/ K! y
, X4 w& x* ^& Q+ Z' o1 M: A7 m# t |
|