|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# e0 r0 Z" @! O' }: `$ |% ~
2 |0 l- _; C h; G* vNX二次开发源码分享: 高亮镜像Wave linked的面
& [! Y: `5 A0 ~& u. W
( U' A/ q# U2 c* x: |6 Rstatic void highlight_mirrored_face(tag_t face)
; X1 p2 I8 ^; ^8 V{
" i% z6 J6 ?: I; n3 e4 q int2 S7 H s* ]# D) f& f
ii,
: v! Q2 \3 E h9 f2 M" R jj,! y8 f' b. ^" a8 z. X
n_feats,: }, R2 K% O% v: f9 k; O
n_items;% K" ?9 k/ `% x* F; \8 F c, s
char- `9 ?, t' y+ s& W+ z& ^2 t
*feat_type;
) r1 B0 j( n- k4 Q tag_t
. k; H7 T {+ \& _0 Q *feats,: I# b% i& a9 `
mirror,3 @+ ^* Y; K, G! P0 D. L( P) V, K
*results,
: y! W2 L# m& u. L/ p *sources;& L: w5 x# ^: f% F& v! E8 R y
: a0 x1 v3 b! W) |) j- N6 Q n_feats = ask_face_feats(face, &feats);9 g2 G5 N- [0 g
; x# X4 |" {3 l2 E# X for (ii = 0; ii < n_feats; ii++)( {0 }6 S- X; w. D6 @. W
{
: l2 ~3 _/ K+ V9 U' A3 A: i UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));3 Q$ n9 M- I9 J1 P1 C
if ((!strcmp(feat_type, "MIRROR")) &&
2 H; h3 g Z; s7 i W3 M' D3 A0 p) P ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
}- ]* E) r1 I" A &mirror)))
, M* f- \0 y: i4 M& _9 x* f {. q$ i" h7 {7 b. F
# s9 V, `, J9 P5 ~% B6 L; _ /* Begin work around to PR 4244233 */" H' U5 J8 ^/ h/ C- c. Z+ L& Z2 |
if (mirror == NULL_TAG)
% V$ e5 e- \6 } {
( C' M. |- ^3 N- _! E( P+ E UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
2 M! c/ \' L u* P &n_items, &sources, &results));
" F. ? \0 Q) s$ v7 O* A4 ]! o& y for (jj = 0; jj < n_items; jj++)1 a! K6 P# F" p
{
: g9 |6 d, }- |0 k7 F if (results[jj] == face)* R, A5 k9 m- Z7 m/ n
{/ d h0 m( h) y1 i. y
mirror = sources[jj];# Y$ V5 I# t' R6 s% s: v7 D
break;0 j, O# b% L$ L' d0 K
}" `9 m4 A% j# z4 m
}
9 `% ?3 k1 D% h, x# M2 ^ \# N if (n_items > 0)# P2 V$ h& w* _& V
{8 U9 ?2 ^& m6 [) b
UF_free(sources);. e# O5 y- i/ \$ R" \/ |0 E
UF_free(results); G$ E! R) L# N# V6 q
}
. N+ b7 H" A' p, c }
! g. P+ m5 ^4 e1 | /* End work around to PR 4244233 */
- Z0 D! b$ U1 ]! E, O% h: _$ a7 M8 `) _" z6 R
UF_DISP_set_highlight(face, TRUE);
) L8 h9 W& O, {0 `$ r UF_DISP_set_highlight(mirror, TRUE);
$ R+ J( b4 U0 F. U9 g& t9 i uc1601("Mirrored face highlighted", TRUE);
5 R& z. M4 ]1 [% i @ UF_DISP_set_highlight(face, FALSE);
/ _7 M4 O* S: G/ j( i% Z1 V UF_DISP_set_highlight(mirror, FALSE);- ]8 x! g7 m$ X5 t6 l. T
}
0 j; S2 i: x* \! ]9 B1 h& }3 x d UF_free(feat_type);7 F! c) ^1 ^' N% O! {' s
}8 U5 H* C# n3 t
! m" `, `3 Z+ l6 e5 |& B6 K* ]; E if (n_feats > 0) UF_free(feats);6 k$ J9 ] H/ b0 |! K! G
}& X: A9 `" U0 i! E7 N4 q7 Q
2 n! y0 f; K, U/ _1 n2 h
|
|