|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 T) J4 X3 N+ i3 r4 w$ n& s' l8 U- t
NX二次开发源码分享: 高亮镜像Wave linked的面( u0 @' `' u" U2 ?' `( j. Z" n
# w# ]) \1 u, j% Kstatic void highlight_mirrored_face(tag_t face)
( n5 O+ p/ J$ S1 |2 T( A1 M* T{
; K: J2 V# `6 K1 l' s. z int0 l* u+ L1 `% \, T. r5 ~
ii,: d0 n. d* t0 N/ {! v+ `
jj,
8 f: L, A' p u+ _ n_feats,
) t" J6 e/ S8 G+ ~; A n_items;' C5 e' x' o- g, m
char) Y; |) a2 I, t
*feat_type;7 Y1 o i+ d/ o" [$ K' J" g
tag_t
4 x: O4 P( T8 C6 u& x5 ]. T: Z; o8 h2 y *feats,
' h0 J- G: j7 t; ^: G mirror,
& q* ^- K* A( } *results,
3 I; G2 N% K6 O! M0 i% Q* f *sources;
5 A7 v; V) Z; v: _( b) d4 @* q0 c2 O; e2 b K; N3 x# Q( u
n_feats = ask_face_feats(face, &feats);
5 t# H* ~- k' W1 n3 @8 q3 G
+ t) i4 l% M! q0 F for (ii = 0; ii < n_feats; ii++)/ s: B# |- J: O/ O( {! ~* c# n( j1 b
{
. f4 u2 F: {4 d" j0 L UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));) }: e0 }7 [8 k- @6 x v# D: I
if ((!strcmp(feat_type, "MIRROR")) &&! Y# @7 p( `# n% Y
! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
3 ?# E* G9 j9 k, ~2 {$ ~ &mirror)))3 n. `. ^# q, F1 Z
{0 `) u! i0 u+ O- J6 B5 J
- S0 _! Y$ Q" c* e/ ^+ L( u$ u/ j9 {
/* Begin work around to PR 4244233 */" E$ `; q$ p! p; G! @6 W6 j
if (mirror == NULL_TAG); F' f! g/ Q ]% f0 l% m1 C
{1 `' F6 H* f! e8 o! C8 c4 O* P: r
UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
8 {: h( C& i8 n8 u! \ &n_items, &sources, &results));
$ s1 E [, h2 C' y for (jj = 0; jj < n_items; jj++)
' I! p# z% [ W7 Z- ? {
- o$ N- Z! B! M0 D* W% a' T1 G& c if (results[jj] == face)
) A0 X& S( h8 F& B5 t9 r, ~+ S {
; w) i1 I7 |2 B+ G mirror = sources[jj];
0 f+ ?! L! x' t& `! r break;
+ H& a% j8 T6 U4 s4 Q }: Y$ X9 H+ N( P6 l+ Q" a
}
' T2 {( U) P- a- S if (n_items > 0)
9 }- M) H+ j6 m1 _ { p9 H; v* i- L! t+ h n
UF_free(sources);$ c$ }. k `' j! H
UF_free(results);3 `& `7 G+ t) V& J$ S* q$ c
}1 b0 {) l8 b+ p0 n+ y" f
}
1 G1 H) C8 g! @6 i /* End work around to PR 4244233 */! o% z& N. o1 E; \
3 Y$ ~1 L4 O# i1 j! H& g' J9 ^( D
UF_DISP_set_highlight(face, TRUE);% d2 |; [* S: s/ L
UF_DISP_set_highlight(mirror, TRUE);
- a* ^$ W3 n( y# e4 w' T0 q4 V" I uc1601("Mirrored face highlighted", TRUE);
9 ?. D' n$ P' I4 B- i0 ^ UF_DISP_set_highlight(face, FALSE);
7 \4 a% D) N4 p% v UF_DISP_set_highlight(mirror, FALSE);
8 [, c+ G7 d- X+ U7 m }
x; K! U7 X+ _- M* B" d UF_free(feat_type);9 X& `, l. n+ T, a/ Y! k
}2 {5 t: Q, {; Y/ L
$ y. ]6 Q3 P/ E5 C# P' f, h/ S0 Z
if (n_feats > 0) UF_free(feats);
: J0 a, ]; \0 G1 @0 R} C0 h- x. S5 C: Q
6 } b" o' b: s$ f |
|