|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% s# B; g# M8 H
$ L5 s8 l- w! n2 e0 ?; U- n3 W
NX二次开发源码分享: 高亮镜像Wave linked的面
: ]1 M1 Z8 S: R8 I
5 T- M/ S+ C g9 q# U; z6 D2 Cstatic void highlight_mirrored_face(tag_t face)+ [8 ?2 P( Y' S9 D& B# e$ Q
{0 s6 @: t( Z( v1 h! V
int- l! p* Z7 i0 q; T
ii,
+ V) M, h+ ]& l6 e jj,
1 M3 q+ n9 m( S+ @$ e( M/ F- i* C n_feats,! E( D9 |+ W& n8 ^
n_items;
) X3 l4 Z1 C& W" _7 C' u1 m char0 ~, H$ T: F8 V$ c- W1 f' [% l
*feat_type;3 F! E1 b1 u) k! A# ~1 J1 m
tag_t
3 ]" L8 |& K7 \ *feats,, r e. E8 {3 d% G; `' N) A9 P( W
mirror,7 [( m3 K1 N/ X$ @: i1 h
*results,; A" W/ l# }4 A; a9 n
*sources;% O( B; C* _: \ ~: x
0 A$ E1 t" s* I4 M6 x" q% n. s n_feats = ask_face_feats(face, &feats);# a$ S2 `& c2 G+ U. U* {1 r- q
: o4 k% D1 K% j
for (ii = 0; ii < n_feats; ii++)
+ X. ~' ]% w- [& J1 k9 {, \3 r ? {- E4 j( G" M* B' B4 L* c
UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));
+ g& |" z" Y+ K0 N+ r( t* P if ((!strcmp(feat_type, "MIRROR")) &&
2 e- W& }' T8 K ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,
7 G F# V' h# ~ &mirror)))
$ ?: a9 w+ C6 Q- I0 n2 C5 P {9 C2 Z+ u3 _9 _) N" E
/ N! q" N* H! q5 a0 ` /* Begin work around to PR 4244233 */
% J2 {% J; o H. B) I# | if (mirror == NULL_TAG)
5 Y. ~$ k( {7 d1 Y- R& a) s {" @, t8 u% ~( p
UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,
f1 d( ? R N$ b% X/ d) O &n_items, &sources, &results));+ V, `* H5 p% \9 g8 ]
for (jj = 0; jj < n_items; jj++)6 ~1 s5 @* v: B# |
{
( y5 _6 u; D! i; M0 O if (results[jj] == face)
- {2 k8 e, u0 I ]$ B {9 E* S7 G( P2 K g/ J/ J$ A8 H, ?
mirror = sources[jj];0 [* p' ^' t i5 O6 T' E
break;
0 [1 @% h' i/ A }) Z8 R" ^0 K% n
}
9 m7 T% \" t3 j D if (n_items > 0)8 b! |3 z. U- H, x/ r
{
n2 k5 Z9 n7 x" a* P UF_free(sources);0 R f5 ]$ m1 P& D
UF_free(results);8 O( V0 F0 h, Y% L1 B* ~
}+ x. f9 h! A' F5 H$ L
}
2 P/ ~' ^- h& |1 p3 s9 r* T- z /* End work around to PR 4244233 */
8 j1 |7 w( i! a8 m6 `- d& J3 I" c' T
UF_DISP_set_highlight(face, TRUE);( k' c" O( Y" e: @4 d" G `" k+ L, O
UF_DISP_set_highlight(mirror, TRUE);8 ~ S2 u" \+ k* x7 Z
uc1601("Mirrored face highlighted", TRUE);
u$ S7 d) W6 X9 @. a/ E& }& j+ @$ l UF_DISP_set_highlight(face, FALSE);
* E: V( c0 a9 }0 U6 {! R4 e( r UF_DISP_set_highlight(mirror, FALSE);
N4 ]) G# ~% O7 }" y }
5 O5 s9 Y( @; a8 G8 f. {8 { UF_free(feat_type);
# h, M, a6 B3 m1 u$ P' r }
( |* ?# b6 z- \
& Z8 M% n2 t' r4 n O3 m if (n_feats > 0) UF_free(feats);
" h0 @2 \( {5 w6 ~5 a) c}
/ Q3 @+ V, u- B3 g5 I
( R( @7 P% P U# V! F' V |
|