|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: Y) s0 E) s. Z- S$ X
. D' l `/ [# S! Y( oNX二次开发源码分享: 高亮镜像Wave linked的面5 H* \( y% o6 l% h9 }% `
6 j6 U' M6 w* t. i* F+ B9 rstatic void highlight_mirrored_face(tag_t face)
1 }* S/ r6 g0 b% Z: }/ q{3 g( ]: M& k# N9 H+ J' C2 `1 v9 s
int# j9 u! l8 V! r) L% _* Q6 R
ii,4 j `0 L) O+ c- l3 F( o# l0 h
jj,
0 X- L" _* ~) O# a0 V. L n_feats,7 _2 u8 }; ]" E; f7 t
n_items;
% y+ D1 w% C* ^# H char N+ h9 v5 ?' `6 S% f- M
*feat_type;
- t& R& U. R7 P% r; I; K$ o* @ tag_t
! k5 ]9 {8 l. H4 G *feats,. [. r* J3 o! u5 ]" b* h
mirror,3 N5 R6 e! E$ O4 g, P% U
*results,. ?5 u" n. v: y% g) v) g
*sources;& Z! x7 ?! ^0 U& T# U
& ~& I! i5 m: S$ i n_feats = ask_face_feats(face, &feats);/ i+ h/ T3 `# |+ u( P7 }4 r# ^
5 k. z$ c: }5 y+ b7 l" `& E
for (ii = 0; ii < n_feats; ii++)2 q% [1 a& R0 v; l i( h! `. ~
{
$ p& K% j6 Z" ^* X/ k2 Q! K5 e UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));7 t9 H9 s6 B7 R8 m- T; [" S' w. ]
if ((!strcmp(feat_type, "MIRROR")) &&
7 A1 L" R: m/ X8 k: e& e) M+ ] ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,% D4 S+ d, U- j' k
&mirror)))
5 W7 Z5 `6 N' T7 Y+ r9 V; k {* c. U) U8 V! J$ v2 j) C( O
+ E0 a G( @1 |! C# y
/* Begin work around to PR 4244233 */
: u/ v+ N( n5 ~8 O Y4 m if (mirror == NULL_TAG)
" c9 m% l- u( f% o. m$ Q) ^ {! h4 t. W; N5 l- c# ~/ a
UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
/ [+ ?' R, L& S3 p( @0 a &n_items, &sources, &results));
3 D+ v, X" p8 I, z; b for (jj = 0; jj < n_items; jj++)5 X5 o/ M8 v) s# W( y; D% Z
{/ G) X" z9 H$ Z# l% J, u- Q
if (results[jj] == face)0 V# B8 t% A- B9 D+ N0 M
{- l% u; U4 ^9 l3 ]
mirror = sources[jj];& f* |1 }% t: h7 v1 C- { E
break;
" i0 J$ m) \- B R }
- A# y6 f2 n8 f3 I4 [, x, ~& Y }
" m2 g7 L% B2 v if (n_items > 0)( G* \& T: o. B( B! a, h& U
{6 I! ]' R6 F- _* P& [% t
UF_free(sources);
2 u8 t' ]. L# | UF_free(results);
1 S) Y. G, ^# b1 ` }& m% d) {3 u& \ N5 t1 P d
}0 C7 w! n1 l" U6 O1 o5 ~
/* End work around to PR 4244233 */
. D$ ]& d$ D! y/ j( p0 U2 c1 P- e
2 g7 j6 i' Q) Q r UF_DISP_set_highlight(face, TRUE);
" J# ~& G0 C0 U% E; v! u, ^ UF_DISP_set_highlight(mirror, TRUE);2 N; S n. @( k2 r/ N
uc1601("Mirrored face highlighted", TRUE);; A( f$ \2 s g J% b
UF_DISP_set_highlight(face, FALSE);. V1 i R. D- v, N- i/ I
UF_DISP_set_highlight(mirror, FALSE);# S; N, b0 _& o
}2 n& g& A7 n% o$ t1 h7 K- K
UF_free(feat_type);
% z$ O* t5 P1 M& L: Q }( P3 w, S2 X8 s$ _
9 @8 D: m. y9 \7 D; `* h if (n_feats > 0) UF_free(feats);
, p7 C1 K* M! M; `) M" K}
7 Z4 b! q/ ~! G' v
, ~' i) G3 d u% g' }% x |
|