|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 s5 X7 V2 g& w; T, |) |4 ^' w. u/ t8 Y: g0 W; l
NX二次开发源码分享: 高亮镜像Wave linked的面
! w( T8 }1 u: T& D4 T. _2 L8 w ^- a! B; G5 O: F( ] J4 ?
static void highlight_mirrored_face(tag_t face)+ ]# D; h, [8 ]! K- J+ J) f. W
{
+ v" T- k1 Z& ~2 z& ^! c6 T7 b int
4 N" t- }/ b4 x7 p3 b ii,
' l, ?9 V' ^; e jj,$ } [, B$ h: q1 W2 _3 {
n_feats,
* O2 i9 s4 G) U" S& A# ~ n_items;
' }) ^ y/ J. e6 a% s' z char
7 _, n/ u3 h. w6 _4 B* k *feat_type;3 K1 h* U" l+ I: |
tag_t/ f$ [, G# z3 z3 M0 g9 u& Y
*feats,. U" l$ J" c4 e) r
mirror,
+ M) }# v! N! {; ?# R *results,
) X1 h4 h! e6 J6 D& W. G *sources;0 _* @1 i- b) Z, I" ~) [ x
$ d1 y6 W. W- Z g4 \+ l n_feats = ask_face_feats(face, &feats);1 k4 C0 C$ N+ m* ?
$ \/ ~3 S0 S: S* F* I
for (ii = 0; ii < n_feats; ii++)
2 |% }4 e" _0 W+ d {* G6 R$ t5 v/ n" _& x. _) [3 @: N/ U
UF_CALL(UF_MODL_ask_feat_type(feats[ii], &feat_type));2 T, G6 r/ {6 [$ H
if ((!strcmp(feat_type, "MIRROR")) &&
: L$ g& t% B$ q# d h ! UF_CALL(UF_WAVE_map_link_geom_to_source(feats[ii], face, TRUE,) T- z) t1 j/ ?+ ?6 U
&mirror)))9 v$ a9 |. g8 w# c: j4 `/ C+ b
{
; X& p8 [) G7 t' g2 f. V- I: b4 y) W! g) d! g% }2 s' H1 F/ s
/* Begin work around to PR 4244233 */
R x/ a3 [; Y8 m4 ` if (mirror == NULL_TAG)1 U1 F7 m. O+ R* b
{
- @ f9 _/ k% Q5 v- U UF_CALL(UF_WAVE_ask_linked_feature_map(feats[ii], TRUE,$ F% _/ N- ?; b3 H: D0 V# H) A
&n_items, &sources, &results));
% p" z9 C- h5 |. y' A for (jj = 0; jj < n_items; jj++)$ g& `2 y2 R3 @+ m& L5 Q0 V' z; W
{, ^5 T- j4 X9 t9 [! r
if (results[jj] == face)6 ?0 H9 j& p2 s
{% f0 Q8 z6 g& V2 G' h
mirror = sources[jj];/ @5 x. K$ p+ T
break;
/ l7 o. A/ k7 g" C1 f. J9 h }# X; {: U7 T7 |: L
}
( v4 |3 _6 j7 V y3 @) U7 n2 c if (n_items > 0)
, P* z+ e7 }8 H# Z/ V- ~0 T {
- v( O6 O9 |; R: s( q, C UF_free(sources);/ G! f$ F4 k+ g/ u+ _/ R* C4 x# v
UF_free(results);
0 X6 m" h( s6 F- D" ]* M* T6 K }5 V4 K B( c8 N
}
! S) Q) i- K. G4 g4 l9 U( n /* End work around to PR 4244233 */
1 F+ m' O$ ?) c, T' Q; C
8 b. J* t$ a6 D. q) I1 O* T UF_DISP_set_highlight(face, TRUE);8 S- g2 P2 P i4 J
UF_DISP_set_highlight(mirror, TRUE);# D" e. Y* n& i2 w8 g% ^1 `
uc1601("Mirrored face highlighted", TRUE);
# B5 C4 i, k4 R! i# G- i UF_DISP_set_highlight(face, FALSE);
; I, T+ M/ L' z7 ^/ j; Z0 y7 @8 V UF_DISP_set_highlight(mirror, FALSE);! l( y" K' c- x8 |8 J4 g
}% U4 ?5 W0 m" s* }4 n" |/ a5 u! C$ V/ ^
UF_free(feat_type);$ A2 `3 f! P2 E7 X
}
/ e, T T: w8 I% U* W' d) S
6 T2 H) k/ @2 d. p) f if (n_feats > 0) UF_free(feats);7 t) O2 ~3 N1 S9 o6 K. J$ n
}/ B$ g8 M- d" {% p# ^) t9 I
( F# f/ s* G- b$ ~9 X |
|